schrodinger.application.steps.enumerators module¶
- schrodinger.application.steps.enumerators.get_transformer_reactions(file, logger=None, lead_in='')[source]¶
- Load the valid transformer reactions from file. - Parameters
- file (str) – the json file to load the transformer reactions from 
- logger – the logger to write errors 
- logger – logging.Logger or NoneType 
- lead_in (str) – the lead in text for error logging 
 
- Returns
- list of reaction smarts: 
- Return type
- list of ChemicalReaction 
 
- class schrodinger.application.steps.enumerators.Transformer(*args, **kwargs)[source]¶
- Bases: - schrodinger.application.steps.basesteps.LoggerMixin,- schrodinger.application.steps.dataclasses.FileInMixin,- schrodinger.application.steps.dataclasses.MolOutMixin,- schrodinger.stepper.stepper.MapStep- Enumerates unique sanitized products formed using the transformation from the input json file applied to compounds in the - compounds_fileof SMILES only file.- class Settings(*args, _param_type=<object object>, **kwargs)[source]¶
- Bases: - schrodinger.models.parameters.CompoundParam- compounds_file: schrodinger.stepper.stepper.StepperFile¶
- Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example: - class Coord(CompoundParam): x: int y: int - An instance of the Coord class can be created normally, and Params can be accessed as normal attributes: - coord = Coord() coord.x = 4 - When a Param value is set, the - valueChangedsignal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:- class Atom(CompoundParam): coord: Coord element: str 
 - DataClass¶
- This class can be used to declare a public attribute on a - CompoundParam. Declared public attributes can be used without error.- Example usage: - class Coord(CompoundParam): x: int y: int note = NonParamAttribute() coord = Coord() coord.note = "hello" # No error 
 - __init__(default_value=<object object>, _param_type=<object object>, **kwargs)¶
 - classmethod addSubParam(name, param, update_owner=True)¶
 - blockSignals(self, bool) bool¶
 - block_signal_propagation()¶
 - childEvent(self, QChildEvent)¶
 - children(self) List[QObject]¶
 - compounds_fileChanged¶
 - compounds_fileReplaced¶
 - classmethod configureParam()¶
- Override this class method to set up the abstract param class (e.g. setParamReference on child params.) 
 - connectNotify(self, QMetaMethod)¶
 - customEvent(self, QEvent)¶
 - classmethod defaultValue(*args, **kwargs)¶
 - deleteLater(self)¶
 - destroyed¶
- destroyed(self, object: QObject = None) [signal] 
 - disconnect(QMetaObject.Connection) bool¶
- disconnect(self) None
 - disconnectNotify(self, QMetaMethod)¶
 - dumpObjectInfo(self)¶
 - dumpObjectTree(self)¶
 - dynamicPropertyNames(self) List[QByteArray]¶
 - event(self, QEvent) bool¶
 - eventFilter(self, QObject, QEvent) bool¶
 - findChild(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) QObject¶
- findChild(self, Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) QObject
 - findChildren(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]¶
- findChildren(self, Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, Tuple, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, Tuple, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
 - classmethod fromJson(json_obj)¶
- A factory method which constructs a new object from a given dict loaded from a json string or file. - Parameters
- json_obj (dict) – A json-loaded dictionary to create an object from. 
- Returns
- An instance of this class. 
- Return type
- cls 
 
 - classmethod fromJsonImplementation(json_dict)¶
- Sets the value of this compound param value object from a JSON dict. - Warning - This should never be called directly. 
 - getAbstractParam(*args, **kwargs)¶
 - classmethod getJsonBlacklist()¶
- Override to customize what params are serialized. - Implementations should return a list of abstract params that should be omitted from serialization. - ..NOTE
- Returned abstract params must be direct child params of - cls, e.g.- cls.name, not- cls.coord.x.
 
 - classmethod getParamSignal(*args, **kwargs)¶
 - classmethod getParamValue(*args, **kwargs)¶
 - classmethod getSubParam(name)¶
- Get the value of a subparam using the string name: - c = Coord() assert c.getSubParam('x') == 0 - Note - Using the string name to access params is generally discouraged, but can be useful for serializing/deserializing param data. - Parameters
- name (str) – The name of the subparam to get the value for. 
 
 - classmethod getSubParams()¶
- Return a dictionary mapping subparam names to their values. 
 - getTypeHint()¶
 - get_version()¶
- Method to get the version of a particular object. Defaults to the current version of mmshare. This class can be overridden for custom versioning behavior. 
 - inherits(self, str) bool¶
 - initAbstract()¶
 - initConcrete()¶
- Override to customize initialization of concrete params. 
 - initializeValue()¶
- Override to dynamically set up the default value of the param. Useful for default values that are determined at runtime. This is called any time the param is reset. 
 - installEventFilter(self, QObject)¶
 - classmethod isAbstract()¶
- Whether the param is an “abstract” param. 
 - isDefault(*args, **kwargs)¶
 - isSignalConnected(self, QMetaMethod) bool¶
 - isWidgetType(self) bool¶
 - isWindowType(self) bool¶
 - killTimer(self, int)¶
 - metaObject(self) QMetaObject¶
 - moveToThread(self, QThread)¶
 - objectName(self) str¶
 - objectNameChanged¶
- objectNameChanged(self, str) [signal] 
 - classmethod owner()¶
- Get the owner of the param: - # Can be called on an abstract param: assert Coord.x.owner() == Coord # ...or on an instance of a CompoundParam a = Atom() assert a.coord.owner() == a 
 - classmethod ownerChain()¶
- Returns a list of param owners starting from the toplevel param and ending with self. Examples: - foo.bar.atom.coord.ownerChain()will return- [foo, bar, atom, coord]where every item is a concrete param.- Foo.bar.atom.coord.x.ownerChain()will return- [Foo, Foo.bar, Foo.atom.coord, Foo.atom.coord.x]where every item is an abstract params.
 - classmethod paramName()¶
- Get the name of the param: - # Can be called on an abstract param: print(Coord.x.paramName()) # 'x' # ...or on an instance of a CompoundParam a = Atom() a.coord.paramName() # 'coord' 
 - parent(self) QObject¶
 - property(self, str) Any¶
 - pyqtConfigure(...)¶
- Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable. 
 - receivers(self, PYQT_SIGNAL) int¶
 - removeEventFilter(self, QObject)¶
 - reset(*args, **kwargs)¶
 - sender(self) QObject¶
 - senderSignalIndex(self) int¶
 - setObjectName(self, str)¶
 - classmethod setParamValue(*args, **kwargs)¶
 - setParent(self, QObject)¶
 - setProperty(self, str, Any) bool¶
 - classmethod setReference(param1, param2)¶
- Call this class method from configureParam to indicate that two params should be kept in sync. The initial values will start with the default value of - param1. Example:- class Square(CompoundParam): width: float = 5 height: float = 10 @classmethod def configureParam(cls): super().configureParam() cls.setReference(cls.width, cls.height) square = Square() assert square.width == square.height == 5 # Default value of width # takes priority square.height = 7 assert square.width == square.height == 7 square.width = 6 assert square.width == square.height == 6 - Parameters
- param1 – The first abstract param to keep synced 
- param2 – The second abstract param. After instantiation, this param will take on the value of param1. 
 
 
 - setValue(*args, **kwargs)¶
 - signalsBlocked(self) bool¶
 - skip_eq_check()¶
 - startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) int¶
 - staticMetaObject = <PyQt5.QtCore.QMetaObject object>¶
 - thread(self) QThread¶
 - timerEvent(self, QTimerEvent)¶
 - toDict(*args, **kwargs)¶
 - toJson(_mark_version=True)¶
- Create and returns a data structure made up of jsonable items. - Return type
- An instance of one the classes from NATIVE_JSON_DATATYPES 
 
 - toJsonImplementation(*args, **kwargs)¶
- Abstract method that must be defined by all derived classes. Converts an instance of the derived class into a jsonifiable object. - Returns
- A dict made up of JSON native datatypes or Jsonable objects. See the link below for a table of such types. https://docs.python.org/2/library/json.html#encoders-and-decoders 
 
 - tr(self, str, disambiguation: str = None, n: int = - 1) str¶
 - valueChanged¶
 
 - validateSettings()[source]¶
- Check whether the step settings are valid and return a list of - SettingsErrorand- SettingsWarningto report any invalid settings. Default implementation checks that all stepper files are set to valid file paths.- Return type
- list[TaskError or TaskWarning] 
 
 - mapFunction(file)[source]¶
- 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):
- … 
 
 
 - Input¶
 - InputSerializer¶
- alias of - schrodinger.stepper.stepper._DynamicSerializer
 - Output¶
- alias of - rdkit.Chem.rdchem.Mol
 - OutputSerializer¶
- alias of - schrodinger.application.steps.dataclasses.MolToSmilesSerializer
 - __init__(*args, **kwargs)¶
 - blockSignals(self, bool) bool¶
 - childEvent(self, QChildEvent)¶
 - children(self) List[QObject]¶
 - 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. 
 - property cloud_service_script¶
 - connectNotify(self, QMetaMethod)¶
 - customEvent(self, QEvent)¶
 - deleteLater(self)¶
 - destroyed¶
- destroyed(self, object: QObject = None) [signal] 
 - disconnect(QMetaObject.Connection) bool¶
- disconnect(self) None
 - disconnectNotify(self, QMetaMethod)¶
 - dumpObjectInfo(self)¶
 - dumpObjectTree(self)¶
 - dynamicPropertyNames(self) List[QByteArray]¶
 - event(self, QEvent) bool¶
 - eventFilter(self, QObject, QEvent) bool¶
 - findChild(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) QObject¶
- findChild(self, Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) QObject
 - findChildren(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]¶
- findChildren(self, Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, Tuple, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, Tuple, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
 - getInputTopic() Optional[str]¶
 - getLicenseRequirements()¶
 - getOutputSerializer()¶
 - getOutputTopic() Optional[str]¶
 - getOutputs()¶
- Gets all the outputs in a list by fully iterating the output generator. 
 - getResources(param_type, resource_type)¶
- Get the stepper resources in the settings that are instances of - param_typeand have a resource_type attribute that is- resource_type.- Note does not work for list/set/tuple subparams in the settings. - Parameters
- param_type (_StepperResource) – the resource parameter type 
- resource_type (ResourceType) – the type of resource to get 
 
- Returns
- the set of stepper resources of - resource_type
- Return type
- set of _StepperResource 
 
 - getRunInfo()¶
 - getStepId()¶
 - inherits(self, str) bool¶
 - initializeTopics()¶
 - inputs()¶
 - installEventFilter(self, QObject)¶
 - isSignalConnected(self, QMetaMethod) bool¶
 - isWidgetType(self) bool¶
 - isWindowType(self) bool¶
 - killTimer(self, int)¶
 - metaObject(self) QMetaObject¶
 - moveToThread(self, QThread)¶
 - objectName(self) str¶
 - objectNameChanged¶
- objectNameChanged(self, str) [signal] 
 - outputs(*args, **kwargs)¶
 - parent(self) QObject¶
 - prettyPrintRunInfo()¶
- Format and print info about the step’s run. 
 - property(self, str) Any¶
 - pyqtConfigure(...)¶
- Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable. 
 - receivers(self, PYQT_SIGNAL) int¶
 - reduceFunction(inputs)¶
 - removeEventFilter(self, QObject)¶
 - report(prefix='')¶
- Report the settings and batch settings for this step. 
 - sender(self) QObject¶
 - senderSignalIndex(self) int¶
 - setBatchSettings(*args, **kwargs)¶
 - setInputFile(fname)¶
 - setInputTopic(inp_topic: Optional[str])¶
 - setInputs(*args, **kwargs)¶
 - setObjectName(self, str)¶
 - setOutputTopic(outp_topic: Optional[str])¶
 - setParent(self, QObject)¶
 - setProperty(self, str, Any) bool¶
 - setSettings(*args, **kwargs)¶
 - setUp()¶
- Hook for adding any type of work that needs to happen before any outputs are created. 
 - signalsBlocked(self) bool¶
 - startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) int¶
 - staticMetaObject = <PyQt5.QtCore.QMetaObject object>¶
 - thread(self) QThread¶
 - timerEvent(self, QTimerEvent)¶
 - property topic_prefix¶
 - property topic_suffix¶
 - tr(self, str, disambiguation: str = None, n: int = - 1) str¶
 - usingPubsub()¶
 - writeOutputsToFile(fname)¶
- Write outputs to - fname. By default, the output file will consist of one line for each output with whatever is produced when passing the out- put to- str. Override this method if more complex behavior is needed.
 
- class schrodinger.application.steps.enumerators.Synthesizer(*args, **kwargs)[source]¶
- 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)[source]¶
- Bases: - schrodinger.models.parameters.CompoundParam- core_smarts: str¶
- Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example: - class Coord(CompoundParam): x: int y: int - An instance of the Coord class can be created normally, and Params can be accessed as normal attributes: - coord = Coord() coord.x = 4 - When a Param value is set, the - valueChangedsignal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:- class Atom(CompoundParam): coord: Coord element: str 
 - depth: int¶
- Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example: - class Coord(CompoundParam): x: int y: int - An instance of the Coord class can be created normally, and Params can be accessed as normal attributes: - coord = Coord() coord.x = 4 - When a Param value is set, the - valueChangedsignal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:- class Atom(CompoundParam): coord: Coord element: str 
 - reagent_lib: schrodinger.stepper.stepper.StepperFolder¶
- Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example: - class Coord(CompoundParam): x: int y: int - An instance of the Coord class can be created normally, and Params can be accessed as normal attributes: - coord = Coord() coord.x = 4 - When a Param value is set, the - valueChangedsignal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:- class Atom(CompoundParam): coord: Coord element: str 
 - max_products: int¶
- Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example: - class Coord(CompoundParam): x: int y: int - An instance of the Coord class can be created normally, and Params can be accessed as normal attributes: - coord = Coord() coord.x = 4 - When a Param value is set, the - valueChangedsignal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:- class Atom(CompoundParam): coord: Coord element: str 
 - seed: int¶
- Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example: - class Coord(CompoundParam): x: int y: int - An instance of the Coord class can be created normally, and Params can be accessed as normal attributes: - coord = Coord() coord.x = 4 - When a Param value is set, the - valueChangedsignal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:- class Atom(CompoundParam): coord: Coord element: str 
 - yield_input: bool¶
- Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example: - class Coord(CompoundParam): x: int y: int - An instance of the Coord class can be created normally, and Params can be accessed as normal attributes: - coord = Coord() coord.x = 4 - When a Param value is set, the - valueChangedsignal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:- class Atom(CompoundParam): coord: Coord element: str 
 - deduplicate_routes: bool¶
- Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example: - class Coord(CompoundParam): x: int y: int - An instance of the Coord class can be created normally, and Params can be accessed as normal attributes: - coord = Coord() coord.x = 4 - When a Param value is set, the - valueChangedsignal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:- class Atom(CompoundParam): coord: Coord element: str 
 - DataClass¶
- This class can be used to declare a public attribute on a - CompoundParam. Declared public attributes can be used without error.- Example usage: - class Coord(CompoundParam): x: int y: int note = NonParamAttribute() coord = Coord() coord.note = "hello" # No error 
 - __init__(default_value=<object object>, _param_type=<object object>, **kwargs)¶
 - classmethod addSubParam(name, param, update_owner=True)¶
 - blockSignals(self, bool) bool¶
 - block_signal_propagation()¶
 - childEvent(self, QChildEvent)¶
 - children(self) List[QObject]¶
 - classmethod configureParam()¶
- Override this class method to set up the abstract param class (e.g. setParamReference on child params.) 
 - connectNotify(self, QMetaMethod)¶
 - core_smartsChanged¶
 - core_smartsReplaced¶
 - customEvent(self, QEvent)¶
 - deduplicate_routesChanged¶
 - deduplicate_routesReplaced¶
 - classmethod defaultValue(*args, **kwargs)¶
 - deleteLater(self)¶
 - depthChanged¶
 - depthReplaced¶
 - destroyed¶
- destroyed(self, object: QObject = None) [signal] 
 - disconnect(QMetaObject.Connection) bool¶
- disconnect(self) None
 - disconnectNotify(self, QMetaMethod)¶
 - dumpObjectInfo(self)¶
 - dumpObjectTree(self)¶
 - dynamicPropertyNames(self) List[QByteArray]¶
 - event(self, QEvent) bool¶
 - eventFilter(self, QObject, QEvent) bool¶
 - findChild(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) QObject¶
- findChild(self, Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) QObject
 - findChildren(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]¶
- findChildren(self, Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, Tuple, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, Tuple, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
 - classmethod fromJson(json_obj)¶
- A factory method which constructs a new object from a given dict loaded from a json string or file. - Parameters
- json_obj (dict) – A json-loaded dictionary to create an object from. 
- Returns
- An instance of this class. 
- Return type
- cls 
 
 - classmethod fromJsonImplementation(json_dict)¶
- Sets the value of this compound param value object from a JSON dict. - Warning - This should never be called directly. 
 - getAbstractParam(*args, **kwargs)¶
 - classmethod getJsonBlacklist()¶
- Override to customize what params are serialized. - Implementations should return a list of abstract params that should be omitted from serialization. - ..NOTE
- Returned abstract params must be direct child params of - cls, e.g.- cls.name, not- cls.coord.x.
 
 - classmethod getParamSignal(*args, **kwargs)¶
 - classmethod getParamValue(*args, **kwargs)¶
 - classmethod getSubParam(name)¶
- Get the value of a subparam using the string name: - c = Coord() assert c.getSubParam('x') == 0 - Note - Using the string name to access params is generally discouraged, but can be useful for serializing/deserializing param data. - Parameters
- name (str) – The name of the subparam to get the value for. 
 
 - classmethod getSubParams()¶
- Return a dictionary mapping subparam names to their values. 
 - getTypeHint()¶
 - get_version()¶
- Method to get the version of a particular object. Defaults to the current version of mmshare. This class can be overridden for custom versioning behavior. 
 - inherits(self, str) bool¶
 - initAbstract()¶
 - initConcrete()¶
- Override to customize initialization of concrete params. 
 - initializeValue()¶
- Override to dynamically set up the default value of the param. Useful for default values that are determined at runtime. This is called any time the param is reset. 
 - installEventFilter(self, QObject)¶
 - classmethod isAbstract()¶
- Whether the param is an “abstract” param. 
 - isDefault(*args, **kwargs)¶
 - isSignalConnected(self, QMetaMethod) bool¶
 - isWidgetType(self) bool¶
 - isWindowType(self) bool¶
 - killTimer(self, int)¶
 - max_productsChanged¶
 - max_productsReplaced¶
 - metaObject(self) QMetaObject¶
 - moveToThread(self, QThread)¶
 - objectName(self) str¶
 - objectNameChanged¶
- objectNameChanged(self, str) [signal] 
 - classmethod owner()¶
- Get the owner of the param: - # Can be called on an abstract param: assert Coord.x.owner() == Coord # ...or on an instance of a CompoundParam a = Atom() assert a.coord.owner() == a 
 - classmethod ownerChain()¶
- Returns a list of param owners starting from the toplevel param and ending with self. Examples: - foo.bar.atom.coord.ownerChain()will return- [foo, bar, atom, coord]where every item is a concrete param.- Foo.bar.atom.coord.x.ownerChain()will return- [Foo, Foo.bar, Foo.atom.coord, Foo.atom.coord.x]where every item is an abstract params.
 - classmethod paramName()¶
- Get the name of the param: - # Can be called on an abstract param: print(Coord.x.paramName()) # 'x' # ...or on an instance of a CompoundParam a = Atom() a.coord.paramName() # 'coord' 
 - parent(self) QObject¶
 - property(self, str) Any¶
 - pyqtConfigure(...)¶
- Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable. 
 - reagent_libChanged¶
 - reagent_libReplaced¶
 - receivers(self, PYQT_SIGNAL) int¶
 - removeEventFilter(self, QObject)¶
 - reset(*args, **kwargs)¶
 - seedChanged¶
 - seedReplaced¶
 - sender(self) QObject¶
 - senderSignalIndex(self) int¶
 - setObjectName(self, str)¶
 - classmethod setParamValue(*args, **kwargs)¶
 - setParent(self, QObject)¶
 - setProperty(self, str, Any) bool¶
 - classmethod setReference(param1, param2)¶
- Call this class method from configureParam to indicate that two params should be kept in sync. The initial values will start with the default value of - param1. Example:- class Square(CompoundParam): width: float = 5 height: float = 10 @classmethod def configureParam(cls): super().configureParam() cls.setReference(cls.width, cls.height) square = Square() assert square.width == square.height == 5 # Default value of width # takes priority square.height = 7 assert square.width == square.height == 7 square.width = 6 assert square.width == square.height == 6 - Parameters
- param1 – The first abstract param to keep synced 
- param2 – The second abstract param. After instantiation, this param will take on the value of param1. 
 
 
 - setValue(*args, **kwargs)¶
 - signalsBlocked(self) bool¶
 - skip_eq_check()¶
 - startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) int¶
 - staticMetaObject = <PyQt5.QtCore.QMetaObject object>¶
 - thread(self) QThread¶
 - timerEvent(self, QTimerEvent)¶
 - toDict(*args, **kwargs)¶
 - toJson(_mark_version=True)¶
- Create and returns a data structure made up of jsonable items. - Return type
- An instance of one the classes from NATIVE_JSON_DATATYPES 
 
 - toJsonImplementation(*args, **kwargs)¶
- Abstract method that must be defined by all derived classes. Converts an instance of the derived class into a jsonifiable object. - Returns
- A dict made up of JSON native datatypes or Jsonable objects. See the link below for a table of such types. https://docs.python.org/2/library/json.html#encoders-and-decoders 
 
 - tr(self, str, disambiguation: str = None, n: int = - 1) str¶
 - valueChanged¶
 - yield_inputChanged¶
 - yield_inputReplaced¶
 
 - buildChain()[source]¶
- 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. 
 - Input¶
- alias of - rdkit.Chem.rdchem.Mol
 - InputSerializer¶
- alias of - schrodinger.application.steps.dataclasses.MolToSmilesSerializer
 - Output¶
- alias of - rdkit.Chem.rdchem.Mol
 - OutputSerializer¶
- alias of - schrodinger.application.steps.dataclasses.MolToSmilesSerializer
 - __init__(*args, **kwargs)¶
 - __len__()¶
 - addStep(step)¶
 - blockSignals(self, bool) bool¶
 - childEvent(self, QChildEvent)¶
 - children(self) List[QObject]¶
 - 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. 
 - property cloud_service_script¶
 - connectNotify(self, QMetaMethod)¶
 - customEvent(self, QEvent)¶
 - deleteLater(self)¶
 - destroyed¶
- destroyed(self, object: QObject = None) [signal] 
 - disconnect(QMetaObject.Connection) bool¶
- disconnect(self) None
 - disconnectNotify(self, QMetaMethod)¶
 - dumpObjectInfo(self)¶
 - dumpObjectTree(self)¶
 - dynamicPropertyNames(self) List[QByteArray]¶
 - event(self, QEvent) bool¶
 - eventFilter(self, QObject, QEvent) bool¶
 - findChild(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) QObject¶
- findChild(self, Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) QObject
 - findChildren(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]¶
- findChildren(self, Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, Tuple, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, Tuple, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
 - getInputTopic() Optional[str]¶
 - getLicenseRequirements()¶
 - getOutputSerializer()¶
 - getOutputTopic() Optional[str]¶
 - getOutputs()¶
- Gets all the outputs in a list by fully iterating the output generator. 
 - getResources(param_type, resource_type)¶
- Get the stepper resources in the settings for the chain as well as for every step in the chain that are instances of - param_typeand have a resource_type attribute that is- resource_type.- Note does not work for list/set/tuple subparams in the settings. - Parameters
- param_type (_StepperResource) – the resource parameter type 
- resource_type (ResourceType) – the type of resource to get 
 
- Returns
- the set of stepper resources of - resource_type
- Return type
- set of _StepperResource 
 
 - getRunInfo()¶
 - getStepId()¶
 - inherits(self, str) bool¶
 - initializeTopics()¶
 - inputs()¶
 - installEventFilter(self, QObject)¶
 - isSignalConnected(self, QMetaMethod) bool¶
 - isWidgetType(self) bool¶
 - isWindowType(self) bool¶
 - killTimer(self, int)¶
 - metaObject(self) QMetaObject¶
 - moveToThread(self, QThread)¶
 - objectName(self) str¶
 - objectNameChanged¶
- objectNameChanged(self, str) [signal] 
 - outputs(*args, **kwargs)¶
 - parent(self) QObject¶
 - prettyPrintRunInfo()¶
- Format and print info about the step’s run. 
 - property(self, str) Any¶
 - pyqtConfigure(...)¶
- Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable. 
 - receivers(self, PYQT_SIGNAL) int¶
 - reduceFunction(inputs)¶
 - removeEventFilter(self, QObject)¶
 - report(prefix='')¶
- Report the workflow steps and their settings (recursively). - Parameters
- prefix (str) – the text to start each line with 
 
 - sender(self) QObject¶
 - senderSignalIndex(self) int¶
 - setBatchSettings(*args, **kwargs)¶
 - setInputFile(input_file: str, starting_step_id: Optional[str] = None)¶
- Set the input file for the chain. If - starting_step_idis specified, then all steps before the specified starting step will be skipped. This is useful for resuming a chain’s computation.
 - setInputTopic(inp_topic: Optional[str])¶
 - setInputs(inputs: Iterable[Any], starting_step_id: Optional[str] = None)¶
- Set the inputs for the chain. If - starting_step_idis specified, then all steps before the specified starting step will be skipped. This is useful for resuming a chain’s computation.
 - setObjectName(self, str)¶
 - setOutputTopic(outp_topic: Optional[str])¶
 - setParent(self, QObject)¶
 - setProperty(self, str, Any) bool¶
 - setSettings(*args, **kwargs)¶
 - setStartingStep(starting_step: str)¶
 - setUp()¶
- Hook for adding any type of work that needs to happen before any outputs are created. 
 - signalsBlocked(self) bool¶
 - startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) int¶
 - staticMetaObject = <PyQt5.QtCore.QMetaObject object>¶
 - thread(self) QThread¶
 - timerEvent(self, QTimerEvent)¶
 - property topic_prefix¶
 - property topic_suffix¶
 - tr(self, str, disambiguation: str = None, n: int = - 1) str¶
 - usingPubsub()¶
 - validateChain()¶
- Checks that the declaration of the chain is internally consistent - i.e. that each step is valid and each step’s Input class matches the preceding step’s Output class. 
 - validateSettings()¶
- Check whether the chain settings are valid and return a list of - SettingsErrorand- SettingsWarningto report any invalid settings. Default implementation simply returns problems from all child steps.- Return type
- list[TaskError or TaskWarning] 
 
 - writeOutputsToFile(fname)¶
- Write outputs to - fname. By default, the output file will consist of one line for each output with whatever is produced when passing the out- put to- str. Override this method if more complex behavior is needed.
 
- class schrodinger.application.steps.enumerators.RouteSerializer[source]¶
- Bases: - schrodinger.stepper.stepper.Serializer- A serializer for RouteNodes - DataType¶
 - toString(route: schrodinger.application.pathfinder.route.RouteNode) str[source]¶
 - fromString(route_str: str) schrodinger.application.pathfinder.route.RouteNode[source]¶
 - deserialize(fname)¶
- Read in items from - fname. :type fname: str :rtype: iterable[self.DataType]
 - serialize(items, fname)¶
- Write - itemsto a file named- fname.
 
- class schrodinger.application.steps.enumerators.RouteDeduplicator(*args, **kwargs)[source]¶
- Bases: - schrodinger.stepper.stepper.ReduceStep- Input¶
 - Output¶
 - InputSerializer¶
- alias of - schrodinger.application.steps.enumerators.RouteSerializer
 - OutputSerializer¶
- alias of - schrodinger.application.steps.enumerators.RouteSerializer
 - setUp()[source]¶
- Hook for adding any type of work that needs to happen before any outputs are created. 
 - reduceFunction(routes)[source]¶
- 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 
 - Settings¶
 - __init__(*args, **kwargs)¶
 - blockSignals(self, bool) bool¶
 - childEvent(self, QChildEvent)¶
 - children(self) List[QObject]¶
 - 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. 
 - property cloud_service_script¶
 - connectNotify(self, QMetaMethod)¶
 - customEvent(self, QEvent)¶
 - deleteLater(self)¶
 - destroyed¶
- destroyed(self, object: QObject = None) [signal] 
 - disconnect(QMetaObject.Connection) bool¶
- disconnect(self) None
 - disconnectNotify(self, QMetaMethod)¶
 - dumpObjectInfo(self)¶
 - dumpObjectTree(self)¶
 - dynamicPropertyNames(self) List[QByteArray]¶
 - event(self, QEvent) bool¶
 - eventFilter(self, QObject, QEvent) bool¶
 - findChild(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) QObject¶
- findChild(self, Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) QObject
 - findChildren(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]¶
- findChildren(self, Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, Tuple, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, Tuple, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
 - getInputTopic() Optional[str]¶
 - getLicenseRequirements()¶
 - getOutputSerializer()¶
 - getOutputTopic() Optional[str]¶
 - getOutputs()¶
- Gets all the outputs in a list by fully iterating the output generator. 
 - getResources(param_type, resource_type)¶
- Get the stepper resources in the settings that are instances of - param_typeand have a resource_type attribute that is- resource_type.- Note does not work for list/set/tuple subparams in the settings. - Parameters
- param_type (_StepperResource) – the resource parameter type 
- resource_type (ResourceType) – the type of resource to get 
 
- Returns
- the set of stepper resources of - resource_type
- Return type
- set of _StepperResource 
 
 - getRunInfo()¶
 - getStepId()¶
 - inherits(self, str) bool¶
 - initializeTopics()¶
 - inputs()¶
 - installEventFilter(self, QObject)¶
 - isSignalConnected(self, QMetaMethod) bool¶
 - isWidgetType(self) bool¶
 - isWindowType(self) bool¶
 - killTimer(self, int)¶
 - metaObject(self) QMetaObject¶
 - moveToThread(self, QThread)¶
 - objectName(self) str¶
 - objectNameChanged¶
- objectNameChanged(self, str) [signal] 
 - outputs(*args, **kwargs)¶
 - parent(self) QObject¶
 - prettyPrintRunInfo()¶
- Format and print info about the step’s run. 
 - property(self, str) Any¶
 - pyqtConfigure(...)¶
- Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable. 
 - receivers(self, PYQT_SIGNAL) int¶
 - removeEventFilter(self, QObject)¶
 - report(prefix='')¶
- Report the settings and batch settings for this step. 
 - sender(self) QObject¶
 - senderSignalIndex(self) int¶
 - setBatchSettings(*args, **kwargs)¶
 - setInputFile(fname)¶
 - setInputTopic(inp_topic: Optional[str])¶
 - setInputs(*args, **kwargs)¶
 - setObjectName(self, str)¶
 - setOutputTopic(outp_topic: Optional[str])¶
 - setParent(self, QObject)¶
 - setProperty(self, str, Any) bool¶
 - setSettings(*args, **kwargs)¶
 - signalsBlocked(self) bool¶
 - startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) int¶
 - staticMetaObject = <PyQt5.QtCore.QMetaObject object>¶
 - thread(self) QThread¶
 - timerEvent(self, QTimerEvent)¶
 - property topic_prefix¶
 - property topic_suffix¶
 - tr(self, str, disambiguation: str = None, n: int = - 1) str¶
 - usingPubsub()¶
 - validateSettings()¶
- Check whether the step settings are valid and return a list of - SettingsErrorand- SettingsWarningto report any invalid settings. Default implementation checks that all stepper files are set to valid file paths.- Return type
- list[TaskError or TaskWarning] 
 
 - writeOutputsToFile(fname)¶
- Write outputs to - fname. By default, the output file will consist of one line for each output with whatever is produced when passing the out- put to- str. Override this method if more complex behavior is needed.
 
- class schrodinger.application.steps.enumerators.RouteEnumerator(*args, **kwargs)[source]¶
- 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¶
 - OutputSerializer¶
- alias of - schrodinger.application.steps.enumerators.RouteSerializer
 - class Settings(*args, _param_type=<object object>, **kwargs)[source]¶
- Bases: - schrodinger.models.parameters.CompoundParam- core_smarts: str¶
- Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example: - class Coord(CompoundParam): x: int y: int - An instance of the Coord class can be created normally, and Params can be accessed as normal attributes: - coord = Coord() coord.x = 4 - When a Param value is set, the - valueChangedsignal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:- class Atom(CompoundParam): coord: Coord element: str 
 - depth: int¶
- Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example: - class Coord(CompoundParam): x: int y: int - An instance of the Coord class can be created normally, and Params can be accessed as normal attributes: - coord = Coord() coord.x = 4 - When a Param value is set, the - valueChangedsignal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:- class Atom(CompoundParam): coord: Coord element: str 
 - DataClass¶
- This class can be used to declare a public attribute on a - CompoundParam. Declared public attributes can be used without error.- Example usage: - class Coord(CompoundParam): x: int y: int note = NonParamAttribute() coord = Coord() coord.note = "hello" # No error 
 - __init__(default_value=<object object>, _param_type=<object object>, **kwargs)¶
 - classmethod addSubParam(name, param, update_owner=True)¶
 - blockSignals(self, bool) bool¶
 - block_signal_propagation()¶
 - childEvent(self, QChildEvent)¶
 - children(self) List[QObject]¶
 - classmethod configureParam()¶
- Override this class method to set up the abstract param class (e.g. setParamReference on child params.) 
 - connectNotify(self, QMetaMethod)¶
 - core_smartsChanged¶
 - core_smartsReplaced¶
 - customEvent(self, QEvent)¶
 - classmethod defaultValue(*args, **kwargs)¶
 - deleteLater(self)¶
 - depthChanged¶
 - depthReplaced¶
 - destroyed¶
- destroyed(self, object: QObject = None) [signal] 
 - disconnect(QMetaObject.Connection) bool¶
- disconnect(self) None
 - disconnectNotify(self, QMetaMethod)¶
 - dumpObjectInfo(self)¶
 - dumpObjectTree(self)¶
 - dynamicPropertyNames(self) List[QByteArray]¶
 - event(self, QEvent) bool¶
 - eventFilter(self, QObject, QEvent) bool¶
 - findChild(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) QObject¶
- findChild(self, Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) QObject
 - findChildren(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]¶
- findChildren(self, Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, Tuple, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, Tuple, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
 - classmethod fromJson(json_obj)¶
- A factory method which constructs a new object from a given dict loaded from a json string or file. - Parameters
- json_obj (dict) – A json-loaded dictionary to create an object from. 
- Returns
- An instance of this class. 
- Return type
- cls 
 
 - classmethod fromJsonImplementation(json_dict)¶
- Sets the value of this compound param value object from a JSON dict. - Warning - This should never be called directly. 
 - getAbstractParam(*args, **kwargs)¶
 - classmethod getJsonBlacklist()¶
- Override to customize what params are serialized. - Implementations should return a list of abstract params that should be omitted from serialization. - ..NOTE
- Returned abstract params must be direct child params of - cls, e.g.- cls.name, not- cls.coord.x.
 
 - classmethod getParamSignal(*args, **kwargs)¶
 - classmethod getParamValue(*args, **kwargs)¶
 - classmethod getSubParam(name)¶
- Get the value of a subparam using the string name: - c = Coord() assert c.getSubParam('x') == 0 - Note - Using the string name to access params is generally discouraged, but can be useful for serializing/deserializing param data. - Parameters
- name (str) – The name of the subparam to get the value for. 
 
 - classmethod getSubParams()¶
- Return a dictionary mapping subparam names to their values. 
 - getTypeHint()¶
 - get_version()¶
- Method to get the version of a particular object. Defaults to the current version of mmshare. This class can be overridden for custom versioning behavior. 
 - inherits(self, str) bool¶
 - initAbstract()¶
 - initConcrete()¶
- Override to customize initialization of concrete params. 
 - initializeValue()¶
- Override to dynamically set up the default value of the param. Useful for default values that are determined at runtime. This is called any time the param is reset. 
 - installEventFilter(self, QObject)¶
 - classmethod isAbstract()¶
- Whether the param is an “abstract” param. 
 - isDefault(*args, **kwargs)¶
 - isSignalConnected(self, QMetaMethod) bool¶
 - isWidgetType(self) bool¶
 - isWindowType(self) bool¶
 - killTimer(self, int)¶
 - metaObject(self) QMetaObject¶
 - moveToThread(self, QThread)¶
 - objectName(self) str¶
 - objectNameChanged¶
- objectNameChanged(self, str) [signal] 
 - classmethod owner()¶
- Get the owner of the param: - # Can be called on an abstract param: assert Coord.x.owner() == Coord # ...or on an instance of a CompoundParam a = Atom() assert a.coord.owner() == a 
 - classmethod ownerChain()¶
- Returns a list of param owners starting from the toplevel param and ending with self. Examples: - foo.bar.atom.coord.ownerChain()will return- [foo, bar, atom, coord]where every item is a concrete param.- Foo.bar.atom.coord.x.ownerChain()will return- [Foo, Foo.bar, Foo.atom.coord, Foo.atom.coord.x]where every item is an abstract params.
 - classmethod paramName()¶
- Get the name of the param: - # Can be called on an abstract param: print(Coord.x.paramName()) # 'x' # ...or on an instance of a CompoundParam a = Atom() a.coord.paramName() # 'coord' 
 - parent(self) QObject¶
 - property(self, str) Any¶
 - pyqtConfigure(...)¶
- Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable. 
 - receivers(self, PYQT_SIGNAL) int¶
 - removeEventFilter(self, QObject)¶
 - reset(*args, **kwargs)¶
 - sender(self) QObject¶
 - senderSignalIndex(self) int¶
 - setObjectName(self, str)¶
 - classmethod setParamValue(*args, **kwargs)¶
 - setParent(self, QObject)¶
 - setProperty(self, str, Any) bool¶
 - classmethod setReference(param1, param2)¶
- Call this class method from configureParam to indicate that two params should be kept in sync. The initial values will start with the default value of - param1. Example:- class Square(CompoundParam): width: float = 5 height: float = 10 @classmethod def configureParam(cls): super().configureParam() cls.setReference(cls.width, cls.height) square = Square() assert square.width == square.height == 5 # Default value of width # takes priority square.height = 7 assert square.width == square.height == 7 square.width = 6 assert square.width == square.height == 6 - Parameters
- param1 – The first abstract param to keep synced 
- param2 – The second abstract param. After instantiation, this param will take on the value of param1. 
 
 
 - setValue(*args, **kwargs)¶
 - signalsBlocked(self) bool¶
 - skip_eq_check()¶
 - startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) int¶
 - staticMetaObject = <PyQt5.QtCore.QMetaObject object>¶
 - thread(self) QThread¶
 - timerEvent(self, QTimerEvent)¶
 - toDict(*args, **kwargs)¶
 - toJson(_mark_version=True)¶
- Create and returns a data structure made up of jsonable items. - Return type
- An instance of one the classes from NATIVE_JSON_DATATYPES 
 
 - toJsonImplementation(*args, **kwargs)¶
- Abstract method that must be defined by all derived classes. Converts an instance of the derived class into a jsonifiable object. - Returns
- A dict made up of JSON native datatypes or Jsonable objects. See the link below for a table of such types. https://docs.python.org/2/library/json.html#encoders-and-decoders 
 
 - tr(self, str, disambiguation: str = None, n: int = - 1) str¶
 - valueChanged¶
 
 - validateSettings()[source]¶
- Check whether the step settings are valid and return a list of - SettingsErrorand- SettingsWarningto report any invalid settings. Default implementation checks that all stepper files are set to valid file paths.- Return type
- list[TaskError or TaskWarning] 
 
 - setUp()[source]¶
- Hook for adding any type of work that needs to happen before any outputs are created. 
 - mapFunction(mol)[source]¶
- 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):
- … 
 
 
 - Input¶
- alias of - rdkit.Chem.rdchem.Mol
 - InputSerializer¶
- alias of - schrodinger.application.steps.dataclasses.MolToSmilesSerializer
 - __init__(*args, **kwargs)¶
 - blockSignals(self, bool) bool¶
 - childEvent(self, QChildEvent)¶
 - children(self) List[QObject]¶
 - 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. 
 - property cloud_service_script¶
 - connectNotify(self, QMetaMethod)¶
 - customEvent(self, QEvent)¶
 - deleteLater(self)¶
 - destroyed¶
- destroyed(self, object: QObject = None) [signal] 
 - disconnect(QMetaObject.Connection) bool¶
- disconnect(self) None
 - disconnectNotify(self, QMetaMethod)¶
 - dumpObjectInfo(self)¶
 - dumpObjectTree(self)¶
 - dynamicPropertyNames(self) List[QByteArray]¶
 - event(self, QEvent) bool¶
 - eventFilter(self, QObject, QEvent) bool¶
 - findChild(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) QObject¶
- findChild(self, Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) QObject
 - findChildren(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]¶
- findChildren(self, Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, Tuple, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, Tuple, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
 - getInputTopic() Optional[str]¶
 - getLicenseRequirements()¶
 - getOutputSerializer()¶
 - getOutputTopic() Optional[str]¶
 - getOutputs()¶
- Gets all the outputs in a list by fully iterating the output generator. 
 - getResources(param_type, resource_type)¶
- Get the stepper resources in the settings that are instances of - param_typeand have a resource_type attribute that is- resource_type.- Note does not work for list/set/tuple subparams in the settings. - Parameters
- param_type (_StepperResource) – the resource parameter type 
- resource_type (ResourceType) – the type of resource to get 
 
- Returns
- the set of stepper resources of - resource_type
- Return type
- set of _StepperResource 
 
 - getRunInfo()¶
 - getStepId()¶
 - inherits(self, str) bool¶
 - initializeTopics()¶
 - inputs()¶
 - installEventFilter(self, QObject)¶
 - isSignalConnected(self, QMetaMethod) bool¶
 - isWidgetType(self) bool¶
 - isWindowType(self) bool¶
 - killTimer(self, int)¶
 - metaObject(self) QMetaObject¶
 - moveToThread(self, QThread)¶
 - objectName(self) str¶
 - objectNameChanged¶
- objectNameChanged(self, str) [signal] 
 - outputs(*args, **kwargs)¶
 - parent(self) QObject¶
 - prettyPrintRunInfo()¶
- Format and print info about the step’s run. 
 - property(self, str) Any¶
 - pyqtConfigure(...)¶
- Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable. 
 - receivers(self, PYQT_SIGNAL) int¶
 - reduceFunction(inputs)¶
 - removeEventFilter(self, QObject)¶
 - report(prefix='')¶
- Report the settings and batch settings for this step. 
 - sender(self) QObject¶
 - senderSignalIndex(self) int¶
 - setBatchSettings(*args, **kwargs)¶
 - setInputFile(fname)¶
 - setInputTopic(inp_topic: Optional[str])¶
 - setInputs(*args, **kwargs)¶
 - setObjectName(self, str)¶
 - setOutputTopic(outp_topic: Optional[str])¶
 - setParent(self, QObject)¶
 - setProperty(self, str, Any) bool¶
 - setSettings(*args, **kwargs)¶
 - signalsBlocked(self) bool¶
 - startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) int¶
 - staticMetaObject = <PyQt5.QtCore.QMetaObject object>¶
 - thread(self) QThread¶
 - timerEvent(self, QTimerEvent)¶
 - property topic_prefix¶
 - property topic_suffix¶
 - tr(self, str, disambiguation: str = None, n: int = - 1) str¶
 - usingPubsub()¶
 - writeOutputsToFile(fname)¶
- Write outputs to - fname. By default, the output file will consist of one line for each output with whatever is produced when passing the out- put to- str. Override this method if more complex behavior is needed.
 
- class schrodinger.application.steps.enumerators.RouteEvaluator(*args, **kwargs)[source]¶
- 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¶
 - class Settings(*args, _param_type=<object object>, **kwargs)[source]¶
- Bases: - schrodinger.models.parameters.CompoundParam- max_products: int¶
- Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example: - class Coord(CompoundParam): x: int y: int - An instance of the Coord class can be created normally, and Params can be accessed as normal attributes: - coord = Coord() coord.x = 4 - When a Param value is set, the - valueChangedsignal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:- class Atom(CompoundParam): coord: Coord element: str 
 - seed: int¶
- Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example: - class Coord(CompoundParam): x: int y: int - An instance of the Coord class can be created normally, and Params can be accessed as normal attributes: - coord = Coord() coord.x = 4 - When a Param value is set, the - valueChangedsignal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:- class Atom(CompoundParam): coord: Coord element: str 
 - reagent_lib: schrodinger.stepper.stepper.StepperFolder¶
- Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example: - class Coord(CompoundParam): x: int y: int - An instance of the Coord class can be created normally, and Params can be accessed as normal attributes: - coord = Coord() coord.x = 4 - When a Param value is set, the - valueChangedsignal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:- class Atom(CompoundParam): coord: Coord element: str 
 - DataClass¶
- This class can be used to declare a public attribute on a - CompoundParam. Declared public attributes can be used without error.- Example usage: - class Coord(CompoundParam): x: int y: int note = NonParamAttribute() coord = Coord() coord.note = "hello" # No error 
 - __init__(default_value=<object object>, _param_type=<object object>, **kwargs)¶
 - classmethod addSubParam(name, param, update_owner=True)¶
 - blockSignals(self, bool) bool¶
 - block_signal_propagation()¶
 - childEvent(self, QChildEvent)¶
 - children(self) List[QObject]¶
 - classmethod configureParam()¶
- Override this class method to set up the abstract param class (e.g. setParamReference on child params.) 
 - connectNotify(self, QMetaMethod)¶
 - customEvent(self, QEvent)¶
 - classmethod defaultValue(*args, **kwargs)¶
 - deleteLater(self)¶
 - destroyed¶
- destroyed(self, object: QObject = None) [signal] 
 - disconnect(QMetaObject.Connection) bool¶
- disconnect(self) None
 - disconnectNotify(self, QMetaMethod)¶
 - dumpObjectInfo(self)¶
 - dumpObjectTree(self)¶
 - dynamicPropertyNames(self) List[QByteArray]¶
 - event(self, QEvent) bool¶
 - eventFilter(self, QObject, QEvent) bool¶
 - findChild(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) QObject¶
- findChild(self, Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) QObject
 - findChildren(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]¶
- findChildren(self, Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, Tuple, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, Tuple, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
 - classmethod fromJson(json_obj)¶
- A factory method which constructs a new object from a given dict loaded from a json string or file. - Parameters
- json_obj (dict) – A json-loaded dictionary to create an object from. 
- Returns
- An instance of this class. 
- Return type
- cls 
 
 - classmethod fromJsonImplementation(json_dict)¶
- Sets the value of this compound param value object from a JSON dict. - Warning - This should never be called directly. 
 - getAbstractParam(*args, **kwargs)¶
 - classmethod getJsonBlacklist()¶
- Override to customize what params are serialized. - Implementations should return a list of abstract params that should be omitted from serialization. - ..NOTE
- Returned abstract params must be direct child params of - cls, e.g.- cls.name, not- cls.coord.x.
 
 - classmethod getParamSignal(*args, **kwargs)¶
 - classmethod getParamValue(*args, **kwargs)¶
 - classmethod getSubParam(name)¶
- Get the value of a subparam using the string name: - c = Coord() assert c.getSubParam('x') == 0 - Note - Using the string name to access params is generally discouraged, but can be useful for serializing/deserializing param data. - Parameters
- name (str) – The name of the subparam to get the value for. 
 
 - classmethod getSubParams()¶
- Return a dictionary mapping subparam names to their values. 
 - getTypeHint()¶
 - get_version()¶
- Method to get the version of a particular object. Defaults to the current version of mmshare. This class can be overridden for custom versioning behavior. 
 - inherits(self, str) bool¶
 - initAbstract()¶
 - initConcrete()¶
- Override to customize initialization of concrete params. 
 - initializeValue()¶
- Override to dynamically set up the default value of the param. Useful for default values that are determined at runtime. This is called any time the param is reset. 
 - installEventFilter(self, QObject)¶
 - classmethod isAbstract()¶
- Whether the param is an “abstract” param. 
 - isDefault(*args, **kwargs)¶
 - isSignalConnected(self, QMetaMethod) bool¶
 - isWidgetType(self) bool¶
 - isWindowType(self) bool¶
 - killTimer(self, int)¶
 - max_productsChanged¶
 - max_productsReplaced¶
 - metaObject(self) QMetaObject¶
 - moveToThread(self, QThread)¶
 - objectName(self) str¶
 - objectNameChanged¶
- objectNameChanged(self, str) [signal] 
 - classmethod owner()¶
- Get the owner of the param: - # Can be called on an abstract param: assert Coord.x.owner() == Coord # ...or on an instance of a CompoundParam a = Atom() assert a.coord.owner() == a 
 - classmethod ownerChain()¶
- Returns a list of param owners starting from the toplevel param and ending with self. Examples: - foo.bar.atom.coord.ownerChain()will return- [foo, bar, atom, coord]where every item is a concrete param.- Foo.bar.atom.coord.x.ownerChain()will return- [Foo, Foo.bar, Foo.atom.coord, Foo.atom.coord.x]where every item is an abstract params.
 - classmethod paramName()¶
- Get the name of the param: - # Can be called on an abstract param: print(Coord.x.paramName()) # 'x' # ...or on an instance of a CompoundParam a = Atom() a.coord.paramName() # 'coord' 
 - parent(self) QObject¶
 - property(self, str) Any¶
 - pyqtConfigure(...)¶
- Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable. 
 - reagent_libChanged¶
 - reagent_libReplaced¶
 - receivers(self, PYQT_SIGNAL) int¶
 - removeEventFilter(self, QObject)¶
 - reset(*args, **kwargs)¶
 - seedChanged¶
 - seedReplaced¶
 - sender(self) QObject¶
 - senderSignalIndex(self) int¶
 - setObjectName(self, str)¶
 - classmethod setParamValue(*args, **kwargs)¶
 - setParent(self, QObject)¶
 - setProperty(self, str, Any) bool¶
 - classmethod setReference(param1, param2)¶
- Call this class method from configureParam to indicate that two params should be kept in sync. The initial values will start with the default value of - param1. Example:- class Square(CompoundParam): width: float = 5 height: float = 10 @classmethod def configureParam(cls): super().configureParam() cls.setReference(cls.width, cls.height) square = Square() assert square.width == square.height == 5 # Default value of width # takes priority square.height = 7 assert square.width == square.height == 7 square.width = 6 assert square.width == square.height == 6 - Parameters
- param1 – The first abstract param to keep synced 
- param2 – The second abstract param. After instantiation, this param will take on the value of param1. 
 
 
 - setValue(*args, **kwargs)¶
 - signalsBlocked(self) bool¶
 - skip_eq_check()¶
 - startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) int¶
 - staticMetaObject = <PyQt5.QtCore.QMetaObject object>¶
 - thread(self) QThread¶
 - timerEvent(self, QTimerEvent)¶
 - toDict(*args, **kwargs)¶
 - toJson(_mark_version=True)¶
- Create and returns a data structure made up of jsonable items. - Return type
- An instance of one the classes from NATIVE_JSON_DATATYPES 
 
 - toJsonImplementation(*args, **kwargs)¶
- Abstract method that must be defined by all derived classes. Converts an instance of the derived class into a jsonifiable object. - Returns
- A dict made up of JSON native datatypes or Jsonable objects. See the link below for a table of such types. https://docs.python.org/2/library/json.html#encoders-and-decoders 
 
 - tr(self, str, disambiguation: str = None, n: int = - 1) str¶
 - valueChanged¶
 
 - validateSettings()[source]¶
- Check whether the step settings are valid and return a list of - SettingsErrorand- SettingsWarningto report any invalid settings. Default implementation checks that all stepper files are set to valid file paths.- Return type
- list[TaskError or TaskWarning] 
 
 - setUp()[source]¶
- Hook for adding any type of work that needs to happen before any outputs are created. 
 - mapFunction(route)[source]¶
- 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):
- … 
 
 
 - Output¶
- alias of - rdkit.Chem.rdchem.Mol
 - OutputSerializer¶
- alias of - schrodinger.application.steps.dataclasses.MolToSmilesSerializer
 - __init__(*args, **kwargs)¶
 - blockSignals(self, bool) bool¶
 - childEvent(self, QChildEvent)¶
 - children(self) List[QObject]¶
 - 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. 
 - property cloud_service_script¶
 - connectNotify(self, QMetaMethod)¶
 - customEvent(self, QEvent)¶
 - deleteLater(self)¶
 - destroyed¶
- destroyed(self, object: QObject = None) [signal] 
 - disconnect(QMetaObject.Connection) bool¶
- disconnect(self) None
 - disconnectNotify(self, QMetaMethod)¶
 - dumpObjectInfo(self)¶
 - dumpObjectTree(self)¶
 - dynamicPropertyNames(self) List[QByteArray]¶
 - event(self, QEvent) bool¶
 - eventFilter(self, QObject, QEvent) bool¶
 - findChild(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) QObject¶
- findChild(self, Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) QObject
 - findChildren(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]¶
- findChildren(self, Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, Tuple, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, Tuple, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
 - getInputTopic() Optional[str]¶
 - getLicenseRequirements()¶
 - getOutputSerializer()¶
 - getOutputTopic() Optional[str]¶
 - getOutputs()¶
- Gets all the outputs in a list by fully iterating the output generator. 
 - getResources(param_type, resource_type)¶
- Get the stepper resources in the settings that are instances of - param_typeand have a resource_type attribute that is- resource_type.- Note does not work for list/set/tuple subparams in the settings. - Parameters
- param_type (_StepperResource) – the resource parameter type 
- resource_type (ResourceType) – the type of resource to get 
 
- Returns
- the set of stepper resources of - resource_type
- Return type
- set of _StepperResource 
 
 - getRunInfo()¶
 - getStepId()¶
 - inherits(self, str) bool¶
 - initializeTopics()¶
 - inputs()¶
 - installEventFilter(self, QObject)¶
 - isSignalConnected(self, QMetaMethod) bool¶
 - isWidgetType(self) bool¶
 - isWindowType(self) bool¶
 - killTimer(self, int)¶
 - metaObject(self) QMetaObject¶
 - moveToThread(self, QThread)¶
 - objectName(self) str¶
 - objectNameChanged¶
- objectNameChanged(self, str) [signal] 
 - outputs(*args, **kwargs)¶
 - parent(self) QObject¶
 - prettyPrintRunInfo()¶
- Format and print info about the step’s run. 
 - property(self, str) Any¶
 - pyqtConfigure(...)¶
- Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable. 
 - receivers(self, PYQT_SIGNAL) int¶
 - reduceFunction(inputs)¶
 - removeEventFilter(self, QObject)¶
 - report(prefix='')¶
- Report the settings and batch settings for this step. 
 - sender(self) QObject¶
 - senderSignalIndex(self) int¶
 - setBatchSettings(*args, **kwargs)¶
 - setInputFile(fname)¶
 - setInputTopic(inp_topic: Optional[str])¶
 - setInputs(*args, **kwargs)¶
 - setObjectName(self, str)¶
 - setOutputTopic(outp_topic: Optional[str])¶
 - setParent(self, QObject)¶
 - setProperty(self, str, Any) bool¶
 - setSettings(*args, **kwargs)¶
 - signalsBlocked(self) bool¶
 - startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) int¶
 - staticMetaObject = <PyQt5.QtCore.QMetaObject object>¶
 - thread(self) QThread¶
 - timerEvent(self, QTimerEvent)¶
 - property topic_prefix¶
 - property topic_suffix¶
 - tr(self, str, disambiguation: str = None, n: int = - 1) str¶
 - usingPubsub()¶
 - writeOutputsToFile(fname)¶
- Write outputs to - fname. By default, the output file will consist of one line for each output with whatever is produced when passing the out- put to- str. Override this method if more complex behavior is needed.
 
- class schrodinger.application.steps.enumerators.Decorator(*args, **kwargs)[source]¶
- Bases: - schrodinger.application.steps.basesteps.MolMapStep- 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_smartssetting allows for filtering of which reagents in the- rgroup_fileare used for the decoration reaction. The default value of ‘#6,#7,#8,#9,#16,#17,#35,#53’ is used if the- rgroup_atom_smartsis an empty string or None.- The settings is a - filters.ProfileSettingsinstance whose- property_rangesare used to determine with R-groups are allowed to react. The- property_rangesare 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)[source]¶
- Bases: - schrodinger.application.steps.filters.ProfileSettings- rgroup_file: schrodinger.stepper.stepper.StepperFile¶
- Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example: - class Coord(CompoundParam): x: int y: int - An instance of the Coord class can be created normally, and Params can be accessed as normal attributes: - coord = Coord() coord.x = 4 - When a Param value is set, the - valueChangedsignal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:- class Atom(CompoundParam): coord: Coord element: str 
 - core_smarts: str¶
- Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example: - class Coord(CompoundParam): x: int y: int - An instance of the Coord class can be created normally, and Params can be accessed as normal attributes: - coord = Coord() coord.x = 4 - When a Param value is set, the - valueChangedsignal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:- class Atom(CompoundParam): coord: Coord element: str 
 - rgroup_atom_smarts: str¶
- Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example: - class Coord(CompoundParam): x: int y: int - An instance of the Coord class can be created normally, and Params can be accessed as normal attributes: - coord = Coord() coord.x = 4 - When a Param value is set, the - valueChangedsignal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:- class Atom(CompoundParam): coord: Coord element: str 
 - validate(step)[source]¶
- Validate the settings on behalf of a step. - Parameters
- step – stepper._BaseStep 
- Return type
- list[TaskError or TaskWarning] 
 
 - DataClass¶
- This class can be used to declare a public attribute on a - CompoundParam. Declared public attributes can be used without error.- Example usage: - class Coord(CompoundParam): x: int y: int note = NonParamAttribute() coord = Coord() coord.note = "hello" # No error 
 - __init__(default_value=<object object>, _param_type=<object object>, **kwargs)¶
 - classmethod addSubParam(name, param, update_owner=True)¶
 - blockSignals(self, bool) bool¶
 - block_signal_propagation()¶
 - childEvent(self, QChildEvent)¶
 - children(self) List[QObject]¶
 - classmethod configureParam()¶
- Override this class method to set up the abstract param class (e.g. setParamReference on child params.) 
 - connectNotify(self, QMetaMethod)¶
 - core_smartsChanged¶
 - core_smartsReplaced¶
 - customEvent(self, QEvent)¶
 - classmethod defaultValue(*args, **kwargs)¶
 - deleteLater(self)¶
 - destroyed¶
- destroyed(self, object: QObject = None) [signal] 
 - disconnect(QMetaObject.Connection) bool¶
- disconnect(self) None
 - disconnectNotify(self, QMetaMethod)¶
 - dumpObjectInfo(self)¶
 - dumpObjectTree(self)¶
 - dynamicPropertyNames(self) List[QByteArray]¶
 - event(self, QEvent) bool¶
 - eventFilter(self, QObject, QEvent) bool¶
 - findChild(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) QObject¶
- findChild(self, Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) QObject
 - findChildren(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]¶
- findChildren(self, Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, Tuple, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, Tuple, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
 - classmethod fromJson(json_obj)¶
- A factory method which constructs a new object from a given dict loaded from a json string or file. - Parameters
- json_obj (dict) – A json-loaded dictionary to create an object from. 
- Returns
- An instance of this class. 
- Return type
- cls 
 
 - classmethod fromJsonImplementation(json_dict)¶
- Sets the value of this compound param value object from a JSON dict. - Warning - This should never be called directly. 
 - getAbstractParam(*args, **kwargs)¶
 - classmethod getJsonBlacklist()¶
- Override to customize what params are serialized. - Implementations should return a list of abstract params that should be omitted from serialization. - ..NOTE
- Returned abstract params must be direct child params of - cls, e.g.- cls.name, not- cls.coord.x.
 
 - classmethod getParamSignal(*args, **kwargs)¶
 - classmethod getParamValue(*args, **kwargs)¶
 - classmethod getSubParam(name)¶
- Get the value of a subparam using the string name: - c = Coord() assert c.getSubParam('x') == 0 - Note - Using the string name to access params is generally discouraged, but can be useful for serializing/deserializing param data. - Parameters
- name (str) – The name of the subparam to get the value for. 
 
 - classmethod getSubParams()¶
- Return a dictionary mapping subparam names to their values. 
 - getTypeHint()¶
 - get_version()¶
- Method to get the version of a particular object. Defaults to the current version of mmshare. This class can be overridden for custom versioning behavior. 
 - inherits(self, str) bool¶
 - initAbstract()¶
 - initConcrete()¶
- Override to customize initialization of concrete params. 
 - initializeValue()¶
- Override to dynamically set up the default value of the param. Useful for default values that are determined at runtime. This is called any time the param is reset. 
 - installEventFilter(self, QObject)¶
 - classmethod isAbstract()¶
- Whether the param is an “abstract” param. 
 - isDefault(*args, **kwargs)¶
 - isSignalConnected(self, QMetaMethod) bool¶
 - isWidgetType(self) bool¶
 - isWindowType(self) bool¶
 - killTimer(self, int)¶
 - metaObject(self) QMetaObject¶
 - moveToThread(self, QThread)¶
 - objectName(self) str¶
 - objectNameChanged¶
- objectNameChanged(self, str) [signal] 
 - classmethod owner()¶
- Get the owner of the param: - # Can be called on an abstract param: assert Coord.x.owner() == Coord # ...or on an instance of a CompoundParam a = Atom() assert a.coord.owner() == a 
 - classmethod ownerChain()¶
- Returns a list of param owners starting from the toplevel param and ending with self. Examples: - foo.bar.atom.coord.ownerChain()will return- [foo, bar, atom, coord]where every item is a concrete param.- Foo.bar.atom.coord.x.ownerChain()will return- [Foo, Foo.bar, Foo.atom.coord, Foo.atom.coord.x]where every item is an abstract params.
 - classmethod paramName()¶
- Get the name of the param: - # Can be called on an abstract param: print(Coord.x.paramName()) # 'x' # ...or on an instance of a CompoundParam a = Atom() a.coord.paramName() # 'coord' 
 - parent(self) QObject¶
 - property(self, str) Any¶
 - property_ranges: Dict[str, List[float]]¶
- A Param to represent dictionaries. Values of this param will have a - mutatedsignal that will be emitted whenever any mutation method is called.- The constructor optionally takes a - value_classkeyword argument to specify what type of class the values will be. This information will be used for jsonifying the dictionary if specified. (Note that non-string keys are not currently supported for jsonification. This may change in the future. See PANEL-13029).
 - property_rangesChanged¶
 - property_rangesReplaced¶
 - pyqtConfigure(...)¶
- Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable. 
 - receivers(self, PYQT_SIGNAL) int¶
 - removeEventFilter(self, QObject)¶
 - reset(*args, **kwargs)¶
 - rgroup_atom_smartsChanged¶
 - rgroup_atom_smartsReplaced¶
 - rgroup_fileChanged¶
 - rgroup_fileReplaced¶
 - sender(self) QObject¶
 - senderSignalIndex(self) int¶
 - setObjectName(self, str)¶
 - classmethod setParamValue(*args, **kwargs)¶
 - setParent(self, QObject)¶
 - setProperty(self, str, Any) bool¶
 - classmethod setReference(param1, param2)¶
- Call this class method from configureParam to indicate that two params should be kept in sync. The initial values will start with the default value of - param1. Example:- class Square(CompoundParam): width: float = 5 height: float = 10 @classmethod def configureParam(cls): super().configureParam() cls.setReference(cls.width, cls.height) square = Square() assert square.width == square.height == 5 # Default value of width # takes priority square.height = 7 assert square.width == square.height == 7 square.width = 6 assert square.width == square.height == 6 - Parameters
- param1 – The first abstract param to keep synced 
- param2 – The second abstract param. After instantiation, this param will take on the value of param1. 
 
 
 - setValue(*args, **kwargs)¶
 - signalsBlocked(self) bool¶
 - skip_eq_check()¶
 - startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) int¶
 - staticMetaObject = <PyQt5.QtCore.QMetaObject object>¶
 - thread(self) QThread¶
 - timerEvent(self, QTimerEvent)¶
 - toDict(*args, **kwargs)¶
 - toJson(_mark_version=True)¶
- Create and returns a data structure made up of jsonable items. - Return type
- An instance of one the classes from NATIVE_JSON_DATATYPES 
 
 - toJsonImplementation(*args, **kwargs)¶
- Abstract method that must be defined by all derived classes. Converts an instance of the derived class into a jsonifiable object. - Returns
- A dict made up of JSON native datatypes or Jsonable objects. See the link below for a table of such types. https://docs.python.org/2/library/json.html#encoders-and-decoders 
 
 - tr(self, str, disambiguation: str = None, n: int = - 1) str¶
 - valueChanged¶
 
 - validateSettings()[source]¶
- Check whether the step settings are valid and return a list of - SettingsErrorand- SettingsWarningto report any invalid settings. Default implementation checks that all stepper files are set to valid file paths.- Return type
- list[TaskError or TaskWarning] 
 
 - setUp()[source]¶
- Hook for adding any type of work that needs to happen before any outputs are created. 
 - Input¶
- alias of - rdkit.Chem.rdchem.Mol
 - InputSerializer¶
- alias of - schrodinger.application.steps.dataclasses.MolToSmilesSerializer
 - Output¶
- alias of - rdkit.Chem.rdchem.Mol
 - OutputSerializer¶
- alias of - schrodinger.application.steps.dataclasses.MolToSmilesSerializer
 - __init__(*args, **kwargs)¶
 - blockSignals(self, bool) bool¶
 - childEvent(self, QChildEvent)¶
 - children(self) List[QObject]¶
 - 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. 
 - property cloud_service_script¶
 - connectNotify(self, QMetaMethod)¶
 - customEvent(self, QEvent)¶
 - deleteLater(self)¶
 - destroyed¶
- destroyed(self, object: QObject = None) [signal] 
 - disconnect(QMetaObject.Connection) bool¶
- disconnect(self) None
 - disconnectNotify(self, QMetaMethod)¶
 - dumpObjectInfo(self)¶
 - dumpObjectTree(self)¶
 - dynamicPropertyNames(self) List[QByteArray]¶
 - event(self, QEvent) bool¶
 - eventFilter(self, QObject, QEvent) bool¶
 - findChild(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) QObject¶
- findChild(self, Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) QObject
 - findChildren(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]¶
- findChildren(self, Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, Tuple, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, Tuple, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
 - getInputTopic() Optional[str]¶
 - getLicenseRequirements()¶
 - getOutputSerializer()¶
 - getOutputTopic() Optional[str]¶
 - getOutputs()¶
- Gets all the outputs in a list by fully iterating the output generator. 
 - getResources(param_type, resource_type)¶
- Get the stepper resources in the settings that are instances of - param_typeand have a resource_type attribute that is- resource_type.- Note does not work for list/set/tuple subparams in the settings. - Parameters
- param_type (_StepperResource) – the resource parameter type 
- resource_type (ResourceType) – the type of resource to get 
 
- Returns
- the set of stepper resources of - resource_type
- Return type
- set of _StepperResource 
 
 - getRunInfo()¶
 - getStepId()¶
 - inherits(self, str) bool¶
 - initializeTopics()¶
 - inputs()¶
 - installEventFilter(self, QObject)¶
 - isSignalConnected(self, QMetaMethod) bool¶
 - isWidgetType(self) bool¶
 - isWindowType(self) bool¶
 - killTimer(self, int)¶
 - metaObject(self) QMetaObject¶
 - moveToThread(self, QThread)¶
 - objectName(self) str¶
 - objectNameChanged¶
- objectNameChanged(self, str) [signal] 
 - outputs(*args, **kwargs)¶
 - parent(self) QObject¶
 - prettyPrintRunInfo()¶
- Format and print info about the step’s run. 
 - property(self, str) Any¶
 - pyqtConfigure(...)¶
- Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable. 
 - receivers(self, PYQT_SIGNAL) int¶
 - reduceFunction(inputs)¶
- 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 
 - removeEventFilter(self, QObject)¶
 - report(prefix='')¶
- Report the settings and batch settings for this step. 
 - sender(self) QObject¶
 - senderSignalIndex(self) int¶
 - setBatchSettings(*args, **kwargs)¶
 - setInputFile(fname)¶
 - setInputTopic(inp_topic: Optional[str])¶
 - setInputs(*args, **kwargs)¶
 - setObjectName(self, str)¶
 - setOutputTopic(outp_topic: Optional[str])¶
 - setParent(self, QObject)¶
 - setProperty(self, str, Any) bool¶
 - setSettings(*args, **kwargs)¶
 - signalsBlocked(self) bool¶
 - startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) int¶
 - staticMetaObject = <PyQt5.QtCore.QMetaObject object>¶
 - thread(self) QThread¶
 - timerEvent(self, QTimerEvent)¶
 - property topic_prefix¶
 - property topic_suffix¶
 - tr(self, str, disambiguation: str = None, n: int = - 1) str¶
 - usingPubsub()¶
 - writeOutputsToFile(fname)¶
- Write outputs to - fname. By default, the output file will consist of one line for each output with whatever is produced when passing the out- put to- str. Override this method if more complex behavior is needed.
 
- class schrodinger.application.steps.enumerators.FragmenterMixin[source]¶
- Bases: - object- A mixin providing trimmer functionality for fragmenters. - BOND_SMARTS¶
- alias of - NotImplementedError
 - getBreakableBonds(mol)[source]¶
- Return the bond indices in the molecule that are allowed to be broken. - Parameters
- mol (Chem.Mol) – the molecule to fragment 
- Returns
- a generator of bonds to break in the molecule 
- Return type
- generator of int 
 
 - fragmentToMolecule(fragment)[source]¶
- Return the molecule version of the fragment. - Parameters
- fragment (Chem.Mol) – the fragment 
- Returns
- the molecule version of the fragment 
- Return type
- Chem.Mol 
 
 - isFragmentableMol(mol)[source]¶
- Use this method to determine whether the molecule may be fragmented. - Parameters
- mol (Chem.Mol) – the molecule to check 
- Returns
- whether the molecule can/should be further fragmented 
- Return type
- bool 
 
 - isAcceptableFragment(mol)[source]¶
- Use this method to determine which fragments are acceptable. - Parameters
- mol (Chem.Mol) – the molecule to check 
- Returns
- whether the fragment is acceptable 
- Return type
- bool 
 
 - trimmer(mol, max_fragments=500)[source]¶
- Recursively trim the specified mol to generate maximally max_fragments fragment molecules. - Returns the input molecule first if it is an acceptable fragment. - Parameters
- mol (Chem.Mol) – Mol to be fragmented. 
- max_fragments (int) – the total number of fragment molecules to generate 
 
- Returns
- generator of trimmed molecules 
- Return type
- generator of Chem.Mol 
 
 
- class schrodinger.application.steps.enumerators.Fragmenter(*args, **kwargs)[source]¶
- Bases: - schrodinger.application.steps.filters.MaxMolWtMixin,- schrodinger.application.steps.enumerators.FragmenterMixin,- schrodinger.application.steps.basesteps.MolMapStep- Recursively fragment molecules. - Unless it is filtered due to it’s molecular weight or core smarts, this step returns the original molecule first, followed by unique fragment molecules that contain the SMARTS substructure defined in settings and have a molecular weight less than or equal to the optional max_mol_wt setting. The number of molecules returned is limited by max_out in the settings. Fragmentation will only take place for bonds defined in - BOND_SMARTS.- BOND_SMARTS = (<rdkit.Chem.rdchem.Mol object>, <rdkit.Chem.rdchem.Mol object>, <rdkit.Chem.rdchem.Mol object>, <rdkit.Chem.rdchem.Mol object>)¶
 - class Settings(*args, _param_type=<object object>, **kwargs)[source]¶
- Bases: - schrodinger.application.steps.filters.MaxMolWtSettings- core_smarts: str¶
- Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example: - class Coord(CompoundParam): x: int y: int - An instance of the Coord class can be created normally, and Params can be accessed as normal attributes: - coord = Coord() coord.x = 4 - When a Param value is set, the - valueChangedsignal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:- class Atom(CompoundParam): coord: Coord element: str 
 - max_out: int¶
- Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example: - class Coord(CompoundParam): x: int y: int - An instance of the Coord class can be created normally, and Params can be accessed as normal attributes: - coord = Coord() coord.x = 4 - When a Param value is set, the - valueChangedsignal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:- class Atom(CompoundParam): coord: Coord element: str 
 - DataClass¶
- This class can be used to declare a public attribute on a - CompoundParam. Declared public attributes can be used without error.- Example usage: - class Coord(CompoundParam): x: int y: int note = NonParamAttribute() coord = Coord() coord.note = "hello" # No error 
 - __init__(default_value=<object object>, _param_type=<object object>, **kwargs)¶
 - classmethod addSubParam(name, param, update_owner=True)¶
 - blockSignals(self, bool) bool¶
 - block_signal_propagation()¶
 - childEvent(self, QChildEvent)¶
 - children(self) List[QObject]¶
 - classmethod configureParam()¶
- Override this class method to set up the abstract param class (e.g. setParamReference on child params.) 
 - connectNotify(self, QMetaMethod)¶
 - core_smartsChanged¶
 - core_smartsReplaced¶
 - customEvent(self, QEvent)¶
 - classmethod defaultValue(*args, **kwargs)¶
 - deleteLater(self)¶
 - destroyed¶
- destroyed(self, object: QObject = None) [signal] 
 - disconnect(QMetaObject.Connection) bool¶
- disconnect(self) None
 - disconnectNotify(self, QMetaMethod)¶
 - dumpObjectInfo(self)¶
 - dumpObjectTree(self)¶
 - dynamicPropertyNames(self) List[QByteArray]¶
 - event(self, QEvent) bool¶
 - eventFilter(self, QObject, QEvent) bool¶
 - findChild(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) QObject¶
- findChild(self, Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) QObject
 - findChildren(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]¶
- findChildren(self, Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, Tuple, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, Tuple, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
 - classmethod fromJson(json_obj)¶
- A factory method which constructs a new object from a given dict loaded from a json string or file. - Parameters
- json_obj (dict) – A json-loaded dictionary to create an object from. 
- Returns
- An instance of this class. 
- Return type
- cls 
 
 - classmethod fromJsonImplementation(json_dict)¶
- Sets the value of this compound param value object from a JSON dict. - Warning - This should never be called directly. 
 - getAbstractParam(*args, **kwargs)¶
 - classmethod getJsonBlacklist()¶
- Override to customize what params are serialized. - Implementations should return a list of abstract params that should be omitted from serialization. - ..NOTE
- Returned abstract params must be direct child params of - cls, e.g.- cls.name, not- cls.coord.x.
 
 - classmethod getParamSignal(*args, **kwargs)¶
 - classmethod getParamValue(*args, **kwargs)¶
 - classmethod getSubParam(name)¶
- Get the value of a subparam using the string name: - c = Coord() assert c.getSubParam('x') == 0 - Note - Using the string name to access params is generally discouraged, but can be useful for serializing/deserializing param data. - Parameters
- name (str) – The name of the subparam to get the value for. 
 
 - classmethod getSubParams()¶
- Return a dictionary mapping subparam names to their values. 
 - getTypeHint()¶
 - get_version()¶
- Method to get the version of a particular object. Defaults to the current version of mmshare. This class can be overridden for custom versioning behavior. 
 - inherits(self, str) bool¶
 - initAbstract()¶
 - initConcrete()¶
- Override to customize initialization of concrete params. 
 - initializeValue()¶
- Override to dynamically set up the default value of the param. Useful for default values that are determined at runtime. This is called any time the param is reset. 
 - installEventFilter(self, QObject)¶
 - classmethod isAbstract()¶
- Whether the param is an “abstract” param. 
 - isDefault(*args, **kwargs)¶
 - isSignalConnected(self, QMetaMethod) bool¶
 - isWidgetType(self) bool¶
 - isWindowType(self) bool¶
 - killTimer(self, int)¶
 - max_mol_wt: float¶
- Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example: - class Coord(CompoundParam): x: int y: int - An instance of the Coord class can be created normally, and Params can be accessed as normal attributes: - coord = Coord() coord.x = 4 - When a Param value is set, the - valueChangedsignal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:- class Atom(CompoundParam): coord: Coord element: str 
 - max_mol_wtChanged¶
 - max_mol_wtReplaced¶
 - max_outChanged¶
 - max_outReplaced¶
 - metaObject(self) QMetaObject¶
 - moveToThread(self, QThread)¶
 - objectName(self) str¶
 - objectNameChanged¶
- objectNameChanged(self, str) [signal] 
 - classmethod owner()¶
- Get the owner of the param: - # Can be called on an abstract param: assert Coord.x.owner() == Coord # ...or on an instance of a CompoundParam a = Atom() assert a.coord.owner() == a 
 - classmethod ownerChain()¶
- Returns a list of param owners starting from the toplevel param and ending with self. Examples: - foo.bar.atom.coord.ownerChain()will return- [foo, bar, atom, coord]where every item is a concrete param.- Foo.bar.atom.coord.x.ownerChain()will return- [Foo, Foo.bar, Foo.atom.coord, Foo.atom.coord.x]where every item is an abstract params.
 - classmethod paramName()¶
- Get the name of the param: - # Can be called on an abstract param: print(Coord.x.paramName()) # 'x' # ...or on an instance of a CompoundParam a = Atom() a.coord.paramName() # 'coord' 
 - parent(self) QObject¶
 - property(self, str) Any¶
 - pyqtConfigure(...)¶
- Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable. 
 - receivers(self, PYQT_SIGNAL) int¶
 - removeEventFilter(self, QObject)¶
 - reset(*args, **kwargs)¶
 - sender(self) QObject¶
 - senderSignalIndex(self) int¶
 - setObjectName(self, str)¶
 - classmethod setParamValue(*args, **kwargs)¶
 - setParent(self, QObject)¶
 - setProperty(self, str, Any) bool¶
 - classmethod setReference(param1, param2)¶
- Call this class method from configureParam to indicate that two params should be kept in sync. The initial values will start with the default value of - param1. Example:- class Square(CompoundParam): width: float = 5 height: float = 10 @classmethod def configureParam(cls): super().configureParam() cls.setReference(cls.width, cls.height) square = Square() assert square.width == square.height == 5 # Default value of width # takes priority square.height = 7 assert square.width == square.height == 7 square.width = 6 assert square.width == square.height == 6 - Parameters
- param1 – The first abstract param to keep synced 
- param2 – The second abstract param. After instantiation, this param will take on the value of param1. 
 
 
 - setValue(*args, **kwargs)¶
 - signalsBlocked(self) bool¶
 - skip_eq_check()¶
 - startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) int¶
 - staticMetaObject = <PyQt5.QtCore.QMetaObject object>¶
 - thread(self) QThread¶
 - timerEvent(self, QTimerEvent)¶
 - toDict(*args, **kwargs)¶
 - toJson(_mark_version=True)¶
- Create and returns a data structure made up of jsonable items. - Return type
- An instance of one the classes from NATIVE_JSON_DATATYPES 
 
 - toJsonImplementation(*args, **kwargs)¶
- Abstract method that must be defined by all derived classes. Converts an instance of the derived class into a jsonifiable object. - Returns
- A dict made up of JSON native datatypes or Jsonable objects. See the link below for a table of such types. https://docs.python.org/2/library/json.html#encoders-and-decoders 
 
 - tr(self, str, disambiguation: str = None, n: int = - 1) str¶
 - valueChanged¶
 
 - validateSettings()[source]¶
- Check whether the step settings are valid and return a list of - SettingsErrorand- SettingsWarningto report any invalid settings. Default implementation checks that all stepper files are set to valid file paths.- Return type
- list[TaskError or TaskWarning] 
 
 - setUp()[source]¶
- Hook for adding any type of work that needs to happen before any outputs are created. 
 - isAcceptableFragment(mol)[source]¶
- Use this method to determine which fragments are acceptable. - Parameters
- mol (Chem.Mol) – the molecule to check 
- Returns
- whether the fragment is acceptable 
- Return type
- bool 
 
 - isFragmentableMol(mol)[source]¶
- Use this method to determine whether the molecule may be fragmented. - Parameters
- mol (Chem.Mol) – the molecule to check 
- Returns
- whether the molecule can/should be further fragmented 
- Return type
- bool 
 
 - getBreakableBonds(mol)[source]¶
- Return the bond indices in the molecule that are allowed to be broken. - Parameters
- mol (Chem.Mol) – the molecule to fragment 
- Returns
- a generator of bonds to break in the molecule 
- Return type
- generator of int 
 
 - getBreakableCoreBonds(mol)[source]¶
- Return the set of breakable core bond indices in the molecule. - Parameters
- mol (Chem.Mol) – the molecule to fragment 
- Returns
- a generator of breakable core bond indices in the molecule 
- Return type
- generator of int 
 
 - Input¶
- alias of - rdkit.Chem.rdchem.Mol
 - InputSerializer¶
- alias of - schrodinger.application.steps.dataclasses.MolToSmilesSerializer
 - Output¶
- alias of - rdkit.Chem.rdchem.Mol
 - OutputSerializer¶
- alias of - schrodinger.application.steps.dataclasses.MolToSmilesSerializer
 - __init__(*args, **kwargs)¶
 - blockSignals(self, bool) bool¶
 - childEvent(self, QChildEvent)¶
 - children(self) List[QObject]¶
 - 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. 
 - property cloud_service_script¶
 - connectNotify(self, QMetaMethod)¶
 - customEvent(self, QEvent)¶
 - deleteLater(self)¶
 - destroyed¶
- destroyed(self, object: QObject = None) [signal] 
 - disconnect(QMetaObject.Connection) bool¶
- disconnect(self) None
 - disconnectNotify(self, QMetaMethod)¶
 - dumpObjectInfo(self)¶
 - dumpObjectTree(self)¶
 - dynamicPropertyNames(self) List[QByteArray]¶
 - event(self, QEvent) bool¶
 - eventFilter(self, QObject, QEvent) bool¶
 - findChild(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) QObject¶
- findChild(self, Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) QObject
 - findChildren(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]¶
- findChildren(self, Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, Tuple, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, Tuple, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
 - fragmentToMolecule(fragment)¶
- Return the molecule version of the fragment. - Parameters
- fragment (Chem.Mol) – the fragment 
- Returns
- the molecule version of the fragment 
- Return type
- Chem.Mol 
 
 - getInputTopic() Optional[str]¶
 - getLicenseRequirements()¶
 - getOutputSerializer()¶
 - getOutputTopic() Optional[str]¶
 - getOutputs()¶
- Gets all the outputs in a list by fully iterating the output generator. 
 - getResources(param_type, resource_type)¶
- Get the stepper resources in the settings that are instances of - param_typeand have a resource_type attribute that is- resource_type.- Note does not work for list/set/tuple subparams in the settings. - Parameters
- param_type (_StepperResource) – the resource parameter type 
- resource_type (ResourceType) – the type of resource to get 
 
- Returns
- the set of stepper resources of - resource_type
- Return type
- set of _StepperResource 
 
 - getRunInfo()¶
 - getStepId()¶
 - hasAcceptableMolWt(mol)¶
- Check if the specified mol passes molecular weight checks. - Parameters
- mol (Chem.Mol) – Mol to be checked. 
- Returns
- True if the mol passes molecular weight check, False otherwise. 
- Return type
- bool 
 
 - inherits(self, str) bool¶
 - initializeTopics()¶
 - inputs()¶
 - installEventFilter(self, QObject)¶
 - isSignalConnected(self, QMetaMethod) bool¶
 - isWidgetType(self) bool¶
 - isWindowType(self) bool¶
 - killTimer(self, int)¶
 - metaObject(self) QMetaObject¶
 - moveToThread(self, QThread)¶
 - objectName(self) str¶
 - objectNameChanged¶
- objectNameChanged(self, str) [signal] 
 - outputs(*args, **kwargs)¶
 - parent(self) QObject¶
 - prettyPrintRunInfo()¶
- Format and print info about the step’s run. 
 - property(self, str) Any¶
 - pyqtConfigure(...)¶
- Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable. 
 - receivers(self, PYQT_SIGNAL) int¶
 - reduceFunction(inputs)¶
- 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 
 - removeEventFilter(self, QObject)¶
 - report(prefix='')¶
- Report the settings and batch settings for this step. 
 - sender(self) QObject¶
 - senderSignalIndex(self) int¶
 - setBatchSettings(*args, **kwargs)¶
 - setInputFile(fname)¶
 - setInputTopic(inp_topic: Optional[str])¶
 - setInputs(*args, **kwargs)¶
 - setObjectName(self, str)¶
 - setOutputTopic(outp_topic: Optional[str])¶
 - setParent(self, QObject)¶
 - setProperty(self, str, Any) bool¶
 - setSettings(*args, **kwargs)¶
 - signalsBlocked(self) bool¶
 - startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) int¶
 - staticMetaObject = <PyQt5.QtCore.QMetaObject object>¶
 - thread(self) QThread¶
 - timerEvent(self, QTimerEvent)¶
 - property topic_prefix¶
 - property topic_suffix¶
 - tr(self, str, disambiguation: str = None, n: int = - 1) str¶
 - trimmer(mol, max_fragments=500)¶
- Recursively trim the specified mol to generate maximally max_fragments fragment molecules. - Returns the input molecule first if it is an acceptable fragment. - Parameters
- mol (Chem.Mol) – Mol to be fragmented. 
- max_fragments (int) – the total number of fragment molecules to generate 
 
- Returns
- generator of trimmed molecules 
- Return type
- generator of Chem.Mol 
 
 - usingPubsub()¶
 - validateMaxMolWtSettings()¶
- Returns
- A settings error if the max mol. weight setting is not properly set, None otherwise. 
- Return type
- stepper.SettingsError or None 
 
 - writeOutputsToFile(fname)¶
- Write outputs to - fname. By default, the output file will consist of one line for each output with whatever is produced when passing the out- put to- str. Override this method if more complex behavior is needed.