schrodinger.application.prepwizard2.tasks module

schrodinger.application.prepwizard2.tasks.get_step_from_task(task)

Given a task object, return the Step that the task corresponds to.

Parameters:task (tasks.AbstractTask) – Task
Returns:Task step
Return type:Step
schrodinger.application.prepwizard2.tasks.hide_non_polar_hydrogens(st)

Hide all non-polar hydrogens in the given structure; except those that overlap with other atoms.

class schrodinger.application.prepwizard2.tasks.LoggerMixin(*args, **kwargs)

Bases: object

A Mixin for a task that provides a thin wrapper for a logger

__init__(*args, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

info(text)

Log the text as informational.

Parameters:text (str) – the info text to log
warning(text)

Log the text as a warning.

Parameters:text (str) – the warning text to log
class schrodinger.application.prepwizard2.tasks.StructureInput(default_value=<object object>, _param_type=<object object>, **kwargs)

Bases: schrodinger.models.parameters.CompoundParam

struct

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

alias of builtins.object

__init__(default_value=<object object>, _param_type=<object object>, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

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(self)
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.

:rtype : cls

classmethod fromJsonImplementation(json_dict)

Sets the value of this compound param value object from a JSON dict.

getAbstractParam(*args, **kwargs)
classmethod getJsonBlacklist()

Override to customize what params are serialized.

Implementations should return a list of abstract params that should be omitted from serialization.

..NOTE
Returned abstract params must be direct child params of cls, e.g. cls.name, not cls.coord.x.
classmethod getParamSignal(*args, **kwargs)
classmethod getParamValue(*args, **kwargs)
classmethod getSubParam(name)

Get the value of a subparam using the string name:

c = Coord()
assert c.getSubParam('x') == 0

Note

Using the string name to accss 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>
structChanged
structReplaced
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)
tr(self, str, disambiguation: str = None, n: int = -1) → str
valueChanged
class schrodinger.application.prepwizard2.tasks.GenerateStatesSettings(default_value=<object object>, _param_type=<object object>, **kwargs)

Bases: schrodinger.models.parameters.CompoundParam

epik_pH

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
epik_pHt

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_states

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
process_detected_ligands

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
process_metals_and_ions

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
process_non_water_solvents

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
process_other_hets

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
getHetTypesToProcess()

Return a list of HetType for het types that should be processed.

DataClass

alias of builtins.object

__init__(default_value=<object object>, _param_type=<object object>, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

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(self)
disconnectNotify(self, QMetaMethod)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) → List[QByteArray]
epik_pHChanged
epik_pHReplaced
epik_pHtChanged
epik_pHtReplaced
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.

:rtype : cls

classmethod fromJsonImplementation(json_dict)

Sets the value of this compound param value object from a JSON dict.

getAbstractParam(*args, **kwargs)
classmethod getJsonBlacklist()

Override to customize what params are serialized.

Implementations should return a list of abstract params that should be omitted from serialization.

..NOTE
Returned abstract params must be direct child params of cls, e.g. cls.name, not cls.coord.x.
classmethod getParamSignal(*args, **kwargs)
classmethod getParamValue(*args, **kwargs)
classmethod getSubParam(name)

Get the value of a subparam using the string name:

c = Coord()
assert c.getSubParam('x') == 0

Note

Using the string name to accss 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_statesChanged
max_statesReplaced
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
process_detected_ligandsChanged
process_detected_ligandsReplaced
process_metals_and_ionsChanged
process_metals_and_ionsReplaced
process_non_water_solventsChanged
process_non_water_solventsReplaced
process_other_hetsChanged
process_other_hetsReplaced
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)
tr(self, str, disambiguation: str = None, n: int = -1) → str
valueChanged
class schrodinger.application.prepwizard2.tasks.GenerateStatesInput(default_value=<object object>, _param_type=<object object>, **kwargs)

Bases: schrodinger.application.prepwizard2.tasks.GenerateStatesSettings, schrodinger.application.prepwizard2.tasks.StructureInput

DataClass

alias of builtins.object

__init__(default_value=<object object>, _param_type=<object object>, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

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(self)
disconnectNotify(self, QMetaMethod)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) → List[QByteArray]
epik_pH

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
epik_pHChanged
epik_pHReplaced
epik_pHt

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
epik_pHtChanged
epik_pHtReplaced
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.

:rtype : cls

classmethod fromJsonImplementation(json_dict)

Sets the value of this compound param value object from a JSON dict.

getAbstractParam(*args, **kwargs)
getHetTypesToProcess()

Return a list of HetType for het types that should be processed.

classmethod getJsonBlacklist()

Override to customize what params are serialized.

Implementations should return a list of abstract params that should be omitted from serialization.

..NOTE
Returned abstract params must be direct child params of cls, e.g. cls.name, not cls.coord.x.
classmethod getParamSignal(*args, **kwargs)
classmethod getParamValue(*args, **kwargs)
classmethod getSubParam(name)

Get the value of a subparam using the string name:

c = Coord()
assert c.getSubParam('x') == 0

Note

Using the string name to accss 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_states

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_statesChanged
max_statesReplaced
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
process_detected_ligands

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
process_detected_ligandsChanged
process_detected_ligandsReplaced
process_metals_and_ions

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
process_metals_and_ionsChanged
process_metals_and_ionsReplaced
process_non_water_solvents

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
process_non_water_solventsChanged
process_non_water_solventsReplaced
process_other_hets

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
process_other_hetsChanged
process_other_hetsReplaced
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>
struct

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
structChanged
structReplaced
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)
tr(self, str, disambiguation: str = None, n: int = -1) → str
valueChanged
class schrodinger.application.prepwizard2.tasks.PreprocessInput(default_value=<object object>, _param_type=<object object>, **kwargs)

Bases: schrodinger.application.prepwizard2.tasks.StructureInput

reference_struct

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
preprocess_delete_far_waters

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
preprocess_watdist

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
treat_metals

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
assign_bond_orders

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
use_ccd

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
add_hydrogens

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
readd_hydrogens

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
treat_disulfides

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
treat_glycosylation

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
treat_palmitoylation

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
selenomethionines

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
fillsidechains

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
fillloops

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
custom_fasta_file

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
cap_termini

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
run_epik

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
idealize_hydrogen_tf

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
generate_states_settings
isDefault()
getNumSelected()

Return the number of pre-processing steps that are enabled.

DataClass

alias of builtins.object

__init__(default_value=<object object>, _param_type=<object object>, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

classmethod addSubParam(name, param, update_owner=True)
add_hydrogensChanged
add_hydrogensReplaced
assign_bond_ordersChanged
assign_bond_ordersReplaced
blockSignals(self, bool) → bool
block_signal_propagation()
cap_terminiChanged
cap_terminiReplaced
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)
custom_fasta_fileChanged
custom_fasta_fileReplaced
classmethod defaultValue(*args, **kwargs)
deleteLater(self)
destroyed

destroyed(self, object: QObject = None) [signal]

disconnect(self)
disconnectNotify(self, QMetaMethod)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) → List[QByteArray]
event(self, QEvent) → bool
eventFilter(self, QObject, QEvent) → bool
fillloopsChanged
fillloopsReplaced
fillsidechainsChanged
fillsidechainsReplaced
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.

:rtype : cls

classmethod fromJsonImplementation(json_dict)

Sets the value of this compound param value object from a JSON dict.

generate_states_settingsChanged
generate_states_settingsReplaced
getAbstractParam(*args, **kwargs)
classmethod getJsonBlacklist()

Override to customize what params are serialized.

Implementations should return a list of abstract params that should be omitted from serialization.

..NOTE
Returned abstract params must be direct child params of cls, e.g. cls.name, not cls.coord.x.
classmethod getParamSignal(*args, **kwargs)
classmethod getParamValue(*args, **kwargs)
classmethod getSubParam(name)

Get the value of a subparam using the string name:

c = Coord()
assert c.getSubParam('x') == 0

Note

Using the string name to accss 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.

idealize_hydrogen_tfChanged
idealize_hydrogen_tfReplaced
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.

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
preprocess_delete_far_watersChanged
preprocess_delete_far_watersReplaced
preprocess_watdistChanged
preprocess_watdistReplaced
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.

readd_hydrogensChanged
readd_hydrogensReplaced
receivers(self, PYQT_SIGNAL) → int
reference_structChanged
reference_structReplaced
removeEventFilter(self, QObject)
reset(*args, **kwargs)
run_epikChanged
run_epikReplaced
selenomethioninesChanged
selenomethioninesReplaced
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>
struct

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
structChanged
structReplaced
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)
tr(self, str, disambiguation: str = None, n: int = -1) → str
treat_disulfidesChanged
treat_disulfidesReplaced
treat_glycosylationChanged
treat_glycosylationReplaced
treat_metalsChanged
treat_metalsReplaced
treat_palmitoylationChanged
treat_palmitoylationReplaced
use_ccdChanged
use_ccdReplaced
valueChanged
class schrodinger.application.prepwizard2.tasks.PreprocessTask(*args, **kwargs)

Bases: schrodinger.application.prepwizard2.tasks.LoggerMixin, schrodinger.tasks.tasks.ComboSubprocessTask

input
output

A Param to represent lists. Values of this param will have a mutated signal that will be emitted whenever any mutation method is called.

The constructor optionally takes a item_class keyword argument to specify what type of class the items in the list will be. This information will be used for jsonifying the list if specified.

message

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
validateInput()
setInitialStatus()
postProcessor()
mainFunction()
AUTO_TASKDIR = <object object>
CMDLINE = 1
DEFAULT_TASKDIR_SETTING = None
DONE = 3
DataClass

alias of builtins.object

ENTRYPOINT = 'combotask_entry_point.py'
FAILED = 2
GUI = 2
INTERRUPT_ENABLED = False
RUNNING = 1
TEMP_TASKDIR = <object object>
WAITING = 0
__init__(*args, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

addFuncToGroup(func, group=None, order=None)

Adds a function to the specified chain. Typically used for adding functions that are not methods of this object.

The function may optionally be decorated with a FuncGroupMarker. If so, the default group and order will be determined by the decorator. Any group or order explicitly passed in to addFuncToGroup will take precedence over the decorator settings.

Parameters:
  • func – the function to add
  • group (FuncGroupMarker or None) – the group marker. If the function is decorated with a FuncGoupMarker, that group marker will be the default.
  • order (float or None) – the sorting order. If the function is decorated with a FuncGoupMarker, the order specified in the decorator will be the default.
addPostprocessor(func, order=0)

Adds a postproceessor function to this task instance. If the function has been decorated with @postprocessor, the order specified by the decorator will be used.

Parameters:
  • func (typing.Callable) – the function to add
  • order (float) – the sorting order for the function relative to all other preprocessors. Takes precedence over order specified by the preprocessor decorator.
addPreprocessor(func, order=-2000)

Adds a preproceessor function to this task instance. If the function has been decorated with @preprocessor, the order specified by the decorator will be used as the default.

Parameters:
  • func – the function to add
  • order (float) – the sorting order for the function relative to all other preprocessors. Takes precedence over order specified by the preprocessor decorator.
classmethod addSubParam(name, param, update_owner=True)
backendMain()
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(self)
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.

:rtype : cls

classmethod fromJsonFilename(filename)
classmethod fromJsonImplementation(json_dict)

Sets the value of this compound param value object from a JSON dict.

getAbstractParam(*args, **kwargs)
getAddedFuncs(group=None)
getFuncGroup(group=None)

Retrieve the functions belonging to the specified group.

Parameters:group (FuncGroupMarker) – the group marker
Returns:the functions in the specified group, in order
Return type:list
classmethod getJsonBlacklist()

Override to customize what params are serialized.

Implementations should return a list of abstract params that should be omitted from serialization.

..NOTE
Returned abstract params must be direct child params of cls, e.g. cls.name, not cls.coord.x.
getLogAsString()
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 accss 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.

getTaskDir()

Returns the full path of the task directory. This is only available if the task directory exists (after creation of the taskdir or, if no task dir is specified, any time).

getTaskFilename(fname)

Return the appropriate absolute path for an input or output file in the taskdir.

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.

guard()

Context manager that saves any Exception raised inside

info(text)

Log the text as informational.

Parameters:text (str) – the info text to log
inherits(self, str) → bool
initAbstract()
initConcrete()

Override to customize initialization of concrete params.

initializeValue()

@overrides: parameters.CompoundParam

inputChanged
inputReplaced
installEventFilter(self, QObject)
classmethod isAbstract()

Whether the param is an “abstract” param.

isBackendMode()
isDefault(*args, **kwargs)
isInterruptionRequested()
isRunning()
isSignalConnected(self, QMetaMethod) → bool
isStartable()
isWidgetType(self) → bool
isWindowType(self) → bool
json_filename
json_out_filename
kill()

@overrides: AbstractTask

Kill the subprocess and set the status to FAILED.

killTimer(self, int)
makeCmd()

@overrides: AbstractCmdTask

max_progress
max_progressChanged
max_progressReplaced
messageChanged
messageReplaced
metaObject(self) → QMetaObject
moveToThread(self, QThread)
name
nameChanged
nameReplaced
objectName(self) → str
objectNameChanged

objectNameChanged(self, str) [signal]

outputChanged
outputReplaced
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
postprocessors()
Returns:A list of postprocessors, both decorated methods on the task and external functions that have been added via addPostprocessor()
Return type:list[typing.Callable]
preprocessors()
Returns:A list of preprocessors (both decorated methods on the task and external functions that have been added via addPreprocessor)
printingOutputToTerminal()
Returns:whether the StdOut and StdErr output from this task is being printed to the terminal
Return type:bool
processFuncChain(chain=None, result_callback=None)

Execute each function in the specified chain sequentially in order.

The result_callback is called after each function with the return value of that function. This can be used to respond to the return value (e.g. present information to the user, get user feedback, log the result, etc.)

The return value of the result_callback determines whether processing will proceeed to the next function.

Parameters:
  • chain (FuncChainDecorator) – which chain to process
  • result_callback – the callback that will get called with the result of each function in the chain
Returns:

a list of the results from the functions

progress
progressChanged
progressReplaced
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)
replicate()

Create a new task with the same input and settings (but no output)

requestInterruption()

Request the task to stop.

To enable this feature, subclasses should periodically check whether an interruption has been requested and terminate if it has been. If such logic has been included, INTERRUPT_ENABLED should be set to True.

reset(*args, **kwargs)
run()
runBackend()
runCmd(cmd)
classmethod runFromCmdLine()
runPostprocessing(callback=None)
runPreprocessing(*args, **kwargs)

Run the preprocessors one-by-one. By default, any failing preprocessor will raise a TaskFailure exception and terminate processing. This behavior may be customized by supplying a callback function which will be called after each preprocessor with the result of that preprocessor.

Parameters:
  • callback – a function that takes result and returns a bool that indicates whether to continue on to the next preprocessor
  • calling_context – specify a value here to indicate the context in which this preprocessing is being called. This value will be stored in an instance variable, self.calling_context, which can be accessed from any preprocessor method on this task. Typically this value will be either self.GUI, self.CMDLINE, or None, but any value may be supplied here and checked for in the preprocessor methods. self.calling_context always reverts back to None at the end of runPreprocessing.
sender(self) → QObject
senderSignalIndex(self) → int
setObjectName(self, str)
classmethod setParamValue(*args, **kwargs)
setParent(self, QObject)
setPrintingOutputToTerminal(print_to_terminal)

Set this task to print StdOut and StdErr output to terminal, or not.

Parameters:print_to_terminal (bool) – whether to send process output to terminal
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()
specifyTaskDir(taskdir_spec)

Specify the taskdir creation behavior. Use one of the following options:

A directory name (string). This may be a relative or absolute path

None - no taskdir is requested. The task will use the CWD as its taskdir

AUTO_TASKDIR - a new subdirectory will be created in the CWD using the task name as the directory name.

TEMP_TASKDIR - a temporary directory will be created in the schrodinger temp dir. This directory is cleaned up when the task is deleted.

Parameters:taskdir_spec – one of the four options listed above
start(*args, **kwargs)
startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) → int
staticMetaObject = <PyQt5.QtCore.QMetaObject object>
status
statusChanged
statusReplaced
taskDirSetting()

Returns the taskdir spec. See specifyTaskDir() for details.

taskDone
taskFailed
taskStarted
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)
tr(self, str, disambiguation: str = None, n: int = -1) → str
valueChanged
wait(timeout=None)

Block until the task is finished executing or timeout seconds have passed.

Parameters:timeout (NoneType or int) – Amount of time in seconds to wait before timing out. If None or a negative number, this method will wait until the task is finished.
warning(text)

Log the text as a warning.

Parameters:text (str) – the warning text to log
writeJsonFile(filename)
class schrodinger.application.prepwizard2.tasks.OptimizeHBondInput(default_value=<object object>, _param_type=<object object>, **kwargs)

Bases: schrodinger.application.prepwizard2.tasks.StructureInput

Model for the “Optimize H-bond Assignments” step of the workflow tab, i.e., OptimizeHBondTask.input

samplewater

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
xtal

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
simplified_pH

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
use_propka

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
propka_pH

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
label_pkas

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
force_list

A Param to represent lists. Values of this param will have a mutated signal that will be emitted whenever any mutation method is called.

The constructor optionally takes a item_class keyword argument to specify what type of class the items in the list will be. This information will be used for jsonifying the list if specified.

minimize_adj_h

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
protassign_number_sequential_cycles

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
protassign_max_cluster_size

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
idealize_hydrogen_tf

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

alias of builtins.object

__init__(default_value=<object object>, _param_type=<object object>, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

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(self)
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]

force_listChanged
force_listReplaced
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.

:rtype : cls

classmethod fromJsonImplementation(json_dict)

Sets the value of this compound param value object from a JSON dict.

getAbstractParam(*args, **kwargs)
classmethod getJsonBlacklist()

Override to customize what params are serialized.

Implementations should return a list of abstract params that should be omitted from serialization.

..NOTE
Returned abstract params must be direct child params of cls, e.g. cls.name, not cls.coord.x.
classmethod getParamSignal(*args, **kwargs)
classmethod getParamValue(*args, **kwargs)
classmethod getSubParam(name)

Get the value of a subparam using the string name:

c = Coord()
assert c.getSubParam('x') == 0

Note

Using the string name to accss 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.

idealize_hydrogen_tfChanged
idealize_hydrogen_tfReplaced
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)
label_pkasChanged
label_pkasReplaced
metaObject(self) → QMetaObject
minimize_adj_hChanged
minimize_adj_hReplaced
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
propka_pHChanged
propka_pHReplaced
protassign_max_cluster_sizeChanged
protassign_max_cluster_sizeReplaced
protassign_number_sequential_cyclesChanged
protassign_number_sequential_cyclesReplaced
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)
samplewaterChanged
samplewaterReplaced
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
simplified_pHChanged
simplified_pHReplaced
skip_eq_check()
startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) → int
staticMetaObject = <PyQt5.QtCore.QMetaObject object>
struct

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
structChanged
structReplaced
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)
tr(self, str, disambiguation: str = None, n: int = -1) → str
use_propkaChanged
use_propkaReplaced
valueChanged
xtalChanged
xtalReplaced
class schrodinger.application.prepwizard2.tasks.OptimizeHBondTask(*args, **kwargs)

Bases: schrodinger.application.prepwizard2.tasks.LoggerMixin, schrodinger.tasks.tasks.SubprocessCmdTask

A task optimized H-Bonds, i.e., to run the protein assignment (protassign)

input

Model for the “Optimize H-bond Assignments” step of the workflow tab, i.e., OptimizeHBondTask.input

output

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
message

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
validateInput()
setInitialStatus()
prepareInput()
makeCmd()

Create the command to run impref not under job control (-NOJOBID)

runCmd(cmd)
processOutput()
AUTO_TASKDIR = <object object>
CMDLINE = 1
DEFAULT_TASKDIR_SETTING = None
DONE = 3
DataClass

alias of builtins.object

FAILED = 2
GUI = 2
INTERRUPT_ENABLED = False
RUNNING = 1
TEMP_TASKDIR = <object object>
WAITING = 0
__init__(*args, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

addFuncToGroup(func, group=None, order=None)

Adds a function to the specified chain. Typically used for adding functions that are not methods of this object.

The function may optionally be decorated with a FuncGroupMarker. If so, the default group and order will be determined by the decorator. Any group or order explicitly passed in to addFuncToGroup will take precedence over the decorator settings.

Parameters:
  • func – the function to add
  • group (FuncGroupMarker or None) – the group marker. If the function is decorated with a FuncGoupMarker, that group marker will be the default.
  • order (float or None) – the sorting order. If the function is decorated with a FuncGoupMarker, the order specified in the decorator will be the default.
addPostprocessor(func, order=0)

Adds a postproceessor function to this task instance. If the function has been decorated with @postprocessor, the order specified by the decorator will be used.

Parameters:
  • func (typing.Callable) – the function to add
  • order (float) – the sorting order for the function relative to all other preprocessors. Takes precedence over order specified by the preprocessor decorator.
addPreprocessor(func, order=-2000)

Adds a preproceessor function to this task instance. If the function has been decorated with @preprocessor, the order specified by the decorator will be used as the default.

Parameters:
  • func – the function to add
  • order (float) – the sorting order for the function relative to all other preprocessors. Takes precedence over order specified by the preprocessor decorator.
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(self)
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.

:rtype : cls

classmethod fromJsonFilename(filename)
classmethod fromJsonImplementation(json_dict)

Sets the value of this compound param value object from a JSON dict.

getAbstractParam(*args, **kwargs)
getAddedFuncs(group=None)
getFuncGroup(group=None)

Retrieve the functions belonging to the specified group.

Parameters:group (FuncGroupMarker) – the group marker
Returns:the functions in the specified group, in order
Return type:list
classmethod getJsonBlacklist()

Override to customize what params are serialized.

Implementations should return a list of abstract params that should be omitted from serialization.

..NOTE
Returned abstract params must be direct child params of cls, e.g. cls.name, not cls.coord.x.
getLogAsString()
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 accss 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.

getTaskDir()

Returns the full path of the task directory. This is only available if the task directory exists (after creation of the taskdir or, if no task dir is specified, any time).

getTaskFilename(fname)

Return the appropriate absolute path for an input or output file in the taskdir.

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.

guard()

Context manager that saves any Exception raised inside

info(text)

Log the text as informational.

Parameters:text (str) – the info text to log
inherits(self, str) → bool
initAbstract()
initConcrete()

Override to customize initialization of concrete params.

initializeValue()

@overrides: parameters.CompoundParam

inputChanged
inputReplaced
installEventFilter(self, QObject)
classmethod isAbstract()

Whether the param is an “abstract” param.

isDefault(*args, **kwargs)
isInterruptionRequested()
isRunning()
isSignalConnected(self, QMetaMethod) → bool
isStartable()
isWidgetType(self) → bool
isWindowType(self) → bool
kill()

@overrides: AbstractTask

Kill the subprocess and set the status to FAILED.

killTimer(self, int)
max_progress
max_progressChanged
max_progressReplaced
messageChanged
messageReplaced
metaObject(self) → QMetaObject
moveToThread(self, QThread)
name
nameChanged
nameReplaced
objectName(self) → str
objectNameChanged

objectNameChanged(self, str) [signal]

outputChanged
outputReplaced
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
postprocessors()
Returns:A list of postprocessors, both decorated methods on the task and external functions that have been added via addPostprocessor()
Return type:list[typing.Callable]
preprocessors()
Returns:A list of preprocessors (both decorated methods on the task and external functions that have been added via addPreprocessor)
printingOutputToTerminal()
Returns:whether the StdOut and StdErr output from this task is being printed to the terminal
Return type:bool
processFuncChain(chain=None, result_callback=None)

Execute each function in the specified chain sequentially in order.

The result_callback is called after each function with the return value of that function. This can be used to respond to the return value (e.g. present information to the user, get user feedback, log the result, etc.)

The return value of the result_callback determines whether processing will proceeed to the next function.

Parameters:
  • chain (FuncChainDecorator) – which chain to process
  • result_callback – the callback that will get called with the result of each function in the chain
Returns:

a list of the results from the functions

progress
progressChanged
progressReplaced
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)
replicate()

Create a new task with the same input and settings (but no output)

requestInterruption()

Request the task to stop.

To enable this feature, subclasses should periodically check whether an interruption has been requested and terminate if it has been. If such logic has been included, INTERRUPT_ENABLED should be set to True.

reset(*args, **kwargs)
run()
classmethod runFromCmdLine()
runPostprocessing(callback=None)
runPreprocessing(callback=None, calling_context=None)

Run the preprocessors one-by-one. By default, any failing preprocessor will raise a TaskFailure exception and terminate processing. This behavior may be customized by supplying a callback function which will be called after each preprocessor with the result of that preprocessor.

Parameters:
  • callback – a function that takes result and returns a bool that indicates whether to continue on to the next preprocessor
  • calling_context – specify a value here to indicate the context in which this preprocessing is being called. This value will be stored in an instance variable, self.calling_context, which can be accessed from any preprocessor method on this task. Typically this value will be either self.GUI, self.CMDLINE, or None, but any value may be supplied here and checked for in the preprocessor methods. self.calling_context always reverts back to None at the end of runPreprocessing.
sender(self) → QObject
senderSignalIndex(self) → int
setObjectName(self, str)
classmethod setParamValue(*args, **kwargs)
setParent(self, QObject)
setPrintingOutputToTerminal(print_to_terminal)

Set this task to print StdOut and StdErr output to terminal, or not.

Parameters:print_to_terminal (bool) – whether to send process output to terminal
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()
specifyTaskDir(taskdir_spec)

Specify the taskdir creation behavior. Use one of the following options:

A directory name (string). This may be a relative or absolute path

None - no taskdir is requested. The task will use the CWD as its taskdir

AUTO_TASKDIR - a new subdirectory will be created in the CWD using the task name as the directory name.

TEMP_TASKDIR - a temporary directory will be created in the schrodinger temp dir. This directory is cleaned up when the task is deleted.

Parameters:taskdir_spec – one of the four options listed above
start(*args, **kwargs)
startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) → int
staticMetaObject = <PyQt5.QtCore.QMetaObject object>
status
statusChanged
statusReplaced
taskDirSetting()

Returns the taskdir spec. See specifyTaskDir() for details.

taskDone
taskFailed
taskStarted
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)
tr(self, str, disambiguation: str = None, n: int = -1) → str
valueChanged
wait(timeout=None)

Block until the task is finished executing or timeout seconds have passed.

Parameters:timeout (NoneType or int) – Amount of time in seconds to wait before timing out. If None or a negative number, this method will wait until the task is finished.
warning(text)

Log the text as a warning.

Parameters:text (str) – the warning text to log
class schrodinger.application.prepwizard2.tasks.CleanupInput(default_value=<object object>, _param_type=<object object>, **kwargs)

Bases: schrodinger.application.prepwizard2.tasks.StructureInput

Model for the “Clean Up” step of the workflow tab

run_impref

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
force_field

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
rmsd

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
fixheavy

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
delete_waters

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
delete_far_waters

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
watdist

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
delete_nonbridging_waters

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
delwater_hbond_cutoff

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

alias of builtins.object

__init__(default_value=<object object>, _param_type=<object object>, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

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)
delete_far_watersChanged
delete_far_watersReplaced
delete_nonbridging_watersChanged
delete_nonbridging_watersReplaced
delete_watersChanged
delete_watersReplaced
delwater_hbond_cutoffChanged
delwater_hbond_cutoffReplaced
destroyed

destroyed(self, object: QObject = None) [signal]

disconnect(self)
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]

fixheavyChanged
fixheavyReplaced
force_fieldChanged
force_fieldReplaced
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.

:rtype : cls

classmethod fromJsonImplementation(json_dict)

Sets the value of this compound param value object from a JSON dict.

getAbstractParam(*args, **kwargs)
classmethod getJsonBlacklist()

Override to customize what params are serialized.

Implementations should return a list of abstract params that should be omitted from serialization.

..NOTE
Returned abstract params must be direct child params of cls, e.g. cls.name, not cls.coord.x.
classmethod getParamSignal(*args, **kwargs)
classmethod getParamValue(*args, **kwargs)
classmethod getSubParam(name)

Get the value of a subparam using the string name:

c = Coord()
assert c.getSubParam('x') == 0

Note

Using the string name to accss 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)
rmsdChanged
rmsdReplaced
run_imprefChanged
run_imprefReplaced
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>
struct

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
structChanged
structReplaced
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)
tr(self, str, disambiguation: str = None, n: int = -1) → str
valueChanged
watdistChanged
watdistReplaced
class schrodinger.application.prepwizard2.tasks.DeleteWatersTask(*args, **kwargs)

Bases: schrodinger.application.prepwizard2.tasks.LoggerMixin, schrodinger.tasks.tasks.BlockingFunctionTask

A task that may run water deletion and restrained minimization on a protein

input

Model for the “Clean Up” step of the workflow tab

output

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
validateInput()
mainFunction()
AUTO_TASKDIR = <object object>
CMDLINE = 1
DEFAULT_TASKDIR_SETTING = None
DONE = 3
DataClass

alias of builtins.object

FAILED = 2
GUI = 2
INTERRUPT_ENABLED = False
RUNNING = 1
TEMP_TASKDIR = <object object>
WAITING = 0
__init__(*args, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

addFuncToGroup(func, group=None, order=None)

Adds a function to the specified chain. Typically used for adding functions that are not methods of this object.

The function may optionally be decorated with a FuncGroupMarker. If so, the default group and order will be determined by the decorator. Any group or order explicitly passed in to addFuncToGroup will take precedence over the decorator settings.

Parameters:
  • func – the function to add
  • group (FuncGroupMarker or None) – the group marker. If the function is decorated with a FuncGoupMarker, that group marker will be the default.
  • order (float or None) – the sorting order. If the function is decorated with a FuncGoupMarker, the order specified in the decorator will be the default.
addPostprocessor(func, order=0)

Adds a postproceessor function to this task instance. If the function has been decorated with @postprocessor, the order specified by the decorator will be used.

Parameters:
  • func (typing.Callable) – the function to add
  • order (float) – the sorting order for the function relative to all other preprocessors. Takes precedence over order specified by the preprocessor decorator.
addPreprocessor(func, order=-2000)

Adds a preproceessor function to this task instance. If the function has been decorated with @preprocessor, the order specified by the decorator will be used as the default.

Parameters:
  • func – the function to add
  • order (float) – the sorting order for the function relative to all other preprocessors. Takes precedence over order specified by the preprocessor decorator.
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(self)
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.

:rtype : cls

classmethod fromJsonFilename(filename)
classmethod fromJsonImplementation(json_dict)

Sets the value of this compound param value object from a JSON dict.

getAbstractParam(*args, **kwargs)
getAddedFuncs(group=None)
getFuncGroup(group=None)

Retrieve the functions belonging to the specified group.

Parameters:group (FuncGroupMarker) – the group marker
Returns:the functions in the specified group, in order
Return type:list
classmethod getJsonBlacklist()

Override to customize what params are serialized.

Implementations should return a list of abstract params that should be omitted from serialization.

..NOTE
Returned abstract params must be direct child params of cls, e.g. cls.name, not cls.coord.x.
classmethod getParamSignal(*args, **kwargs)
classmethod getParamValue(*args, **kwargs)
classmethod getSubParam(name)

Get the value of a subparam using the string name:

c = Coord()
assert c.getSubParam('x') == 0

Note

Using the string name to accss 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.

getTaskDir()

Returns the full path of the task directory. This is only available if the task directory exists (after creation of the taskdir or, if no task dir is specified, any time).

getTaskFilename(fname)

Return the appropriate absolute path for an input or output file in the taskdir.

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.

guard()

Context manager that saves any Exception raised inside

info(text)

Log the text as informational.

Parameters:text (str) – the info text to log
inherits(self, str) → bool
initAbstract()
initConcrete()

Override to customize initialization of concrete params.

initializeValue()

@overrides: parameters.CompoundParam

inputChanged
inputReplaced
installEventFilter(self, QObject)
classmethod isAbstract()

Whether the param is an “abstract” param.

isDefault(*args, **kwargs)
isInterruptionRequested()
isRunning()
isSignalConnected(self, QMetaMethod) → bool
isStartable()
isWidgetType(self) → bool
isWindowType(self) → bool
kill()

Implementations are responsible for immediately stopping the task. No threads or processes should be running after this method is complete.

This method should be called sparingly since in many contexts the task will be forced to terminate without a chance to clean up or free resources.

killTimer(self, int)
max_progress
max_progressChanged
max_progressReplaced
metaObject(self) → QMetaObject
moveToThread(self, QThread)
name
nameChanged
nameReplaced
objectName(self) → str
objectNameChanged

objectNameChanged(self, str) [signal]

outputChanged
outputReplaced
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
postprocessors()
Returns:A list of postprocessors, both decorated methods on the task and external functions that have been added via addPostprocessor()
Return type:list[typing.Callable]
preprocessors()
Returns:A list of preprocessors (both decorated methods on the task and external functions that have been added via addPreprocessor)
processFuncChain(chain=None, result_callback=None)

Execute each function in the specified chain sequentially in order.

The result_callback is called after each function with the return value of that function. This can be used to respond to the return value (e.g. present information to the user, get user feedback, log the result, etc.)

The return value of the result_callback determines whether processing will proceeed to the next function.

Parameters:
  • chain (FuncChainDecorator) – which chain to process
  • result_callback – the callback that will get called with the result of each function in the chain
Returns:

a list of the results from the functions

progress
progressChanged
progressReplaced
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)
replicate()

Create a new task with the same input and settings (but no output)

requestInterruption()

Request the task to stop.

To enable this feature, subclasses should periodically check whether an interruption has been requested and terminate if it has been. If such logic has been included, INTERRUPT_ENABLED should be set to True.

reset(*args, **kwargs)
run()
classmethod runFromCmdLine()
runPostprocessing(callback=None)
runPreprocessing(callback=None, calling_context=None)

Run the preprocessors one-by-one. By default, any failing preprocessor will raise a TaskFailure exception and terminate processing. This behavior may be customized by supplying a callback function which will be called after each preprocessor with the result of that preprocessor.

Parameters:
  • callback – a function that takes result and returns a bool that indicates whether to continue on to the next preprocessor
  • calling_context – specify a value here to indicate the context in which this preprocessing is being called. This value will be stored in an instance variable, self.calling_context, which can be accessed from any preprocessor method on this task. Typically this value will be either self.GUI, self.CMDLINE, or None, but any value may be supplied here and checked for in the preprocessor methods. self.calling_context always reverts back to None at the end of runPreprocessing.
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()
specifyTaskDir(taskdir_spec)

Specify the taskdir creation behavior. Use one of the following options:

A directory name (string). This may be a relative or absolute path

None - no taskdir is requested. The task will use the CWD as its taskdir

AUTO_TASKDIR - a new subdirectory will be created in the CWD using the task name as the directory name.

TEMP_TASKDIR - a temporary directory will be created in the schrodinger temp dir. This directory is cleaned up when the task is deleted.

Parameters:taskdir_spec – one of the four options listed above
start(skip_preprocessing=False)

This is the main method for starting a task. Start will check if a task is not already running, run preprocessing, and then run the task.

Failures in preprocessing will interrupt the task start, and the task will never enter the RUNNING state.

Parameters:skip_preprocessing (bool) – whether to skip preprocessing. This can be useful if preprocessing was already performed prior to calling start.
startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) → int
staticMetaObject = <PyQt5.QtCore.QMetaObject object>
status
statusChanged
statusReplaced
taskDirSetting()

Returns the taskdir spec. See specifyTaskDir() for details.

taskDone
taskFailed
taskStarted
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)
tr(self, str, disambiguation: str = None, n: int = -1) → str
valueChanged
wait(timeout=None)

Block until the task is finished executing or timeout seconds have passed.

Parameters:timeout (NoneType or int) – Amount of time in seconds to wait before timing out. If None or a negative number, this method will wait until the task is finished.
warning(text)

Log the text as a warning.

Parameters:text (str) – the warning text to log
class schrodinger.application.prepwizard2.tasks.CleanupTask(*args, **kwargs)

Bases: schrodinger.application.prepwizard2.tasks.LoggerMixin, schrodinger.tasks.tasks.BlockingFunctionTask

A task that may run water deletion and restrained minimization on a protein

input

Model for the “Clean Up” step of the workflow tab

output

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
message

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
subtaskCompleted
validateInput()
mainFunction()
AUTO_TASKDIR = <object object>
CMDLINE = 1
DEFAULT_TASKDIR_SETTING = None
DONE = 3
DataClass

alias of builtins.object

FAILED = 2
GUI = 2
INTERRUPT_ENABLED = False
RUNNING = 1
TEMP_TASKDIR = <object object>
WAITING = 0
__init__(*args, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

addFuncToGroup(func, group=None, order=None)

Adds a function to the specified chain. Typically used for adding functions that are not methods of this object.

The function may optionally be decorated with a FuncGroupMarker. If so, the default group and order will be determined by the decorator. Any group or order explicitly passed in to addFuncToGroup will take precedence over the decorator settings.

Parameters:
  • func – the function to add
  • group (FuncGroupMarker or None) – the group marker. If the function is decorated with a FuncGoupMarker, that group marker will be the default.
  • order (float or None) – the sorting order. If the function is decorated with a FuncGoupMarker, the order specified in the decorator will be the default.
addPostprocessor(func, order=0)

Adds a postproceessor function to this task instance. If the function has been decorated with @postprocessor, the order specified by the decorator will be used.

Parameters:
  • func (typing.Callable) – the function to add
  • order (float) – the sorting order for the function relative to all other preprocessors. Takes precedence over order specified by the preprocessor decorator.
addPreprocessor(func, order=-2000)

Adds a preproceessor function to this task instance. If the function has been decorated with @preprocessor, the order specified by the decorator will be used as the default.

Parameters:
  • func – the function to add
  • order (float) – the sorting order for the function relative to all other preprocessors. Takes precedence over order specified by the preprocessor decorator.
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(self)
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.

:rtype : cls

classmethod fromJsonFilename(filename)
classmethod fromJsonImplementation(json_dict)

Sets the value of this compound param value object from a JSON dict.

getAbstractParam(*args, **kwargs)
getAddedFuncs(group=None)
getFuncGroup(group=None)

Retrieve the functions belonging to the specified group.

Parameters:group (FuncGroupMarker) – the group marker
Returns:the functions in the specified group, in order
Return type:list
classmethod getJsonBlacklist()

Override to customize what params are serialized.

Implementations should return a list of abstract params that should be omitted from serialization.

..NOTE
Returned abstract params must be direct child params of cls, e.g. cls.name, not cls.coord.x.
classmethod getParamSignal(*args, **kwargs)
classmethod getParamValue(*args, **kwargs)
classmethod getSubParam(name)

Get the value of a subparam using the string name:

c = Coord()
assert c.getSubParam('x') == 0

Note

Using the string name to accss 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.

getTaskDir()

Returns the full path of the task directory. This is only available if the task directory exists (after creation of the taskdir or, if no task dir is specified, any time).

getTaskFilename(fname)

Return the appropriate absolute path for an input or output file in the taskdir.

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.

guard()

Context manager that saves any Exception raised inside

info(text)

Log the text as informational.

Parameters:text (str) – the info text to log
inherits(self, str) → bool
initAbstract()
initConcrete()

Override to customize initialization of concrete params.

initializeValue()

@overrides: parameters.CompoundParam

inputChanged
inputReplaced
installEventFilter(self, QObject)
classmethod isAbstract()

Whether the param is an “abstract” param.

isDefault(*args, **kwargs)
isInterruptionRequested()
isRunning()
isSignalConnected(self, QMetaMethod) → bool
isStartable()
isWidgetType(self) → bool
isWindowType(self) → bool
kill()

Implementations are responsible for immediately stopping the task. No threads or processes should be running after this method is complete.

This method should be called sparingly since in many contexts the task will be forced to terminate without a chance to clean up or free resources.

killTimer(self, int)
max_progress
max_progressChanged
max_progressReplaced
messageChanged
messageReplaced
metaObject(self) → QMetaObject
moveToThread(self, QThread)
name
nameChanged
nameReplaced
objectName(self) → str
objectNameChanged

objectNameChanged(self, str) [signal]

outputChanged
outputReplaced
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
postprocessors()
Returns:A list of postprocessors, both decorated methods on the task and external functions that have been added via addPostprocessor()
Return type:list[typing.Callable]
preprocessors()
Returns:A list of preprocessors (both decorated methods on the task and external functions that have been added via addPreprocessor)
processFuncChain(chain=None, result_callback=None)

Execute each function in the specified chain sequentially in order.

The result_callback is called after each function with the return value of that function. This can be used to respond to the return value (e.g. present information to the user, get user feedback, log the result, etc.)

The return value of the result_callback determines whether processing will proceeed to the next function.

Parameters:
  • chain (FuncChainDecorator) – which chain to process
  • result_callback – the callback that will get called with the result of each function in the chain
Returns:

a list of the results from the functions

progress
progressChanged
progressReplaced
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)
replicate()

Create a new task with the same input and settings (but no output)

requestInterruption()

Request the task to stop.

To enable this feature, subclasses should periodically check whether an interruption has been requested and terminate if it has been. If such logic has been included, INTERRUPT_ENABLED should be set to True.

reset(*args, **kwargs)
run()
classmethod runFromCmdLine()
runPostprocessing(callback=None)
runPreprocessing(callback=None, calling_context=None)

Run the preprocessors one-by-one. By default, any failing preprocessor will raise a TaskFailure exception and terminate processing. This behavior may be customized by supplying a callback function which will be called after each preprocessor with the result of that preprocessor.

Parameters:
  • callback – a function that takes result and returns a bool that indicates whether to continue on to the next preprocessor
  • calling_context – specify a value here to indicate the context in which this preprocessing is being called. This value will be stored in an instance variable, self.calling_context, which can be accessed from any preprocessor method on this task. Typically this value will be either self.GUI, self.CMDLINE, or None, but any value may be supplied here and checked for in the preprocessor methods. self.calling_context always reverts back to None at the end of runPreprocessing.
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()
specifyTaskDir(taskdir_spec)

Specify the taskdir creation behavior. Use one of the following options:

A directory name (string). This may be a relative or absolute path

None - no taskdir is requested. The task will use the CWD as its taskdir

AUTO_TASKDIR - a new subdirectory will be created in the CWD using the task name as the directory name.

TEMP_TASKDIR - a temporary directory will be created in the schrodinger temp dir. This directory is cleaned up when the task is deleted.

Parameters:taskdir_spec – one of the four options listed above
start(skip_preprocessing=False)

This is the main method for starting a task. Start will check if a task is not already running, run preprocessing, and then run the task.

Failures in preprocessing will interrupt the task start, and the task will never enter the RUNNING state.

Parameters:skip_preprocessing (bool) – whether to skip preprocessing. This can be useful if preprocessing was already performed prior to calling start.
startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) → int
staticMetaObject = <PyQt5.QtCore.QMetaObject object>
status
statusChanged
statusReplaced
taskDirSetting()

Returns the taskdir spec. See specifyTaskDir() for details.

taskDone
taskFailed
taskStarted
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)
tr(self, str, disambiguation: str = None, n: int = -1) → str
valueChanged
wait(timeout=None)

Block until the task is finished executing or timeout seconds have passed.

Parameters:timeout (NoneType or int) – Amount of time in seconds to wait before timing out. If None or a negative number, this method will wait until the task is finished.
warning(text)

Log the text as a warning.

Parameters:text (str) – the warning text to log
class schrodinger.application.prepwizard2.tasks.PPWorkflowSettings(default_value=<object object>, _param_type=<object object>, **kwargs)

Bases: schrodinger.models.parameters.CompoundParam

Settings for PPW workflow tasks.

preprocess
hbond

Model for the “Optimize H-bond Assignments” step of the workflow tab, i.e., OptimizeHBondTask.input

cleanup

Model for the “Clean Up” step of the workflow tab

do_preprocess

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
do_hbond

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
do_cleanup

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

alias of builtins.object

__init__(default_value=<object object>, _param_type=<object object>, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

classmethod addSubParam(name, param, update_owner=True)
blockSignals(self, bool) → bool
block_signal_propagation()
childEvent(self, QChildEvent)
children(self) → List[QObject]
cleanupChanged
cleanupReplaced
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(self)
disconnectNotify(self, QMetaMethod)
do_cleanupChanged
do_cleanupReplaced
do_hbondChanged
do_hbondReplaced
do_preprocessChanged
do_preprocessReplaced
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.

:rtype : cls

classmethod fromJsonImplementation(json_dict)

Sets the value of this compound param value object from a JSON dict.

getAbstractParam(*args, **kwargs)
classmethod getJsonBlacklist()

Override to customize what params are serialized.

Implementations should return a list of abstract params that should be omitted from serialization.

..NOTE
Returned abstract params must be direct child params of cls, e.g. cls.name, not cls.coord.x.
classmethod getParamSignal(*args, **kwargs)
classmethod getParamValue(*args, **kwargs)
classmethod getSubParam(name)

Get the value of a subparam using the string name:

c = Coord()
assert c.getSubParam('x') == 0

Note

Using the string name to accss 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.

hbondChanged
hbondReplaced
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
preprocessChanged
preprocessReplaced
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)
tr(self, str, disambiguation: str = None, n: int = -1) → str
valueChanged
class schrodinger.application.prepwizard2.tasks.PPWorkflowInput(default_value=<object object>, _param_type=<object object>, **kwargs)

Bases: schrodinger.application.prepwizard2.tasks.StructureInput, schrodinger.application.prepwizard2.tasks.PPWorkflowSettings

Settings and structure input for PPW workflow tasks.

DataClass

alias of builtins.object

__init__(default_value=<object object>, _param_type=<object object>, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

classmethod addSubParam(name, param, update_owner=True)
blockSignals(self, bool) → bool
block_signal_propagation()
childEvent(self, QChildEvent)
children(self) → List[QObject]
cleanup

Model for the “Clean Up” step of the workflow tab

cleanupChanged
cleanupReplaced
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(self)
disconnectNotify(self, QMetaMethod)
do_cleanup

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
do_cleanupChanged
do_cleanupReplaced
do_hbond

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
do_hbondChanged
do_hbondReplaced
do_preprocess

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
do_preprocessChanged
do_preprocessReplaced
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.

:rtype : cls

classmethod fromJsonImplementation(json_dict)

Sets the value of this compound param value object from a JSON dict.

getAbstractParam(*args, **kwargs)
classmethod getJsonBlacklist()

Override to customize what params are serialized.

Implementations should return a list of abstract params that should be omitted from serialization.

..NOTE
Returned abstract params must be direct child params of cls, e.g. cls.name, not cls.coord.x.
classmethod getParamSignal(*args, **kwargs)
classmethod getParamValue(*args, **kwargs)
classmethod getSubParam(name)

Get the value of a subparam using the string name:

c = Coord()
assert c.getSubParam('x') == 0

Note

Using the string name to accss 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.

hbond

Model for the “Optimize H-bond Assignments” step of the workflow tab, i.e., OptimizeHBondTask.input

hbondChanged
hbondReplaced
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
preprocess
preprocessChanged
preprocessReplaced
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>
struct

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
structChanged
structReplaced
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)
tr(self, str, disambiguation: str = None, n: int = -1) → str
valueChanged
schrodinger.application.prepwizard2.tasks.stop_if_requested(func)
class schrodinger.application.prepwizard2.tasks.PPWorkflowTask(*args, **kwargs)

Bases: schrodinger.tasks.tasks.SignalTask

Runs the entire workflow without pausing. Intended to be created by PPBatchWorkflowTask.

input

Settings and structure input for PPW workflow tasks.

output

A Param to represent lists. Values of this param will have a mutated signal that will be emitted whenever any mutation method is called.

The constructor optionally takes a item_class keyword argument to specify what type of class the items in the list will be. This information will be used for jsonifying the list if specified.

postprocess_valence_error

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
current_subtask
subtaskCompleted
stepMessageChanged
__init__(*args, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

setUpMain()
stop()

Stop the workflow

AUTO_TASKDIR = <object object>
CMDLINE = 1
DEFAULT_TASKDIR_SETTING = None
DONE = 3
DataClass

alias of builtins.object

FAILED = 2
GUI = 2
INTERRUPT_ENABLED = False
RUNNING = 1
TEMP_TASKDIR = <object object>
WAITING = 0
addFuncToGroup(func, group=None, order=None)

Adds a function to the specified chain. Typically used for adding functions that are not methods of this object.

The function may optionally be decorated with a FuncGroupMarker. If so, the default group and order will be determined by the decorator. Any group or order explicitly passed in to addFuncToGroup will take precedence over the decorator settings.

Parameters:
  • func – the function to add
  • group (FuncGroupMarker or None) – the group marker. If the function is decorated with a FuncGoupMarker, that group marker will be the default.
  • order (float or None) – the sorting order. If the function is decorated with a FuncGoupMarker, the order specified in the decorator will be the default.
addPostprocessor(func, order=0)

Adds a postproceessor function to this task instance. If the function has been decorated with @postprocessor, the order specified by the decorator will be used.

Parameters:
  • func (typing.Callable) – the function to add
  • order (float) – the sorting order for the function relative to all other preprocessors. Takes precedence over order specified by the preprocessor decorator.
addPreprocessor(func, order=-2000)

Adds a preproceessor function to this task instance. If the function has been decorated with @preprocessor, the order specified by the decorator will be used as the default.

Parameters:
  • func – the function to add
  • order (float) – the sorting order for the function relative to all other preprocessors. Takes precedence over order specified by the preprocessor decorator.
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)
current_subtaskChanged
current_subtaskReplaced
customEvent(self, QEvent)
classmethod defaultValue(*args, **kwargs)
deleteLater(self)
destroyed

destroyed(self, object: QObject = None) [signal]

disconnect(self)
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.

:rtype : cls

classmethod fromJsonFilename(filename)
classmethod fromJsonImplementation(json_dict)

Sets the value of this compound param value object from a JSON dict.

getAbstractParam(*args, **kwargs)
getAddedFuncs(group=None)
getFuncGroup(group=None)

Retrieve the functions belonging to the specified group.

Parameters:group (FuncGroupMarker) – the group marker
Returns:the functions in the specified group, in order
Return type:list
classmethod getJsonBlacklist()

Override to customize what params are serialized.

Implementations should return a list of abstract params that should be omitted from serialization.

..NOTE
Returned abstract params must be direct child params of cls, e.g. cls.name, not cls.coord.x.
classmethod getParamSignal(*args, **kwargs)
classmethod getParamValue(*args, **kwargs)
classmethod getSubParam(name)

Get the value of a subparam using the string name:

c = Coord()
assert c.getSubParam('x') == 0

Note

Using the string name to accss 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.

getTaskDir()

Returns the full path of the task directory. This is only available if the task directory exists (after creation of the taskdir or, if no task dir is specified, any time).

getTaskFilename(fname)

Return the appropriate absolute path for an input or output file in the taskdir.

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.

guard()

Context manager that saves any Exception raised inside

static guard_method(func)
inherits(self, str) → bool
initAbstract()
initConcrete()

Override to customize initialization of concrete params.

initializeValue()

@overrides: parameters.CompoundParam

inputChanged
inputReplaced
installEventFilter(self, QObject)
classmethod isAbstract()

Whether the param is an “abstract” param.

isDefault(*args, **kwargs)
isInterruptionRequested()
isRunning()
isSignalConnected(self, QMetaMethod) → bool
isStartable()
isWidgetType(self) → bool
isWindowType(self) → bool
kill()

Implementations are responsible for immediately stopping the task. No threads or processes should be running after this method is complete.

This method should be called sparingly since in many contexts the task will be forced to terminate without a chance to clean up or free resources.

killTimer(self, int)
mainDone
max_progress
max_progressChanged
max_progressReplaced
metaObject(self) → QMetaObject
moveToThread(self, QThread)
name
nameChanged
nameReplaced
objectName(self) → str
objectNameChanged

objectNameChanged(self, str) [signal]

outputChanged
outputReplaced
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
postprocess_valence_errorChanged
postprocess_valence_errorReplaced
postprocessors()
Returns:A list of postprocessors, both decorated methods on the task and external functions that have been added via addPostprocessor()
Return type:list[typing.Callable]
preprocessors()
Returns:A list of preprocessors (both decorated methods on the task and external functions that have been added via addPreprocessor)
processFuncChain(chain=None, result_callback=None)

Execute each function in the specified chain sequentially in order.

The result_callback is called after each function with the return value of that function. This can be used to respond to the return value (e.g. present information to the user, get user feedback, log the result, etc.)

The return value of the result_callback determines whether processing will proceeed to the next function.

Parameters:
  • chain (FuncChainDecorator) – which chain to process
  • result_callback – the callback that will get called with the result of each function in the chain
Returns:

a list of the results from the functions

progress
progressChanged
progressReplaced
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)
replicate()

Create a new task with the same input and settings (but no output)

requestInterruption()

Request the task to stop.

To enable this feature, subclasses should periodically check whether an interruption has been requested and terminate if it has been. If such logic has been included, INTERRUPT_ENABLED should be set to True.

reset(*args, **kwargs)
run()
classmethod runFromCmdLine()
runPostprocessing(callback=None)
runPreprocessing(callback=None, calling_context=None)

Run the preprocessors one-by-one. By default, any failing preprocessor will raise a TaskFailure exception and terminate processing. This behavior may be customized by supplying a callback function which will be called after each preprocessor with the result of that preprocessor.

Parameters:
  • callback – a function that takes result and returns a bool that indicates whether to continue on to the next preprocessor
  • calling_context – specify a value here to indicate the context in which this preprocessing is being called. This value will be stored in an instance variable, self.calling_context, which can be accessed from any preprocessor method on this task. Typically this value will be either self.GUI, self.CMDLINE, or None, but any value may be supplied here and checked for in the preprocessor methods. self.calling_context always reverts back to None at the end of runPreprocessing.
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()
specifyTaskDir(taskdir_spec)

Specify the taskdir creation behavior. Use one of the following options:

A directory name (string). This may be a relative or absolute path

None - no taskdir is requested. The task will use the CWD as its taskdir

AUTO_TASKDIR - a new subdirectory will be created in the CWD using the task name as the directory name.

TEMP_TASKDIR - a temporary directory will be created in the schrodinger temp dir. This directory is cleaned up when the task is deleted.

Parameters:taskdir_spec – one of the four options listed above
start(skip_preprocessing=False)

This is the main method for starting a task. Start will check if a task is not already running, run preprocessing, and then run the task.

Failures in preprocessing will interrupt the task start, and the task will never enter the RUNNING state.

Parameters:skip_preprocessing (bool) – whether to skip preprocessing. This can be useful if preprocessing was already performed prior to calling start.
startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) → int
staticMetaObject = <PyQt5.QtCore.QMetaObject object>
status
statusChanged
statusReplaced
taskDirSetting()

Returns the taskdir spec. See specifyTaskDir() for details.

taskDone
taskFailed
taskStarted
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)
tr(self, str, disambiguation: str = None, n: int = -1) → str
valueChanged
wait(timeout=None)

Block until the task is finished executing or timeout seconds have passed.

Parameters:timeout (NoneType or int) – Amount of time in seconds to wait before timing out. If None or a negative number, this method will wait until the task is finished.
class schrodinger.application.prepwizard2.tasks.InteractivePPWorkflowTask(*args, **kwargs)

Bases: schrodinger.application.prepwizard2.tasks.PPWorkflowTask

The workflow task that runs the preprocessing task with a possible pause before starting the Optimize H-bond assignment and cleanup tasks.

While this task is running, one may request it to stop after the running sub-task.

Each step in the workflow updates the task’s output, so that whenever the workflow is stopped, the output properly reflects what was done. This also means that subsequent steps use the task’s output as their input structures.

class Input(default_value=<object object>, _param_type=<object object>, **kwargs)

Bases: schrodinger.application.prepwizard2.tasks.PPWorkflowInput

do_pause

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

alias of builtins.object

__init__(default_value=<object object>, _param_type=<object object>, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

classmethod addSubParam(name, param, update_owner=True)
blockSignals(self, bool) → bool
block_signal_propagation()
childEvent(self, QChildEvent)
children(self) → List[QObject]
cleanup

Model for the “Clean Up” step of the workflow tab

cleanupChanged
cleanupReplaced
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(self)
disconnectNotify(self, QMetaMethod)
do_cleanup

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
do_cleanupChanged
do_cleanupReplaced
do_hbond

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
do_hbondChanged
do_hbondReplaced
do_pauseChanged
do_pauseReplaced
do_preprocess

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
do_preprocessChanged
do_preprocessReplaced
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.

:rtype : cls

classmethod fromJsonImplementation(json_dict)

Sets the value of this compound param value object from a JSON dict.

getAbstractParam(*args, **kwargs)
classmethod getJsonBlacklist()

Override to customize what params are serialized.

Implementations should return a list of abstract params that should be omitted from serialization.

..NOTE
Returned abstract params must be direct child params of cls, e.g. cls.name, not cls.coord.x.
classmethod getParamSignal(*args, **kwargs)
classmethod getParamValue(*args, **kwargs)
classmethod getSubParam(name)

Get the value of a subparam using the string name:

c = Coord()
assert c.getSubParam('x') == 0

Note

Using the string name to accss 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.

hbond

Model for the “Optimize H-bond Assignments” step of the workflow tab, i.e., OptimizeHBondTask.input

hbondChanged
hbondReplaced
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
preprocess
preprocessChanged
preprocessReplaced
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>
struct

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
structChanged
structReplaced
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)
tr(self, str, disambiguation: str = None, n: int = -1) → str
valueChanged
paused

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
stop_requested

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
resumeFailedValenceError
setUpMain()
requestStop()

Requests to stop the workflow after the currently running task is done.

stop()

Stop the workflow

resume()

Resume the paused workflow

AUTO_TASKDIR = <object object>
CMDLINE = 1
DEFAULT_TASKDIR_SETTING = None
DONE = 3
DataClass

alias of builtins.object

FAILED = 2
GUI = 2
INTERRUPT_ENABLED = False
RUNNING = 1
TEMP_TASKDIR = <object object>
WAITING = 0
__init__(*args, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

addFuncToGroup(func, group=None, order=None)

Adds a function to the specified chain. Typically used for adding functions that are not methods of this object.

The function may optionally be decorated with a FuncGroupMarker. If so, the default group and order will be determined by the decorator. Any group or order explicitly passed in to addFuncToGroup will take precedence over the decorator settings.

Parameters:
  • func – the function to add
  • group (FuncGroupMarker or None) – the group marker. If the function is decorated with a FuncGoupMarker, that group marker will be the default.
  • order (float or None) – the sorting order. If the function is decorated with a FuncGoupMarker, the order specified in the decorator will be the default.
addPostprocessor(func, order=0)

Adds a postproceessor function to this task instance. If the function has been decorated with @postprocessor, the order specified by the decorator will be used.

Parameters:
  • func (typing.Callable) – the function to add
  • order (float) – the sorting order for the function relative to all other preprocessors. Takes precedence over order specified by the preprocessor decorator.
addPreprocessor(func, order=-2000)

Adds a preproceessor function to this task instance. If the function has been decorated with @preprocessor, the order specified by the decorator will be used as the default.

Parameters:
  • func – the function to add
  • order (float) – the sorting order for the function relative to all other preprocessors. Takes precedence over order specified by the preprocessor decorator.
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)
current_subtask
current_subtaskChanged
current_subtaskReplaced
customEvent(self, QEvent)
classmethod defaultValue(*args, **kwargs)
deleteLater(self)
destroyed

destroyed(self, object: QObject = None) [signal]

disconnect(self)
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.

:rtype : cls

classmethod fromJsonFilename(filename)
classmethod fromJsonImplementation(json_dict)

Sets the value of this compound param value object from a JSON dict.

getAbstractParam(*args, **kwargs)
getAddedFuncs(group=None)
getFuncGroup(group=None)

Retrieve the functions belonging to the specified group.

Parameters:group (FuncGroupMarker) – the group marker
Returns:the functions in the specified group, in order
Return type:list
classmethod getJsonBlacklist()

Override to customize what params are serialized.

Implementations should return a list of abstract params that should be omitted from serialization.

..NOTE
Returned abstract params must be direct child params of cls, e.g. cls.name, not cls.coord.x.
classmethod getParamSignal(*args, **kwargs)
classmethod getParamValue(*args, **kwargs)
classmethod getSubParam(name)

Get the value of a subparam using the string name:

c = Coord()
assert c.getSubParam('x') == 0

Note

Using the string name to accss 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.

getTaskDir()

Returns the full path of the task directory. This is only available if the task directory exists (after creation of the taskdir or, if no task dir is specified, any time).

getTaskFilename(fname)

Return the appropriate absolute path for an input or output file in the taskdir.

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.

guard()

Context manager that saves any Exception raised inside

static guard_method(func)
inherits(self, str) → bool
initAbstract()
initConcrete()

Override to customize initialization of concrete params.

initializeValue()

@overrides: parameters.CompoundParam

input
inputChanged
inputReplaced
installEventFilter(self, QObject)
classmethod isAbstract()

Whether the param is an “abstract” param.

isDefault(*args, **kwargs)
isInterruptionRequested()
isRunning()
isSignalConnected(self, QMetaMethod) → bool
isStartable()
isWidgetType(self) → bool
isWindowType(self) → bool
kill()

Implementations are responsible for immediately stopping the task. No threads or processes should be running after this method is complete.

This method should be called sparingly since in many contexts the task will be forced to terminate without a chance to clean up or free resources.

killTimer(self, int)
mainDone
max_progress
max_progressChanged
max_progressReplaced
metaObject(self) → QMetaObject
moveToThread(self, QThread)
name
nameChanged
nameReplaced
objectName(self) → str
objectNameChanged

objectNameChanged(self, str) [signal]

output

A Param to represent lists. Values of this param will have a mutated signal that will be emitted whenever any mutation method is called.

The constructor optionally takes a item_class keyword argument to specify what type of class the items in the list will be. This information will be used for jsonifying the list if specified.

outputChanged
outputReplaced
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
pausedChanged
pausedReplaced
postprocess_valence_error

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
postprocess_valence_errorChanged
postprocess_valence_errorReplaced
postprocessors()
Returns:A list of postprocessors, both decorated methods on the task and external functions that have been added via addPostprocessor()
Return type:list[typing.Callable]
preprocessors()
Returns:A list of preprocessors (both decorated methods on the task and external functions that have been added via addPreprocessor)
processFuncChain(chain=None, result_callback=None)

Execute each function in the specified chain sequentially in order.

The result_callback is called after each function with the return value of that function. This can be used to respond to the return value (e.g. present information to the user, get user feedback, log the result, etc.)

The return value of the result_callback determines whether processing will proceeed to the next function.

Parameters:
  • chain (FuncChainDecorator) – which chain to process
  • result_callback – the callback that will get called with the result of each function in the chain
Returns:

a list of the results from the functions

progress
progressChanged
progressReplaced
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)
replicate()

Create a new task with the same input and settings (but no output)

requestInterruption()

Request the task to stop.

To enable this feature, subclasses should periodically check whether an interruption has been requested and terminate if it has been. If such logic has been included, INTERRUPT_ENABLED should be set to True.

reset(*args, **kwargs)
run()
classmethod runFromCmdLine()
runPostprocessing(callback=None)
runPreprocessing(callback=None, calling_context=None)

Run the preprocessors one-by-one. By default, any failing preprocessor will raise a TaskFailure exception and terminate processing. This behavior may be customized by supplying a callback function which will be called after each preprocessor with the result of that preprocessor.

Parameters:
  • callback – a function that takes result and returns a bool that indicates whether to continue on to the next preprocessor
  • calling_context – specify a value here to indicate the context in which this preprocessing is being called. This value will be stored in an instance variable, self.calling_context, which can be accessed from any preprocessor method on this task. Typically this value will be either self.GUI, self.CMDLINE, or None, but any value may be supplied here and checked for in the preprocessor methods. self.calling_context always reverts back to None at the end of runPreprocessing.
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()
specifyTaskDir(taskdir_spec)

Specify the taskdir creation behavior. Use one of the following options:

A directory name (string). This may be a relative or absolute path

None - no taskdir is requested. The task will use the CWD as its taskdir

AUTO_TASKDIR - a new subdirectory will be created in the CWD using the task name as the directory name.

TEMP_TASKDIR - a temporary directory will be created in the schrodinger temp dir. This directory is cleaned up when the task is deleted.

Parameters:taskdir_spec – one of the four options listed above
start(skip_preprocessing=False)

This is the main method for starting a task. Start will check if a task is not already running, run preprocessing, and then run the task.

Failures in preprocessing will interrupt the task start, and the task will never enter the RUNNING state.

Parameters:skip_preprocessing (bool) – whether to skip preprocessing. This can be useful if preprocessing was already performed prior to calling start.
startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) → int
staticMetaObject = <PyQt5.QtCore.QMetaObject object>
status
statusChanged
statusReplaced
stepMessageChanged
stop_requestedChanged
stop_requestedReplaced
subtaskCompleted
taskDirSetting()

Returns the taskdir spec. See specifyTaskDir() for details.

taskDone
taskFailed
taskStarted
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)
tr(self, str, disambiguation: str = None, n: int = -1) → str
valueChanged
wait(timeout=None)

Block until the task is finished executing or timeout seconds have passed.

Parameters:timeout (NoneType or int) – Amount of time in seconds to wait before timing out. If None or a negative number, this method will wait until the task is finished.
class schrodinger.application.prepwizard2.tasks.PPBatchWorkflowInput(default_value=<object object>, _param_type=<object object>, **kwargs)

Bases: schrodinger.models.parameters.CompoundParam

struct_file

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
settings

Settings for PPW workflow tasks.

DataClass

alias of builtins.object

__init__(default_value=<object object>, _param_type=<object object>, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

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(self)
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.

:rtype : cls

classmethod fromJsonImplementation(json_dict)

Sets the value of this compound param value object from a JSON dict.

getAbstractParam(*args, **kwargs)
classmethod getJsonBlacklist()

Override to customize what params are serialized.

Implementations should return a list of abstract params that should be omitted from serialization.

..NOTE
Returned abstract params must be direct child params of cls, e.g. cls.name, not cls.coord.x.
classmethod getParamSignal(*args, **kwargs)
classmethod getParamValue(*args, **kwargs)
classmethod getSubParam(name)

Get the value of a subparam using the string name:

c = Coord()
assert c.getSubParam('x') == 0

Note

Using the string name to accss 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)
settingsChanged
settingsReplaced
signalsBlocked(self) → bool
skip_eq_check()
startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) → int
staticMetaObject = <PyQt5.QtCore.QMetaObject object>
struct_fileChanged
struct_fileReplaced
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)
tr(self, str, disambiguation: str = None, n: int = -1) → str
valueChanged
class schrodinger.application.prepwizard2.tasks.PPBatchWorkflowTask(*args, **kwargs)

Bases: schrodinger.application.prepwizard2.tasks.LoggerMixin, schrodinger.tasks.jobtasks.ComboJobTask

input
output

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
job_config
setFiles()
mainFunction()
AUTO_TASKDIR = <object object>
CMDLINE = 1
DEFAULT_TASKDIR_SETTING = None
DONE = 3
DataClass

alias of builtins.object

ENTRYPOINT = 'combotask_entry_point.py'
FAILED = 2
GUI = 2
INTERRUPT_ENABLED = False
PROGRAM_NAME
RUNNING = 1
TEMP_TASKDIR = <object object>
WAITING = 0
__init__(*args, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

addFuncToGroup(func, group=None, order=None)

Adds a function to the specified chain. Typically used for adding functions that are not methods of this object.

The function may optionally be decorated with a FuncGroupMarker. If so, the default group and order will be determined by the decorator. Any group or order explicitly passed in to addFuncToGroup will take precedence over the decorator settings.

Parameters:
  • func – the function to add
  • group (FuncGroupMarker or None) – the group marker. If the function is decorated with a FuncGoupMarker, that group marker will be the default.
  • order (float or None) – the sorting order. If the function is decorated with a FuncGoupMarker, the order specified in the decorator will be the default.
addInputDirectory(directory)

Add an input directory to be copied over with the job.

addInputFile(filename)

Register the given file with job control as an input file, so that it gets copied to the job directory when the task starts.

Parameters:filename (str) – Input file path.
addLicenseReservation(license, num_tokens=1)

Add a license reservation for this job. This information is used by job control to ensure the job is only started once the required licenses become available.

In a preprocessor, (i.e. before launching the backend), a reservation should be added for each license that will be checked out directly by that backend. Example:

class GlideTask(ComboJobTask):

    @preprocessor
    def _reserveGlideLicense(self):
        # Reserve a Glide license.
        self.addLicenseReservation(license.GLIDE_MAIN)

    def mainFunction(self):
        # Check out the Glide license
        lic = license.License(license.GLIDE_MAIN)

        # ... Do computations requiring Glide ...

        lic.checkin()

Licenses that will be checked out by subjobs of this job do not need reservations added here; subjobs are responsible for their own license reservations.

Parameters:
  • license (module-constant from schrodinger.utils.license (e.g. license.AUTODESIGNER)) – a license that will be used by the backend
  • num_tokens (int) – number of tokens for this license reservations
addOutputFile(filename)

Register the given file with job control as an output file, so that it gets copied to the launch directory after the tasks completes.

Parameters:filename (str) – Input file path.
addPostprocessor(func, order=0)

Adds a postproceessor function to this task instance. If the function has been decorated with @postprocessor, the order specified by the decorator will be used.

Parameters:
  • func (typing.Callable) – the function to add
  • order (float) – the sorting order for the function relative to all other preprocessors. Takes precedence over order specified by the preprocessor decorator.
addPreprocessor(func, order=-2000)

Adds a preproceessor function to this task instance. If the function has been decorated with @preprocessor, the order specified by the decorator will be used as the default.

Parameters:
  • func – the function to add
  • order (float) – the sorting order for the function relative to all other preprocessors. Takes precedence over order specified by the preprocessor decorator.
classmethod addSubParam(name, param, update_owner=True)
backendMain()
blockSignals(self, bool) → bool
block_signal_propagation()
childEvent(self, QChildEvent)
children(self) → List[QObject]
classmethod configToJobConfigAdapter(json_dict)
classmethod configureParam()

@overrides: parameters.CompoundParam

connectNotify(self, QMetaMethod)
customEvent(self, QEvent)
classmethod defaultValue(*args, **kwargs)
deleteLater(self)
destroyed

destroyed(self, object: QObject = None) [signal]

disconnect(self)
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.

:rtype : cls

classmethod fromJsonFilename(filename)
classmethod fromJsonImplementation(json_dict)

Sets the value of this compound param value object from a JSON dict.

getAbstractParam(*args, **kwargs)
getAddedFuncs(group=None)
getFuncGroup(group=None)

Retrieve the functions belonging to the specified group.

Parameters:group (FuncGroupMarker) – the group marker
Returns:the functions in the specified group, in order
Return type:list
classmethod getJsonBlacklist()

Override to customize what params are serialized.

Implementations should return a list of abstract params that should be omitted from serialization.

..NOTE
Returned abstract params must be direct child params of cls, e.g. cls.name, not cls.coord.x.
getLogAsString()
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 accss 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.

getTaskDir()

Returns the full path of the task directory. This is only available if the task directory exists (after creation of the taskdir or, if no task dir is specified, any time).

getTaskFilename(fname)

Return the appropriate absolute path for an input or output file in the taskdir.

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.

guard()

Context manager that saves any Exception raised inside

incorporation_file

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
incorporation_fileChanged
incorporation_fileReplaced
info(text)

Log the text as informational.

Parameters:text (str) – the info text to log
inherits(self, str) → bool
initAbstract()
initConcrete()
initializeValue()

@overrides: paramters.CompoundParam

inputChanged
inputReplaced
input_files

A Param to represent lists. Values of this param will have a mutated signal that will be emitted whenever any mutation method is called.

The constructor optionally takes a item_class keyword argument to specify what type of class the items in the list will be. This information will be used for jsonifying the list if specified.

input_filesChanged
input_filesReplaced
installEventFilter(self, QObject)
classmethod isAbstract()

Whether the param is an “abstract” param.

isBackendMode()
isDefault(*args, **kwargs)
isInterruptionRequested()
isRunning()
isSignalConnected(self, QMetaMethod) → bool
isStartable()
isWidgetType(self) → bool
isWindowType(self) → bool
job_configChanged
job_configReplaced
json_filename
json_out_filename
kill()

@overrides: tasks.AbstractTask

killTimer(self, int)
makeCmd()

@overrides: tasks.AbstractCmdTask

Child classes must not override this method.

makeJobSpecFromCmd(cmd)
makeLaunchParams()
max_progress
max_progressChanged
max_progressReplaced
metaObject(self) → QMetaObject
moveToThread(self, QThread)
name
nameChanged
nameReplaced
objectName(self) → str
objectNameChanged

objectNameChanged(self, str) [signal]

outputChanged
outputReplaced
output_files

A Param to represent lists. Values of this param will have a mutated signal that will be emitted whenever any mutation method is called.

The constructor optionally takes a item_class keyword argument to specify what type of class the items in the list will be. This information will be used for jsonifying the list if specified.

output_filesChanged
output_filesReplaced
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
postprocessors()
Returns:A list of postprocessors, both decorated methods on the task and external functions that have been added via addPostprocessor()
Return type:list[typing.Callable]
preprocessors()
Returns:A list of preprocessors (both decorated methods on the task and external functions that have been added via addPreprocessor)
processFuncChain(chain=None, result_callback=None)

Execute each function in the specified chain sequentially in order.

The result_callback is called after each function with the return value of that function. This can be used to respond to the return value (e.g. present information to the user, get user feedback, log the result, etc.)

The return value of the result_callback determines whether processing will proceeed to the next function.

Parameters:
  • chain (FuncChainDecorator) – which chain to process
  • result_callback – the callback that will get called with the result of each function in the chain
Returns:

a list of the results from the functions

progress
progressChanged
progressReplaced
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)
replicate()

@overrides: tasks.AbstractTask

requestInterruption()

Request the task to stop.

To enable this feature, subclasses should periodically check whether an interruption has been requested and terminate if it has been. If such logic has been included, INTERRUPT_ENABLED should be set to True.

reset(*args, **kwargs)
run()
runBackend()

@overrides: AbstractComboTask

runCmd(cmd)

@overrides: tasks.AbstractCmdTask

classmethod runFromCmdLine()

@overrides: tasks.AbstractTask

runPostprocessing(callback=None)
runPreprocessing(*args, **kwargs)

Run the preprocessors one-by-one. By default, any failing preprocessor will raise a TaskFailure exception and terminate processing. This behavior may be customized by supplying a callback function which will be called after each preprocessor with the result of that preprocessor.

Parameters:
  • callback – a function that takes result and returns a bool that indicates whether to continue on to the next preprocessor
  • calling_context – specify a value here to indicate the context in which this preprocessing is being called. This value will be stored in an instance variable, self.calling_context, which can be accessed from any preprocessor method on this task. Typically this value will be either self.GUI, self.CMDLINE, or None, but any value may be supplied here and checked for in the preprocessor methods. self.calling_context always reverts back to None at the end of runPreprocessing.
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()
specifyTaskDir(taskdir_spec)

Specify the taskdir creation behavior. Use one of the following options:

A directory name (string). This may be a relative or absolute path

None - no taskdir is requested. The task will use the CWD as its taskdir

AUTO_TASKDIR - a new subdirectory will be created in the CWD using the task name as the directory name.

TEMP_TASKDIR - a temporary directory will be created in the schrodinger temp dir. This directory is cleaned up when the task is deleted.

Parameters:taskdir_spec – one of the four options listed above
start(*args, **kwargs)

@overrides: AbstractTask

startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) → int
staticMetaObject = <PyQt5.QtCore.QMetaObject object>
status
statusChanged
statusReplaced
taskDirSetting()

Returns the taskdir spec. See specifyTaskDir() for details.

taskDone
taskFailed
taskStarted
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)
tr(self, str, disambiguation: str = None, n: int = -1) → str
valueChanged
wait(timeout=None)

Block until the task is finished executing or timeout seconds have passed.

Parameters:timeout (NoneType or int) – Amount of time in seconds to wait before timing out. If None or a negative number, this method will wait until the task is finished.
warning(text)

Log the text as a warning.

Parameters:text (str) – the warning text to log
wrapCmdInLaunchApi(cmd)
write()
writeJsonFile(filename)
writeStuZipFile()
class schrodinger.application.prepwizard2.tasks.GenerateStatesTask(*args, **kwargs)

Bases: schrodinger.application.prepwizard2.tasks.LoggerMixin, schrodinger.tasks.tasks.ComboSubprocessTask

A task that will run epik to generate states

input
output

A Param to represent lists. Values of this param will have a mutated signal that will be emitted whenever any mutation method is called.

The constructor optionally takes a item_class keyword argument to specify what type of class the items in the list will be. This information will be used for jsonifying the list if specified.

ms

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
validateInput()
mainFunction()
AUTO_TASKDIR = <object object>
CMDLINE = 1
DEFAULT_TASKDIR_SETTING = None
DONE = 3
DataClass

alias of builtins.object

ENTRYPOINT = 'combotask_entry_point.py'
FAILED = 2
GUI = 2
INTERRUPT_ENABLED = False
RUNNING = 1
TEMP_TASKDIR = <object object>
WAITING = 0
__init__(*args, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

addFuncToGroup(func, group=None, order=None)

Adds a function to the specified chain. Typically used for adding functions that are not methods of this object.

The function may optionally be decorated with a FuncGroupMarker. If so, the default group and order will be determined by the decorator. Any group or order explicitly passed in to addFuncToGroup will take precedence over the decorator settings.

Parameters:
  • func – the function to add
  • group (FuncGroupMarker or None) – the group marker. If the function is decorated with a FuncGoupMarker, that group marker will be the default.
  • order (float or None) – the sorting order. If the function is decorated with a FuncGoupMarker, the order specified in the decorator will be the default.
addPostprocessor(func, order=0)

Adds a postproceessor function to this task instance. If the function has been decorated with @postprocessor, the order specified by the decorator will be used.

Parameters:
  • func (typing.Callable) – the function to add
  • order (float) – the sorting order for the function relative to all other preprocessors. Takes precedence over order specified by the preprocessor decorator.
addPreprocessor(func, order=-2000)

Adds a preproceessor function to this task instance. If the function has been decorated with @preprocessor, the order specified by the decorator will be used as the default.

Parameters:
  • func – the function to add
  • order (float) – the sorting order for the function relative to all other preprocessors. Takes precedence over order specified by the preprocessor decorator.
classmethod addSubParam(name, param, update_owner=True)
backendMain()
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(self)
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.

:rtype : cls

classmethod fromJsonFilename(filename)
classmethod fromJsonImplementation(json_dict)

Sets the value of this compound param value object from a JSON dict.

getAbstractParam(*args, **kwargs)
getAddedFuncs(group=None)
getFuncGroup(group=None)

Retrieve the functions belonging to the specified group.

Parameters:group (FuncGroupMarker) – the group marker
Returns:the functions in the specified group, in order
Return type:list
classmethod getJsonBlacklist()

Override to customize what params are serialized.

Implementations should return a list of abstract params that should be omitted from serialization.

..NOTE
Returned abstract params must be direct child params of cls, e.g. cls.name, not cls.coord.x.
getLogAsString()
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 accss 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.

getTaskDir()

Returns the full path of the task directory. This is only available if the task directory exists (after creation of the taskdir or, if no task dir is specified, any time).

getTaskFilename(fname)

Return the appropriate absolute path for an input or output file in the taskdir.

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.

guard()

Context manager that saves any Exception raised inside

info(text)

Log the text as informational.

Parameters:text (str) – the info text to log
inherits(self, str) → bool
initAbstract()
initConcrete()

Override to customize initialization of concrete params.

initializeValue()

@overrides: parameters.CompoundParam

inputChanged
inputReplaced
installEventFilter(self, QObject)
classmethod isAbstract()

Whether the param is an “abstract” param.

isBackendMode()
isDefault(*args, **kwargs)
isInterruptionRequested()
isRunning()
isSignalConnected(self, QMetaMethod) → bool
isStartable()
isWidgetType(self) → bool
isWindowType(self) → bool
json_filename
json_out_filename
kill()

@overrides: AbstractTask

Kill the subprocess and set the status to FAILED.

killTimer(self, int)
makeCmd()

@overrides: AbstractCmdTask

max_progress
max_progressChanged
max_progressReplaced
metaObject(self) → QMetaObject
moveToThread(self, QThread)
msChanged
msReplaced
name
nameChanged
nameReplaced
objectName(self) → str
objectNameChanged

objectNameChanged(self, str) [signal]

outputChanged
outputReplaced
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
postprocessors()
Returns:A list of postprocessors, both decorated methods on the task and external functions that have been added via addPostprocessor()
Return type:list[typing.Callable]
preprocessors()
Returns:A list of preprocessors (both decorated methods on the task and external functions that have been added via addPreprocessor)
printingOutputToTerminal()
Returns:whether the StdOut and StdErr output from this task is being printed to the terminal
Return type:bool
processFuncChain(chain=None, result_callback=None)

Execute each function in the specified chain sequentially in order.

The result_callback is called after each function with the return value of that function. This can be used to respond to the return value (e.g. present information to the user, get user feedback, log the result, etc.)

The return value of the result_callback determines whether processing will proceeed to the next function.

Parameters:
  • chain (FuncChainDecorator) – which chain to process
  • result_callback – the callback that will get called with the result of each function in the chain
Returns:

a list of the results from the functions

progress
progressChanged
progressReplaced
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)
replicate()

Create a new task with the same input and settings (but no output)

requestInterruption()

Request the task to stop.

To enable this feature, subclasses should periodically check whether an interruption has been requested and terminate if it has been. If such logic has been included, INTERRUPT_ENABLED should be set to True.

reset(*args, **kwargs)
run()
runBackend()
runCmd(cmd)
classmethod runFromCmdLine()
runPostprocessing(callback=None)
runPreprocessing(*args, **kwargs)

Run the preprocessors one-by-one. By default, any failing preprocessor will raise a TaskFailure exception and terminate processing. This behavior may be customized by supplying a callback function which will be called after each preprocessor with the result of that preprocessor.

Parameters:
  • callback – a function that takes result and returns a bool that indicates whether to continue on to the next preprocessor
  • calling_context – specify a value here to indicate the context in which this preprocessing is being called. This value will be stored in an instance variable, self.calling_context, which can be accessed from any preprocessor method on this task. Typically this value will be either self.GUI, self.CMDLINE, or None, but any value may be supplied here and checked for in the preprocessor methods. self.calling_context always reverts back to None at the end of runPreprocessing.
sender(self) → QObject
senderSignalIndex(self) → int
setObjectName(self, str)
classmethod setParamValue(*args, **kwargs)
setParent(self, QObject)
setPrintingOutputToTerminal(print_to_terminal)

Set this task to print StdOut and StdErr output to terminal, or not.

Parameters:print_to_terminal (bool) – whether to send process output to terminal
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()
specifyTaskDir(taskdir_spec)

Specify the taskdir creation behavior. Use one of the following options:

A directory name (string). This may be a relative or absolute path

None - no taskdir is requested. The task will use the CWD as its taskdir

AUTO_TASKDIR - a new subdirectory will be created in the CWD using the task name as the directory name.

TEMP_TASKDIR - a temporary directory will be created in the schrodinger temp dir. This directory is cleaned up when the task is deleted.

Parameters:taskdir_spec – one of the four options listed above
start(*args, **kwargs)
startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) → int
staticMetaObject = <PyQt5.QtCore.QMetaObject object>
status
statusChanged
statusReplaced
taskDirSetting()

Returns the taskdir spec. See specifyTaskDir() for details.

taskDone
taskFailed
taskStarted
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)
tr(self, str, disambiguation: str = None, n: int = -1) → str
valueChanged
wait(timeout=None)

Block until the task is finished executing or timeout seconds have passed.

Parameters:timeout (NoneType or int) – Amount of time in seconds to wait before timing out. If None or a negative number, this method will wait until the task is finished.
warning(text)

Log the text as a warning.

Parameters:text (str) – the warning text to log
writeJsonFile(filename)
class schrodinger.application.prepwizard2.tasks.ProteinRefinementInput(default_value=<object object>, _param_type=<object object>, **kwargs)

Bases: schrodinger.application.prepwizard2.tasks.StructureInput

force_field

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
rmsd

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
fixheavy

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

alias of builtins.object

__init__(default_value=<object object>, _param_type=<object object>, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

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(self)
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]

fixheavyChanged
fixheavyReplaced
force_fieldChanged
force_fieldReplaced
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.

:rtype : cls

classmethod fromJsonImplementation(json_dict)

Sets the value of this compound param value object from a JSON dict.

getAbstractParam(*args, **kwargs)
classmethod getJsonBlacklist()

Override to customize what params are serialized.

Implementations should return a list of abstract params that should be omitted from serialization.

..NOTE
Returned abstract params must be direct child params of cls, e.g. cls.name, not cls.coord.x.
classmethod getParamSignal(*args, **kwargs)
classmethod getParamValue(*args, **kwargs)
classmethod getSubParam(name)

Get the value of a subparam using the string name:

c = Coord()
assert c.getSubParam('x') == 0

Note

Using the string name to accss 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)
rmsdChanged
rmsdReplaced
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>
struct

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
structChanged
structReplaced
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)
tr(self, str, disambiguation: str = None, n: int = -1) → str
valueChanged
class schrodinger.application.prepwizard2.tasks.ProteinRefinementTask(*args, **kwargs)

Bases: schrodinger.application.prepwizard2.tasks.LoggerMixin, schrodinger.tasks.tasks.SubprocessCmdTask

A task to run the protein refinement (restrained minimization, i.e., impref)

input
output

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
validateInput()
prepareInput()
makeCmd()

Create the command to run impref not under job control (-NOJOBID)

processOutput()
AUTO_TASKDIR = <object object>
CMDLINE = 1
DEFAULT_TASKDIR_SETTING = None
DONE = 3
DataClass

alias of builtins.object

FAILED = 2
GUI = 2
INTERRUPT_ENABLED = False
RUNNING = 1
TEMP_TASKDIR = <object object>
WAITING = 0
__init__(*args, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

addFuncToGroup(func, group=None, order=None)

Adds a function to the specified chain. Typically used for adding functions that are not methods of this object.

The function may optionally be decorated with a FuncGroupMarker. If so, the default group and order will be determined by the decorator. Any group or order explicitly passed in to addFuncToGroup will take precedence over the decorator settings.

Parameters:
  • func – the function to add
  • group (FuncGroupMarker or None) – the group marker. If the function is decorated with a FuncGoupMarker, that group marker will be the default.
  • order (float or None) – the sorting order. If the function is decorated with a FuncGoupMarker, the order specified in the decorator will be the default.
addPostprocessor(func, order=0)

Adds a postproceessor function to this task instance. If the function has been decorated with @postprocessor, the order specified by the decorator will be used.

Parameters:
  • func (typing.Callable) – the function to add
  • order (float) – the sorting order for the function relative to all other preprocessors. Takes precedence over order specified by the preprocessor decorator.
addPreprocessor(func, order=-2000)

Adds a preproceessor function to this task instance. If the function has been decorated with @preprocessor, the order specified by the decorator will be used as the default.

Parameters:
  • func – the function to add
  • order (float) – the sorting order for the function relative to all other preprocessors. Takes precedence over order specified by the preprocessor decorator.
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(self)
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.

:rtype : cls

classmethod fromJsonFilename(filename)
classmethod fromJsonImplementation(json_dict)

Sets the value of this compound param value object from a JSON dict.

getAbstractParam(*args, **kwargs)
getAddedFuncs(group=None)
getFuncGroup(group=None)

Retrieve the functions belonging to the specified group.

Parameters:group (FuncGroupMarker) – the group marker
Returns:the functions in the specified group, in order
Return type:list
classmethod getJsonBlacklist()

Override to customize what params are serialized.

Implementations should return a list of abstract params that should be omitted from serialization.

..NOTE
Returned abstract params must be direct child params of cls, e.g. cls.name, not cls.coord.x.
getLogAsString()
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 accss 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.

getTaskDir()

Returns the full path of the task directory. This is only available if the task directory exists (after creation of the taskdir or, if no task dir is specified, any time).

getTaskFilename(fname)

Return the appropriate absolute path for an input or output file in the taskdir.

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.

guard()

Context manager that saves any Exception raised inside

info(text)

Log the text as informational.

Parameters:text (str) – the info text to log
inherits(self, str) → bool
initAbstract()
initConcrete()

Override to customize initialization of concrete params.

initializeValue()

@overrides: parameters.CompoundParam

inputChanged
inputReplaced
installEventFilter(self, QObject)
classmethod isAbstract()

Whether the param is an “abstract” param.

isDefault(*args, **kwargs)
isInterruptionRequested()
isRunning()
isSignalConnected(self, QMetaMethod) → bool
isStartable()
isWidgetType(self) → bool
isWindowType(self) → bool
kill()

@overrides: AbstractTask

Kill the subprocess and set the status to FAILED.

killTimer(self, int)
max_progress
max_progressChanged
max_progressReplaced
metaObject(self) → QMetaObject
moveToThread(self, QThread)
name
nameChanged
nameReplaced
objectName(self) → str
objectNameChanged

objectNameChanged(self, str) [signal]

outputChanged
outputReplaced
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
postprocessors()
Returns:A list of postprocessors, both decorated methods on the task and external functions that have been added via addPostprocessor()
Return type:list[typing.Callable]
preprocessors()
Returns:A list of preprocessors (both decorated methods on the task and external functions that have been added via addPreprocessor)
printingOutputToTerminal()
Returns:whether the StdOut and StdErr output from this task is being printed to the terminal
Return type:bool
processFuncChain(chain=None, result_callback=None)

Execute each function in the specified chain sequentially in order.

The result_callback is called after each function with the return value of that function. This can be used to respond to the return value (e.g. present information to the user, get user feedback, log the result, etc.)

The return value of the result_callback determines whether processing will proceeed to the next function.

Parameters:
  • chain (FuncChainDecorator) – which chain to process
  • result_callback – the callback that will get called with the result of each function in the chain
Returns:

a list of the results from the functions

progress
progressChanged
progressReplaced
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)
replicate()

Create a new task with the same input and settings (but no output)

requestInterruption()

Request the task to stop.

To enable this feature, subclasses should periodically check whether an interruption has been requested and terminate if it has been. If such logic has been included, INTERRUPT_ENABLED should be set to True.

reset(*args, **kwargs)
run()
runCmd(cmd)
classmethod runFromCmdLine()
runPostprocessing(callback=None)
runPreprocessing(callback=None, calling_context=None)

Run the preprocessors one-by-one. By default, any failing preprocessor will raise a TaskFailure exception and terminate processing. This behavior may be customized by supplying a callback function which will be called after each preprocessor with the result of that preprocessor.

Parameters:
  • callback – a function that takes result and returns a bool that indicates whether to continue on to the next preprocessor
  • calling_context – specify a value here to indicate the context in which this preprocessing is being called. This value will be stored in an instance variable, self.calling_context, which can be accessed from any preprocessor method on this task. Typically this value will be either self.GUI, self.CMDLINE, or None, but any value may be supplied here and checked for in the preprocessor methods. self.calling_context always reverts back to None at the end of runPreprocessing.
sender(self) → QObject
senderSignalIndex(self) → int
setObjectName(self, str)
classmethod setParamValue(*args, **kwargs)
setParent(self, QObject)
setPrintingOutputToTerminal(print_to_terminal)

Set this task to print StdOut and StdErr output to terminal, or not.

Parameters:print_to_terminal (bool) – whether to send process output to terminal
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()
specifyTaskDir(taskdir_spec)

Specify the taskdir creation behavior. Use one of the following options:

A directory name (string). This may be a relative or absolute path

None - no taskdir is requested. The task will use the CWD as its taskdir

AUTO_TASKDIR - a new subdirectory will be created in the CWD using the task name as the directory name.

TEMP_TASKDIR - a temporary directory will be created in the schrodinger temp dir. This directory is cleaned up when the task is deleted.

Parameters:taskdir_spec – one of the four options listed above
start(*args, **kwargs)
startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) → int
staticMetaObject = <PyQt5.QtCore.QMetaObject object>
status
statusChanged
statusReplaced
taskDirSetting()

Returns the taskdir spec. See specifyTaskDir() for details.

taskDone
taskFailed
taskStarted
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)
tr(self, str, disambiguation: str = None, n: int = -1) → str
valueChanged
wait(timeout=None)

Block until the task is finished executing or timeout seconds have passed.

Parameters:timeout (NoneType or int) – Amount of time in seconds to wait before timing out. If None or a negative number, this method will wait until the task is finished.
warning(text)

Log the text as a warning.

Parameters:text (str) – the warning text to log
schrodinger.application.prepwizard2.tasks.update_params(to_params, from_params)

Update the to_params with the values in from_params.

Parameters: