schrodinger.application.steps.enumerators module

class schrodinger.application.steps.enumerators.SmilesTransformPair(*args, _param_type=<object object>, **kwargs)

Bases: schrodinger.models.parameters.CompoundParam

smi: str

A parameter of the class.

transform_file: schrodinger.stepper.stepper.StepperFile

A parameter of the class.

smiChanged

A pyqtSignal emitted by instances of the class.

smiReplaced

A pyqtSignal emitted by instances of the class.

transform_fileChanged

A pyqtSignal emitted by instances of the class.

transform_fileReplaced

A pyqtSignal emitted by instances of the class.

class schrodinger.application.steps.enumerators.SmilesTransformPairer(settings=None, config=None, step_id=None, metrics_logger_depth=None, _run_info=None, **kwargs)

Bases: schrodinger.application.steps.dataclasses.MolInMixin, schrodinger.stepper.stepper.UnbatchedReduceStep

For backwards compatibility, this step only implements the validation.

Output

alias of schrodinger.application.steps.enumerators.SmilesTransformPair

class Settings(*args, _param_type=<object object>, **kwargs)

Bases: schrodinger.models.parameters.CompoundParam

transform_folders: List[schrodinger.stepper.stepper.StepperFolder]

A parameter of the class.

transform_foldersChanged

A pyqtSignal emitted by instances of the class.

transform_foldersReplaced

A pyqtSignal emitted by instances of the class.

validateSettings()

Check whether the step settings are valid and return a list of SettingsError and SettingsWarning to report any invalid settings. Default implementation checks that all stepper files are set to valid file paths.

Return type

list[TaskError or TaskWarning]

reduceFunction(mols)
class schrodinger.application.steps.enumerators.TransformApplyer(*args, **kwargs)

Bases: schrodinger.application.steps.dataclasses.MolOutMixin, schrodinger.stepper.stepper.MapStep

Only for being able to create workflows with the TransformApplyer step, but it will raise an error if it is actually used.

Input

alias of schrodinger.application.steps.enumerators.SmilesTransformPair

mapFunction(smiles_transform_pair)

The main computation for this step. This function should take in a single input item and return an iterable of outputs. This allows a single output to produce multiple ouputs (e.g. enumeration).

The output may be yielded as a generator, in order to reduce memory usage.

If only a single output is produced for each input, return it as a single-element list.

Parameters

input

this will be a single input item from the input source. Implementer is encouraged to use a more descriptive, context- specific variable name. Example:

def mapFunction(self, starting_smiles):

class schrodinger.application.steps.enumerators.Synthesizer(*args, **kwargs)

Bases: schrodinger.application.steps.dataclasses.MolMolMixin, schrodinger.stepper.stepper.Chain

Enumerates unique sanitized molecules from a combinatorial synthesis using routes based on the input molecules using the default reaction dictionary and reagent library.

If the maximum number of products is less than the total number of combinations the route synthesis will be done by random sampling, which may yield fewer products than requested. Otherwise a systematic set of unique products will be yielded.

The settings contain:

  • core_smarts: the SMARTS that the products should have and needs to be part of the input molecule.

  • depth: the maximum depth of the retrosynthetic routes to use.

  • reagent_lib: an optional directory to prepend to the standard reagent library search path

  • max_products: the maximum number of products try to synthesize for each input molecule per route. Use 0 to force an exhaustive synthesis.

  • seed: seed for random number generator. If None, the random number generator will not be seeded.

  • yield_input: whether the input molecule should be returned first

class Settings(*args, _param_type=<object object>, **kwargs)

Bases: schrodinger.models.parameters.CompoundParam

core_smarts: str

A parameter of the class.

depth: int

A parameter of the class.

reagent_lib: schrodinger.stepper.stepper.StepperFolder

A parameter of the class.

max_products: int

A parameter of the class.

seed: int

A parameter of the class.

yield_input: bool

A parameter of the class.

deduplicate_routes: bool

A parameter of the class.

core_smartsChanged

A pyqtSignal emitted by instances of the class.

core_smartsReplaced

A pyqtSignal emitted by instances of the class.

deduplicate_routesChanged

A pyqtSignal emitted by instances of the class.

deduplicate_routesReplaced

A pyqtSignal emitted by instances of the class.

depthChanged

A pyqtSignal emitted by instances of the class.

depthReplaced

A pyqtSignal emitted by instances of the class.

max_productsChanged

A pyqtSignal emitted by instances of the class.

max_productsReplaced

A pyqtSignal emitted by instances of the class.

reagent_libChanged

A pyqtSignal emitted by instances of the class.

reagent_libReplaced

A pyqtSignal emitted by instances of the class.

seedChanged

A pyqtSignal emitted by instances of the class.

seedReplaced

A pyqtSignal emitted by instances of the class.

yield_inputChanged

A pyqtSignal emitted by instances of the class.

yield_inputReplaced

A pyqtSignal emitted by instances of the class.

buildChain()

This method must be implemented by subclasses to build the chain. The chain is built by modifying self.steps. The chain’s composition may be dependent on self.settings.

class schrodinger.application.steps.enumerators.RouteSerializer

Bases: schrodinger.stepper.stepper.Serializer

A serializer for RouteNodes

DataType

alias of schrodinger.application.pathfinder.route.RouteNode

toString(route: schrodinger.application.pathfinder.route.RouteNode) str
fromString(route_str: str) schrodinger.application.pathfinder.route.RouteNode
class schrodinger.application.steps.enumerators.RouteDeduplicator(*args, **kwargs)

Bases: schrodinger.stepper.stepper.ReduceStep

Input

alias of schrodinger.application.pathfinder.route.RouteNode

Output

alias of schrodinger.application.pathfinder.route.RouteNode

InputSerializer

alias of schrodinger.application.steps.enumerators.RouteSerializer

OutputSerializer

alias of schrodinger.application.steps.enumerators.RouteSerializer

setUp()

Hook for adding any type of work that needs to happen before any outputs are created.

reduceFunction(routes)

The main computation for this step. This function should take in a iterable of inputs and return an iterable of outputs.

Example:

def reduceFunction(self, words):
    # Find all unique words
    seen_words = set()
    for word in words:
        if word not in seen_words:
            seen_words.add(word)
            yield word
class schrodinger.application.steps.enumerators.RouteEnumerator(*args, **kwargs)

Bases: schrodinger.application.steps.basesteps.LoggerMixin, schrodinger.application.steps.dataclasses.MolInMixin, schrodinger.stepper.stepper.MapStep

Mol -> (RouteEnumerator) -> RouteNode

Takes a Mol and enumerates the retrosynthetic routes that can produce it.

Output

alias of schrodinger.application.pathfinder.route.RouteNode

OutputSerializer

alias of schrodinger.application.steps.enumerators.RouteSerializer

class Settings(*args, _param_type=<object object>, **kwargs)

Bases: schrodinger.models.parameters.CompoundParam

core_smarts: str

A parameter of the class.

depth: int

A parameter of the class.

core_smartsChanged

A pyqtSignal emitted by instances of the class.

core_smartsReplaced

A pyqtSignal emitted by instances of the class.

depthChanged

A pyqtSignal emitted by instances of the class.

depthReplaced

A pyqtSignal emitted by instances of the class.

validateSettings()

Check whether the step settings are valid and return a list of SettingsError and SettingsWarning to report any invalid settings. Default implementation checks that all stepper files are set to valid file paths.

Return type

list[TaskError or TaskWarning]

setUp()

Hook for adding any type of work that needs to happen before any outputs are created.

cleanUp()

Hook for adding any type of work that needs to happen after all outputs are exhausted or if some outputs are created and the step is destroyed.

mapFunction(mol)

The main computation for this step. This function should take in a single input item and return an iterable of outputs. This allows a single output to produce multiple ouputs (e.g. enumeration).

The output may be yielded as a generator, in order to reduce memory usage.

If only a single output is produced for each input, return it as a single-element list.

Parameters

input

this will be a single input item from the input source. Implementer is encouraged to use a more descriptive, context- specific variable name. Example:

def mapFunction(self, starting_smiles):

class schrodinger.application.steps.enumerators.RouteEvaluator(*args, **kwargs)

Bases: schrodinger.application.steps.dataclasses.MolOutMixin, schrodinger.stepper.stepper.MapStep

RouteNode -> (RouteEvaluator) -> Mol

Takes a route and produces all products from it.

InputSerializer

alias of schrodinger.application.steps.enumerators.RouteSerializer

Input

alias of schrodinger.application.pathfinder.route.RouteNode

class Settings(*args, _param_type=<object object>, **kwargs)

Bases: schrodinger.models.parameters.CompoundParam

max_products: int

A parameter of the class.

seed: int

A parameter of the class.

reagent_lib: schrodinger.stepper.stepper.StepperFolder

A parameter of the class.

max_productsChanged

A pyqtSignal emitted by instances of the class.

max_productsReplaced

A pyqtSignal emitted by instances of the class.

reagent_libChanged

A pyqtSignal emitted by instances of the class.

reagent_libReplaced

A pyqtSignal emitted by instances of the class.

seedChanged

A pyqtSignal emitted by instances of the class.

seedReplaced

A pyqtSignal emitted by instances of the class.

validateSettings()

Check whether the step settings are valid and return a list of SettingsError and SettingsWarning to report any invalid settings. Default implementation checks that all stepper files are set to valid file paths.

Return type

list[TaskError or TaskWarning]

setUp()

Hook for adding any type of work that needs to happen before any outputs are created.

mapFunction(route)

The main computation for this step. This function should take in a single input item and return an iterable of outputs. This allows a single output to produce multiple ouputs (e.g. enumeration).

The output may be yielded as a generator, in order to reduce memory usage.

If only a single output is produced for each input, return it as a single-element list.

Parameters

input

this will be a single input item from the input source. Implementer is encouraged to use a more descriptive, context- specific variable name. Example:

def mapFunction(self, starting_smiles):

class schrodinger.application.steps.enumerators.BaseDecorator(*args, **kwargs)

Bases: schrodinger.application.steps.basesteps.MolMapStep

The base class for decorators. To use this class you must implement the mapFunction.

Enumerates unique sanitized molecules formed by replacing a hydrogen on a C, N, or O atom in the ligand with an R-group that was attached to an Ar.

The rgroup_atom_smarts setting allows for filtering of which reagents in the rgroup_file are used for the decoration reaction. The default value of ‘#6,#7,#8,#9,#16,#17,#35,#53’ is used if the rgroup_atom_smarts is an empty string or None.

The settings is a filters.ProfileSettings instance whose property_ranges are used to determine with R-groups are allowed to react. The property_ranges are optional.

seealso:: filters.ProfileSettings

Example R-group reagents:

C[Ar]
N[Ar]

Example of a Decorator definition in a yaml file:

Decorator:
    rgroup_atom_smarts: '*'  # allow all unique rgroup reagents
    rgroup_file: rgroups_small.smi
    core_smarts: c1ccccc1
    property_ranges:
        MolWt: [250, 500]
        RingCount: [0, 5]
        NumAromaticRings: [0, 3]
        NumAliphaticRings: [0, 5]
        NumSpiroAtoms: [0, 0]
LEAVING_MOL_WT = 40.956
class Settings(*args, _param_type=<object object>, **kwargs)

Bases: schrodinger.application.steps.filters.ProfileSettings

rgroup_file: schrodinger.stepper.stepper.StepperFile

A parameter of the class.

core_smarts: str

A parameter of the class.

rgroup_atom_smarts: str

A parameter of the class.

validate(step)

Validate the settings on behalf of a step.

Parameters

step – stepper._BaseStep

Return type

list[TaskError or TaskWarning]

getReagentSmarts()
getReagentMol()
getReactionSmarts()
getRGroups()
core_smartsChanged

A pyqtSignal emitted by instances of the class.

core_smartsReplaced

A pyqtSignal emitted by instances of the class.

property_rangesChanged

A pyqtSignal emitted by instances of the class.

property_rangesReplaced

A pyqtSignal emitted by instances of the class.

rgroup_atom_smartsChanged

A pyqtSignal emitted by instances of the class.

rgroup_atom_smartsReplaced

A pyqtSignal emitted by instances of the class.

rgroup_fileChanged

A pyqtSignal emitted by instances of the class.

rgroup_fileReplaced

A pyqtSignal emitted by instances of the class.

validateSettings()

Check whether the step settings are valid and return a list of SettingsError and SettingsWarning to report any invalid settings. Default implementation checks that all stepper files are set to valid file paths.

Return type

list[TaskError or TaskWarning]

setUp()

Hook for adding any type of work that needs to happen before any outputs are created.

class schrodinger.application.steps.enumerators.Decorator(*args, **kwargs)

Bases: schrodinger.application.steps.enumerators.BaseDecorator

mapFunction(mol)
class schrodinger.application.steps.enumerators.FastDecorator(*args, **kwargs)

Bases: schrodinger.application.steps.enumerators.BaseDecorator

A Decorator that uses core atom protection to speed up the enumeration.

mapFunction(mol)
class schrodinger.application.steps.enumerators.FastFragmenter(*args, **kwargs)

Bases: schrodinger.application.steps.basesteps.MolMapStep

For backwards compatibility, this step only implements the validation.

class Settings(*args, _param_type=<object object>, **kwargs)

Bases: schrodinger.models.parameters.CompoundParam

core_smarts: str

A parameter of the class.

max_out: int

A parameter of the class.

max_mol_wt: float

A parameter of the class.

core_smartsChanged

A pyqtSignal emitted by instances of the class.

core_smartsReplaced

A pyqtSignal emitted by instances of the class.

max_mol_wtChanged

A pyqtSignal emitted by instances of the class.

max_mol_wtReplaced

A pyqtSignal emitted by instances of the class.

max_outChanged

A pyqtSignal emitted by instances of the class.

max_outReplaced

A pyqtSignal emitted by instances of the class.

validateSettings()

Check whether the step settings are valid and return a list of SettingsError and SettingsWarning to report any invalid settings. Default implementation checks that all stepper files are set to valid file paths.

Return type

list[TaskError or TaskWarning]

mapFunction(mol)