Auto3D.isomers.IsomerEngineFactory
- class Auto3D.isomers.IsomerEngineFactory
Bases:
objectFactory 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__()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.