schrodinger.seam.yaml.transforms module¶
- class schrodinger.seam.yaml.transforms.GlideDock(grid_file: str, reference_ligand_file: str, glide_in_file: str, structure_field: str = 'structure', poses_per_lig: int = 1)¶
Bases:
PTransform
Generate 3d docked poses from a collection of structures using Glide.
Example usage:
type: GlideDock config: structure_field: "structure" grid_file: "foo.grid" reference_ligand_file: "reference_ligand.maegz" glide_in_file: "settings.in" poses_per_lig: 1
- __init__(grid_file: str, reference_ligand_file: str, glide_in_file: str, structure_field: str = 'structure', poses_per_lig: int = 1)¶
- expand(pcoll)¶
- class schrodinger.seam.yaml.transforms.QikProp(arg_string: str)¶
Bases:
PTransform
Perform QikProp.
Example usage:
type: QikProp config: arg_string: "TODO" input_field: "structure"
- Args:
arg_string: (optional) The qikprop argstring to use.
- __init__(arg_string: str)¶
- expand(pcoll: PCollection)¶
- class schrodinger.seam.yaml.transforms.LigFilter(label: Optional[str] = None)¶
Bases:
PTransform
Filter ligands based on a series of criteria
Example usage:
type: LigFilter config: ligfilter_file: ligfilter.txt input_field: "structure"
- Args:
ligfilter_file: The ligfilter file to use. input_field: The field to filter.
- class schrodinger.seam.yaml.transforms.AlignLigands(label: Optional[str] = None)¶
Bases:
PTransform
Align ligands.
Example usage:
type: AlignLigands config: arg_string: "TODO" method_type: FLEX/TUG/DEFAULT input_field: "structure" output_field: "aligned_structure"
- class schrodinger.seam.yaml.transforms.FlexAlignLigands(label: Optional[str] = None)¶
Bases:
PTransform
Flex align ligands.
Example usage:
type: FlexAlignLigands config: arg_string: "TODO" input_field: "structure" output_field: "aligned_structure"
- class schrodinger.seam.yaml.transforms.TugAlignLigands(label: Optional[str] = None)¶
Bases:
PTransform
Tug align ligands.
Example usage:
type: TugAlignLigands config: arg_string: "TODO" receptor_file: "receptor.maegz" input_field: "structure" output_field: "aligned_structure"
- class schrodinger.seam.yaml.transforms.EpikClassicProtonateLigands(label: Optional[str] = None)¶
Bases:
PTransform
Enumerate protonation states of ligands using Epik classic.
Example usage:
type: EpikClassicProtonateLigands config: arg_string: "TODO" epik_classic_infile: "epik_classic.in" input_field: "structure" output_field: "protonated_structure"
- class schrodinger.seam.yaml.transforms.EpikProtonateLigands(label: Optional[str] = None)¶
Bases:
PTransform
Enumerate protonation states of ligands using Epik.
Example usage:
type: EpikProtonateLigands config: arg_string: "TODO" mode: #TODO input_field: "structure" output_field: "protonated_structure"
- class schrodinger.seam.yaml.transforms.LigPrep(arg_string: str = '-nt -epik -s 32', input_field: str = 'structure', output_field: str = 'structure')¶
Bases:
PTransform
Perform LigPrep on a collection of molecules.
LigPrep works by expanding tautomeric and ionization states, ring conformations, and stereoisomers consistent with the input information to fully capture the relevant states of the molecule in 3D.
Example usage:
type: LigPrep config: arg_string: "-nt -epik -s 32"
- Args:
- arg_string: (optional) The ligprep argstring to use. Defaults to
"-nt -epik -s 32"
. - <details>
<summary>LigPrep Args</summary>
- <code style=”display:block; white-space:pre-wrap”>
- Ionization:
- -epik
Use Epik Classic for ionization and tautomerization (Recommended, overrides -i).
- -epikx
Use Epik for ionization and tautomerization (Recommended, overrides -i).
- -emb, -epik_metal_binding
Run Epik with the metal_binding option so that states appropriate for interactions with metal ions in protein binding pockets are also generated.
- -i {0,1,2} Ionization treatment: 0 - do not neutralize or ionize,
1 - neutralize only, 2 - neutralize and ionize (Default: 1). Note that -epik option overrides -i and always implies ionization and tautomerization.
- -mg <number> Ionizer will skip over structures containing more than
this number of ionizable groups (Default: 10).
- -no_refine
Disable the final refinement in EpikX.
- -ph <number> Effective/target pH. (default = 7.0 for Ionizer/Epik
Classic, 7.4 for Epik)
-pht <number> pH tolerance for generated structures.
- Tautomerization:
- -nt
Disable tautomerizer (Default: enabled).
- -t # Run tautomerizer and set the maximum number of
tautomers to generate to # (Default: 8).
- -tp # Run tautomerizer and set the minimum probability for
retaining tautomers to # (Default: 0.01).
- Stereoisomers:
- -ac
Do not respect existing chirality properties and do not respect chiralities from the input geometry. Generate stereoisomers for all chiral centers up to the number permitted (specified using the -s option). This is equivalent to “Generate all combinations” in the Ligand Preparation user interface. Default behavior is to respect only explicitly indicated chiralities.
- -g
Respect chiralities from input geometry when generating stereoisomers.
- -ns
Do not use the stereoizer.
- -s # Generate up to this many (#) stereoisomers per input
structure. (Default: 32).
- -strict_v2000_stereo
For SD V2000 input, generate enantiomers if the chiral flag is 0.
- Filtering:
- -ng
Disable filtering out of exotic structures.
- -lp
Pass -addprops to LigFilter.
- -lab
Add an internal tracking label to the processed structures.
- -lab_filter <options>
Use tracking labels to filter derived structures (this option turns on -lab). Currently supported: ionizer:# - select at most # output structures for each ionizer input structure such that the formal charge on each ionizable groups is minimized.
- Force-field based geometry optimization:
- -bff {14,16} Force-field to be used for the final geometry
optimization. Default: 14 (OPLS_2005). For S-OPLS specify 16.
- -bvac
Set dielectric constant to 1.0 for the final force- field based geometry optimization.
- -cgx_noopt
Skip final force-field based geometry optimization.
- -no_cm1a
Skip CM1A charge assignment for S-OPLS.
- -L <path>
CGX fragment library path. Overrides default location in the appdata directory if specified.
- Meta options: (turn on a number of actual options)
-unt : Only run stereoizer and cgx to untangle structures. -adjust <itc> : Adjust to a suitable state. -vary <itc> : Generate different states. -expand <itc> : Aggressively generate different states. -retain <itc> : Retain characteristics of the input structures
(specifying ‘i’ also turns on retention of tautomers).
- <itc> specify one or more of:
c chiralities i ionization and neutralization t tautomerization
</code>
</details>
- input_field: (optional) The field to use as input. Must be a
Structure
field. Defaults to
structure
.- output_field: (optional) The field to save the ligprepped structure to.
If it’s the same as
input_field
, the input field will be replaced. Defaults tostructure
.
- arg_string: (optional) The ligprep argstring to use. Defaults to
- __init__(arg_string: str = '-nt -epik -s 32', input_field: str = 'structure', output_field: str = 'structure')¶
- expand(pcoll: PCollection)¶
- class schrodinger.seam.yaml.transforms.SmilesToMol(input_field: str = 'smiles', output_field: str = 'mol')¶
Bases:
PTransform
Convert a collection of SMILES strings to rdkit Mols
Example usage:
type: SmilesToMol config: input_field: "smiles" output_field: "mol"
- __init__(input_field: str = 'smiles', output_field: str = 'mol')¶
- expand(pcoll: PCollection)¶
- class schrodinger.seam.yaml.transforms.SmilesToStructure(input_field: str = 'smiles', output_field: str = 'structure')¶
Bases:
PTransform
Convert a collection of SMILES strings to schrodinger Structure objects
Example usage:
type: SmilesToStructure config: input_field: "smiles" output_field: "structure"
- __init__(input_field: str = 'smiles', output_field: str = 'structure')¶
- expand(pcoll: PCollection)¶
- class schrodinger.seam.yaml.transforms.MolToSmiles(input_field: str = 'mol', output_field: str = 'smiles')¶
Bases:
PTransform
Convert a collection of rdkit Mols to SMILES strings
Example usage:
type: MolToSmiles config: input_field: "mol" output_field: "smiles"
- __init__(input_field: str = 'mol', output_field: str = 'smiles')¶
- expand(pcoll: PCollection)¶
- class schrodinger.seam.yaml.transforms.MolToStructure(input_field: str = 'mol', output_field: str = 'structure')¶
Bases:
PTransform
Convert a collection of rdkit Mols to schrodinger Structure objects
Example usage:
type: MolToStructure config: input_field: "mol" output_field: "structure"
- __init__(input_field: str = 'mol', output_field: str = 'structure')¶
- expand(pcoll: PCollection)¶
- class schrodinger.seam.yaml.transforms.StructureToMol(input_field: str = 'structure', output_field: str = 'mol')¶
Bases:
PTransform
Convert a collection of schrodinger Structure objects to rdkit Mols
Example usage:
type: StructureToMol config: input_field: "structure" output_field: "mol"
- __init__(input_field: str = 'structure', output_field: str = 'mol')¶
- expand(pcoll: PCollection)¶
- class schrodinger.seam.yaml.transforms.CreateMols(mol_field: str = 'mol', smiles_field: str = 'smiles', elements: Iterable[Any] = None)¶
Bases:
PTransform
Create a collection of rdkit Mols from a collection of SMILES strings or dictionaries containing SMILES strings.
Example usage:
type: CreateMols config: mol_field: "mol" elements: - "CC(=O)C1=CC=C(C=C1)C(=O)O" - "Cn1cnc2c1c(=O)n(C)c(=O)n2C" - "CC(C)[C@H]1CCC(C)CC1O" or type: CreateMols config: smiles_field: "smiles" mol_field: "mol" elements: - smiles: "CC(=O)C1=CC=C(C=C1)C(=O)O" name: "Aspirin" - smiles: "Cn1cnc2c1c(=O)n(C)c(=O)n2C" name: "Caffeine"
- __init__(mol_field: str = 'mol', smiles_field: str = 'smiles', elements: Iterable[Any] = None)¶
- expand(pbegin: PBegin)¶
- class schrodinger.seam.yaml.transforms.CreateStructures(structure_field: str = 'structure', smiles_field: str = 'smiles', elements: Iterable[Any] = None)¶
Bases:
PTransform
Create a collection of schrodinger Structure objects from a collection of SMILES strings or dictionaries containing SMILES strings.
Example usage:
type: CreateStructures config: structure_field: "structure" elements: - "CC(=O)C1=CC=C(C=C1)C(=O)O" - "Cn1cnc2c1c(=O)n(C)c(=O)n2C" - "CC(C)[C@H]1CCC(C)CC1O" or type: CreateStructures config: smiles_field: "smiles" structure_field: "structure" elements: - smiles: "CC(=O)C1=CC=C(C=C1)C(=O)O" name: "Aspirin" - smiles: "Cn1cnc2c1c(=O)n(C)c(=O)n2C" name: "Caffeine"
- __init__(structure_field: str = 'structure', smiles_field: str = 'smiles', elements: Iterable[Any] = None)¶
- expand(pbegin: PBegin)¶
- class schrodinger.seam.yaml.transforms.ReadStructuresFromFile(input_file: str)¶
Bases:
PTransform
Read a collection of schrodinger Structure objects from a file (or files).
Example usage:
type: ReadStructuresFromFile config: input_file: "ligands.maegz"
- __init__(input_file: str)¶
- expand(pbegin: PBegin)¶
- class schrodinger.seam.yaml.transforms.WriteStructuresToFile(output_file: str)¶
Bases:
PTransform
Write a collection of schrodinger Structure objects to a file.
The transform expects input pcollection to contain schemad rows with field named
structure
containing schrodinger.Structure objects.Example usage:
type: WriteStructuresToFile config: output_file: "ligands.maegz"
- __init__(output_file: str)¶
- expand(pcoll: PCollection)¶
- class schrodinger.seam.yaml.transforms.ReadMolsFromFile(input_file: str, silent: bool = False)¶
Bases:
PTransform
Read a collection of rdkit Mols from a file (or files) containing a newline separated list of SMILES strings.
Invalid SMILES strings are skipped. A warning is printed if silent is set to False.
Example usage:
type: ReadMolsFromFile config: input_file: "ligands.smi"
- __init__(input_file: str, silent: bool = False)¶
- expand(pbegin: PBegin)¶
- class schrodinger.seam.yaml.transforms.WriteMolsToFile(output_file: str)¶
Bases:
PTransform
Write a collection of rdkit Mols to a file.
The transform expects input pcollection to contain schemad rows with field named
mol
containing rdkit Mol objects.Example usage:
type: WriteMolsToFile config: output_file: "ligands.smi"
- __init__(output_file: str)¶
- expand(pcoll: PCollection)¶
- class schrodinger.seam.yaml.transforms.PrettyPrintJson(expand: bool = False)¶
Bases:
PTransform
Pretty-print Beam Rows as JSON strings.
- The
expand
configuration option controls the formatting:
Example usage:
type: PrettyPrintJson config: expand: true
- __init__(expand: bool = False)¶
- expand(pcoll: PCollection)¶
- The
- class schrodinger.seam.yaml.transforms.ReadFromPDB(pdb_codes: list[str], preserve_caps: bool = False)¶
Bases:
PTransform
Read a collection of [PDB](https://www.rcsb.org/) structures from a list of PDB codes. Returns a Beam PCollection of Rows with the PDB code and its structure.
Example usage:
type: ReadFromPDB config: pdb_codes: - "1A2B" - "3C4D" preserve_caps: false
- __init__(pdb_codes: list[str], preserve_caps: bool = False)¶
- expand(pbegin: PBegin)¶