Skip to content

Overview

Workflows comprise common operations for chemical exploration and discovery. Each workflows encodes "best practice" for a particular task while also containing flexibility in options and multiple failover routines for robustness.

Workflows allow individual computations with arbitrary dependencies to be executed efficiently on available compute resources through a simple interface.

Examples

Conformer generation workflow

import sierra
from sierra.inputs import *

# Generate conformers for butane molecule from a SMILES string
conformers = ConformersInput(smiles="CCCC")

result = sierra.run(conformers)

for num, x in enumerate(result.conformers):
    print(f"Conformer {num} energy: {result.energies[num]:.6f} Hartree")
    #> Conformer 0 energy: -13.866303 Hartree
    #> Conformer 1 energy: -13.865710 Hartree
    #> Conformer 2 energy: -13.865710 Hartree
    #> Conformer 3 energy: -13.862692 Hartree

Bond Dissociation Energy workflow

import sierra
from sierra.inputs import *

mol = Molecule(smiles="C(Cl)(F)")
bde_inp = BondDissociationEnergyInput(
    molecule=mol, energy_method=XTBMethod(model="GFN1")
)

result = sierra.run(bde_inp)

print("Bond dissociation energies:")
#> Bond dissociation energies:
print(result.dissociation_energies)
"""
{
    1: 0.1797409478040315,
    2: 0.23447552219748502,
    3: 0.2205687646961394,
    4: 0.22056839535150274,
}
"""