Ensemble Generation
Generate an initial conformer ensemble for a molecular structure.
from atomiverse import Atoms, EnsembleGeneration
atoms = Atoms.from_smiles("CCO")
job = EnsembleGeneration(
atoms=atoms,
charge=0,
multiplicity=1,
)
job.submit()
result = job.require_result()
for conformer in result.conformers:
print(conformer.rank, conformer.energy)
Inputs
atoms is the input structure.
charge and multiplicity describe the total charge and spin multiplicity.
mode controls the search:
ConformerMode.STANDARDruns a fast conformer generator.ConformerMode.TIGHTruns a tighter GFN-FF conformer search.
is_transition_state=True switches to transition-state conformer generation.
Transition-state jobs require active_atoms.
solvation is supported only in tight mode and must use ALPB.
from atomiverse import (
ConformerMode,
EnsembleGeneration,
ImplicitSolvation,
SolvationMethod,
)
job = EnsembleGeneration(
atoms=atoms,
charge=0,
multiplicity=1,
mode=ConformerMode.TIGHT,
solvation=ImplicitSolvation(
method=SolvationMethod.ALPB,
solvent="water",
),
)
Transition-State Ensembles
job = EnsembleGeneration(
atoms=ts_guess,
charge=0,
multiplicity=1,
mode=ConformerMode.STANDARD,
is_transition_state=True,
active_atoms=[1, 4, 7],
)
active_atoms uses zero-based atom indices from the input structure.
Results
result.conformers is an ordered list. Each conformer contains:
atoms: the conformer geometryenergy: an optional conformer energyrank: the one-based rank in the returned ensemble
Completed ensembles are cached by canonical chemistry identity, charge, multiplicity, mode, transition-state settings, and solvation.