Auto3D.isomers.IsomerEngineFactory

class Auto3D.isomers.IsomerEngineFactory

Bases: object

Factory class for creating isomer engine adapters.

This class follows the same pattern as ModelFactory, providing a unified interface for creating different isomer engine implementations.

Example

>>> engine = IsomerEngineFactory.create(
...     "rdkit",
...     input_path="input.smi",
...     output_path="output.sdf",
...     smiles_enumerated="enum.smi",
...     job_dir="/path/to/job",
... )
>>> output = engine.run()
__init__()

Methods

__init__()

available_engines()

Return list of available engine types.

create(engine_type, input_path, output_path, *)

Create an isomer engine adapter.

classmethod available_engines() list[str]

Return list of available engine types.

Returns:

List of supported engine type names.

classmethod create(engine_type: str, input_path: str, output_path: str, *, input_format: str = 'smi', smiles_enumerated: str = '', smiles_reduced: str = '', smiles_hashed: str = '', job_dir: str = '', max_confs: int | None = None, threshold: float = 0.3, n_jobs: int = 4, enumerate_isomers: bool = True, mode: str = 'classic', use_parallel_embedding: bool = False, parallel_embedding_threshold: int = 10, parallel_workers: int = 4) BaseIsomerEngine

Create an isomer engine adapter.

Parameters:
  • engine_type – Engine type (‘rdkit’, ‘rdkit_sdf’, or ‘omega’).

  • input_path – Path to input file.

  • output_path – Path for output SDF file.

  • input_format – Input format (‘smi’ or ‘sdf’). Used for auto-selection of rdkit vs rdkit_sdf when engine_type is ‘rdkit’.

  • smiles_enumerated – Path for enumerated SMILES (rdkit/omega).

  • smiles_reduced – Path for reduced SMILES (rdkit/omega).

  • smiles_hashed – Path for hashed SMILES (rdkit/omega).

  • job_dir – Working directory (rdkit only).

  • max_confs – Maximum conformers per molecule.

  • threshold – RMSD threshold for duplicate removal.

  • n_jobs – Number of parallel jobs.

  • enumerate_isomers – Whether to enumerate stereoisomers.

  • mode – Omega mode (‘classic’, ‘macrocycle’, etc.) for omega engine.

  • use_parallel_embedding – Use parallel conformer embedding (rdkit only).

  • parallel_embedding_threshold – Minimum molecules for parallel embedding.

  • parallel_workers – Number of worker processes for parallel embedding.

Returns:

Configured isomer engine adapter instance.

Raises:

ValueError – If engine_type is not recognized.