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_file
of 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
valueChanged
signal 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
, notcls.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
SettingsError
andSettingsWarning
to report any invalid settings. Default implementation checks that all stepper files are set to valid file paths.- Return type
list[TaskError or TaskWarning]
- mapFunction(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_type
and have a resource_type attribute that isresource_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 tostr
. 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 pathmax_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. IfNone
, 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
valueChanged
signal 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
valueChanged
signal 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
valueChanged
signal 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
valueChanged
signal 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
valueChanged
signal 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
valueChanged
signal 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
valueChanged
signal 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
, notcls.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_type
and have a resource_type attribute that isresource_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_id
is 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_id
is 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
SettingsError
andSettingsWarning
to 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 tostr
. 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
items
to a file namedfname
.
- 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_type
and have a resource_type attribute that isresource_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
SettingsError
andSettingsWarning
to 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 tostr
. 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
valueChanged
signal 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
valueChanged
signal 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
, notcls.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
SettingsError
andSettingsWarning
to report any invalid settings. Default implementation checks that all stepper files are set to valid file paths.- Return type
list[TaskError or TaskWarning]
- setUp()[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_type
and have a resource_type attribute that isresource_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 tostr
. 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
valueChanged
signal 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
valueChanged
signal 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
valueChanged
signal 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
, notcls.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
SettingsError
andSettingsWarning
to report any invalid settings. Default implementation checks that all stepper files are set to valid file paths.- Return type
list[TaskError or TaskWarning]
- setUp()[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_type
and have a resource_type attribute that isresource_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 tostr
. 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_smarts
setting allows for filtering of which reagents in thergroup_file
are used for the decoration reaction. The default value of ‘#6,#7,#8,#9,#16,#17,#35,#53’ is used if thergroup_atom_smarts
is an empty string or None.The settings is a
filters.ProfileSettings
instance whoseproperty_ranges
are used to determine with R-groups are allowed to react. Theproperty_ranges
are optional.seealso:: filters.ProfileSettings
Example R-group reagents:
C[Ar] N[Ar]
Example of a Decorator definition in a yaml file:
Decorator: rgroup_atom_smarts: '*' # allow all unique rgroup reagents rgroup_file: rgroups_small.smi core_smarts: c1ccccc1 property_ranges: MolWt: [250, 500] RingCount: [0, 5] NumAromaticRings: [0, 3] NumAliphaticRings: [0, 5] NumSpiroAtoms: [0, 0]
- LEAVING_MOL_WT = 40.956¶
- class Settings(*args, _param_type=<object object>, **kwargs)[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
valueChanged
signal 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
valueChanged
signal 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
valueChanged
signal 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
, notcls.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
mutated
signal that will be emitted whenever any mutation method is called.The constructor optionally takes a
value_class
keyword 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
SettingsError
andSettingsWarning
to report any invalid settings. Default implementation checks that all stepper files are set to valid file paths.- Return type
list[TaskError or TaskWarning]
- setUp()[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_type
and have a resource_type attribute that isresource_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 tostr
. 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
valueChanged
signal 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
valueChanged
signal 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
, notcls.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
valueChanged
signal 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
SettingsError
andSettingsWarning
to report any invalid settings. Default implementation checks that all stepper files are set to valid file paths.- Return type
list[TaskError or TaskWarning]
- setUp()[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_type
and have a resource_type attribute that isresource_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 tostr
. Override this method if more complex behavior is needed.