rdmc.conformer_generation.generators#
Modules for conformer generation workflows
- class rdmc.conformer_generation.generators.ConformerGenerator(smiles: str, multiplicity: int | None = None, optimizer: ConfGenOptimizer | None = None, pruner: ConfGenPruner | None = None, verifiers: Verifier | List[Verifier] | None = None, sampler: TorisonalSampler | None = None, final_modules: ConfGenOptimizer | Verifier | None = None, save_dir: str | None = None)#
Bases:
objectA module for conformer generation. The workflow follows an embed -> optimize -> prune cycle with custom stopping criteria. Additional final modules can be added at the user’s discretion.
- Parameters:
smiles (str) – SMILES input for which to generate conformers.
multiplicity (int, optional) – The spin multiplicity of the species. Defaults to
None, which will be interpreted from molecule generated by the smiles.optimizer (ConfGenOptimizer, optional) – Instance of a
ConfGenOptimizer. Available options areXTBOptimizer,GaussianOptimizer, andMMFFOptimizer.pruner (ConfGenPruner, optional) – Instance of a
ConfGenPruner. Available options areCRESTPrunerandTorsionPruner.verifiers (Verifier, optional) – Instance of a
Verifier. Available option isXTBFrequencyVerifier.sampler (TorsionalSampler, optional) – Instance of a
TorsionalSampler.final_modules (list) – List of instances of optimizer/pruner to run after initial cycles complete.
save_dir (str or Pathlike object, optional) – The path to save the intermediate files and outputs generated during the generation.
- embed_stable_species(smiles: str, n_conformers: int = 20) RDKitMol#
Embed the well conformer according to the SMILES provided.
- Parameters:
smiles (str) – The well conformer SMILES.
n_conformers (int, optional) – The maximum number of conformers to be generated. Defaults to
20.
- Returns:
An RDKitMol of the well conformer with 3D geometry embedded.
- set_filter(mol: RDKitMol, n_conformers: int) list#
Assign the indices of conformers to track whether the conformers are passed to the following steps.
- Parameters:
mol ('RDKitMol') – The stable species in RDKitMol object with 3D geometries embedded.
n_conformers (int) – The maximum number of conformers to be passed to the following steps.
- Returns:
RDKitMol – with
KeepIDsas a list ofTrueandFalseindicating whether a conformer passes the check.
- class rdmc.conformer_generation.generators.StochasticConformerGenerator(smiles, embedder: ConfGenEmbedder | None = None, optimizer: ConfGenOptimizer | None = None, estimator: Estimator | None = None, pruner: ConfGenPruner | None = None, metric: SCGMetric | None = None, min_iters: int | None = None, max_iters: int | None = None, final_modules: list | None = None, config: dict | None = None, track_stats: bool = False)#
Bases:
objectA module for stochastic conformer generation. The workflow follows an embed -> optimize -> prune cycle with custom stopping criteria. Additional final modules can be added at the user’s discretion.
- Parameters:
smiles (str) – SMILES input for which to generate conformers.
embedder (ConfGenEmbedder, optional) – Instance of a
ConfGenEmbedder. Available options areETKDGEmbedder,GeoMolEmbedder, andRandomEmbedder.optimizer (ConfGenOptimizer, optional) – Instance of a
ConfGenOptimizer. Available options areXTBOptimizer,GaussianOptimizer, andMMFFOptimizer.estimator (Estimator, optional) – Instance of an
Estimator. Available option isConfSolv.pruner (ConfGenPruner, optional) – Instance of a
ConfGenPruner. Available options areCRESTPrunerandTorsionPruner.metric (SCGMetric, optional) – The available option is SCGMetric <rdmc.conformer_generation.metrics.SCGMetric>.
min_iters (int, optional) – Minimum number of iterations for which to run the module.
(int (max_iters) – Maximum number of iterations for which to run the module.
optional} – Maximum number of iterations for which to run the module.
final_modules (list) – List of instances of optimizer/pruner to run after initial cycles complete.
- set_config(config: str, embedder: ConfGenEmbedder | None = None, optimizer: ConfGenOptimizer | None = None, pruner: ConfGenPruner | None = None, metric: SCGMetric | None = None, min_iters: int | None = None, max_iters: int | None = None, final_modules: list | None = None)#
Set the configuration for the conformer generator with pre-defined options:
"loose"and"normal".- Parameters:
embedder (ConfGenEmbedder, optional) – Instance of a
ConfGenEmbedder. Available options areETKDGEmbedder,GeoMolEmbedder, andRandomEmbedder. Defaults toETKDGEmbedder.optimizer (ConfGenOptimizer, optional) – Instance of a
ConfGenOptimizer. Available options areXTBOptimizer,GaussianOptimizer, andMMFFOptimizer. Defaults toXTBOptimizerwith"gff"method.pruner (ConfGenPruner, optional) – Instance of a
ConfGenPruner. Available options areCRESTPrunerandTorsionPruner. By default,"loose"utilizesTorsionPrunerwithmean_chk_threshold=20andmax_chk_threshold=30, and"normal"utilizesCRESTPruner.metric (SCGMetric, optional) – The available option is SCGMetric <rdmc.conformer_generation.metrics.SCGMetric>. By default, both modes use
"entropy"metric, while"loose"withwindow=3andthreshold=0.05, and"normal"withwindow=5andthreshold=0.01.min_iters (int, optional) – Minimum number of iterations for which to run the module. Defaults to
3for"loose"and5for"normal".(int (max_iters) – Maximum number of iterations for which to run the module. Defaults to
20for"loose"and100for"normal".optional} – Maximum number of iterations for which to run the module. Defaults to
20for"loose"and100for"normal".final_modules (list) – List of instances of optimizer/pruner to run after initial cycles complete. By default, no final modules are used for
"loose". For"normal", twoCRESTPrunerwithewin=12andewin=6, are introduced before and after aXTBOptimizerwith"gfn2"method and"vtight"level.