schrodinger.application.livedesign.export_tasks module

exception schrodinger.application.livedesign.export_tasks.LDError

Bases: Exception

__init__

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

args
with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

class schrodinger.application.livedesign.export_tasks.TaskType

Bases: enum.Enum

An enumeration.

two_d = '2D'
three_d = '3D'
class schrodinger.application.livedesign.export_tasks.ExportType

Bases: enum.Enum

An enumeration.

sdf = 'SDF'
maestro = 'MAESTRO'
maestro_sdf = 'MAESTRO_SDF'
class schrodinger.application.livedesign.export_tasks.LDExportTaskMixin

Bases: object

handleLDExceptions()

A context manager for handling that occur when interacting with LD.

Catches various exceptions and re-raises them as LDError with additional explanatory text.

Raises:LDError – if any exceptions occur in the context
__init__

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

class schrodinger.application.livedesign.export_tasks.MasterExportTask(*args, **kwargs)

Bases: schrodinger.application.livedesign.export_tasks.LDExportTaskMixin, schrodinger.tasks.tasks.BlockingFunctionTask

Primary LD export task. Responsible for
  1. Preparing data for export
  2. Launching subtasks that perform export processes
  3. Communicating with the LD Export panel
Variables:exportFailed (QtCore.pyqtSignal) – a signal containing an error message describing export failures
input

Input model for export tasks.

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

Bases: schrodinger.models.parameters.CompoundParam

lr_url

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
result_urls

A Param to represent sets. Values of this param will have a mutated signal that will be emitted whenever any elment is added or removed from the set.

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 set if specified.

num_success

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
num_failure

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
unexported_items

A list param that contains CompoundParam (or CompoundParam) instances. Any time the value of an item in the list is changed, the ParamListParam will emit an itemChanged signal.

corp_ids

A Param to represent sets. Values of this param will have a mutated signal that will be emitted whenever any elment is added or removed from the set.

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 set if specified.

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)
corp_idsChanged
corp_idsReplaced
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.

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)
lr_urlChanged
lr_urlReplaced
metaObject(self) → QMetaObject
moveToThread(self, QThread)
num_failureChanged
num_failureReplaced
num_successChanged
num_successReplaced
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)
result_urlsChanged
result_urlsReplaced
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
unexported_itemsChanged
unexported_itemsReplaced
valueChanged
__init__(*args, **kwargs)

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

mainFunction()

Create and launch export subtasks.

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

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

handleLDExceptions()

A context manager for handling that occur when interacting with LD.

Catches various exceptions and re-raises them as LDError with additional explanatory text.

Raises:LDError – if any exceptions occur in the context
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]

output
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.
class schrodinger.application.livedesign.export_tasks.BaseStructureExportTask(*args, **kwargs)

Bases: schrodinger.application.livedesign.export_tasks.LDExportTaskMixin, schrodinger.tasks.tasks.ThreadFunctionTask

Abstract task for exporting structure data to LiveDesign.

file_batches

A list param that contains CompoundParam (or CompoundParam) instances. Any time the value of an item in the list is changed, the ParamListParam will emit an itemChanged signal.

input

Input model for export tasks.

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

Bases: schrodinger.models.parameters.CompoundParam

lr_url

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
result_urls

A Param to represent sets. Values of this param will have a mutated signal that will be emitted whenever any elment is added or removed from the set.

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 set if specified.

num_success

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
num_failure

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
three_d_export_items

A list param that contains CompoundParam (or CompoundParam) instances. Any time the value of an item in the list is changed, the ParamListParam will emit an itemChanged signal.

unexported_items

A list param that contains CompoundParam (or CompoundParam) instances. Any time the value of an item in the list is changed, the ParamListParam will emit an itemChanged signal.

corp_ids

A Param to represent sets. Values of this param will have a mutated signal that will be emitted whenever any elment is added or removed from the set.

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 set if specified.

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)
corp_idsChanged
corp_idsReplaced
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.

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)
lr_urlChanged
lr_urlReplaced
metaObject(self) → QMetaObject
moveToThread(self, QThread)
num_failureChanged
num_failureReplaced
num_successChanged
num_successReplaced
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)
result_urlsChanged
result_urlsReplaced
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
three_d_export_itemsChanged
three_d_export_itemsReplaced
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
unexported_itemsChanged
unexported_itemsReplaced
valueChanged
__init__(*args, **kwargs)

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

mainFunction()

Perform the LiveDesign export operation for each batch of structures.

get3DExportItems()
Returns:a list of 3D export items associated with this task
Return type:list[export_models.ThreeDExportItem]
AUTO_TASKDIR = <object object>
CMDLINE = 1
DEFAULT_TASKDIR_SETTING = None
DONE = 3
DataClass

alias of builtins.object

FAILED = 2
GUI = 2
INTERRUPT_ENABLED = False
MAX_THREAD_TASKS = 500
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)
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
file_batchesChanged
file_batchesReplaced
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.

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

handleLDExceptions()

A context manager for handling that occur when interacting with LD.

Catches various exceptions and re-raises them as LDError with additional explanatory text.

Raises:LDError – if any exceptions occur in the context
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

Killing threads is dangerous and can leading to deadlocking on Windows, so we intentionally leave it unimplemented rather than using QThread.terminate.

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]

output
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(*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.
class schrodinger.application.livedesign.export_tasks.BaseStructureExportTask86(*args, **kwargs)

Bases: schrodinger.application.livedesign.export_tasks.BaseStructureExportTask

Abstract structure export task for older (v8.6-) versions of LiveDesign.

__init__(*args, **kwargs)

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

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

alias of builtins.object

FAILED = 2
GUI = 2
INTERRUPT_ENABLED = False
MAX_THREAD_TASKS = 500
class Output(default_value=<object object>, _param_type=<object object>, **kwargs)

Bases: schrodinger.models.parameters.CompoundParam

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)
corp_ids

A Param to represent sets. Values of this param will have a mutated signal that will be emitted whenever any elment is added or removed from the set.

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 set if specified.

corp_idsChanged
corp_idsReplaced
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.

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)
lr_url

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
lr_urlChanged
lr_urlReplaced
metaObject(self) → QMetaObject
moveToThread(self, QThread)
num_failure

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
num_failureChanged
num_failureReplaced
num_success

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
num_successChanged
num_successReplaced
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)
result_urls

A Param to represent sets. Values of this param will have a mutated signal that will be emitted whenever any elment is added or removed from the set.

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 set if specified.

result_urlsChanged
result_urlsReplaced
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
three_d_export_items

A list param that contains CompoundParam (or CompoundParam) instances. Any time the value of an item in the list is changed, the ParamListParam will emit an itemChanged signal.

three_d_export_itemsChanged
three_d_export_itemsReplaced
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
unexported_items

A list param that contains CompoundParam (or CompoundParam) instances. Any time the value of an item in the list is changed, the ParamListParam will emit an itemChanged signal.

unexported_itemsChanged
unexported_itemsReplaced
valueChanged
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)
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
file_batches

A list param that contains CompoundParam (or CompoundParam) instances. Any time the value of an item in the list is changed, the ParamListParam will emit an itemChanged signal.

file_batchesChanged
file_batchesReplaced
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.

get3DExportItems()
Returns:a list of 3D export items associated with this task
Return type:list[export_models.ThreeDExportItem]
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.

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

handleLDExceptions()

A context manager for handling that occur when interacting with LD.

Catches various exceptions and re-raises them as LDError with additional explanatory text.

Raises:LDError – if any exceptions occur in the context
inherits(self, str) → bool
initAbstract()
initConcrete()

Override to customize initialization of concrete params.

initializeValue()

@overrides: parameters.CompoundParam

input

Input model for export tasks.

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

Killing threads is dangerous and can leading to deadlocking on Windows, so we intentionally leave it unimplemented rather than using QThread.terminate.

killTimer(self, int)
mainFunction()

Perform the LiveDesign export operation for each batch of structures.

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

objectNameChanged(self, str) [signal]

output
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(*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.
class schrodinger.application.livedesign.export_tasks.Export2DTask(*args, **kwargs)

Bases: schrodinger.application.livedesign.export_tasks.BaseStructureExportTask86

Structure export task for 2D data for older (v8.6-) versions of LiveDesign.

__init__(*args, **kwargs)

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

generateExportFiles()

Create files necessary for the LiveDesign export and add them to the file_batches parameter. This includes a 2D structure (.sdf) file and an empty (but necessary) map file.

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

alias of builtins.object

FAILED = 2
GUI = 2
INTERRUPT_ENABLED = False
MAX_THREAD_TASKS = 500
class Output(default_value=<object object>, _param_type=<object object>, **kwargs)

Bases: schrodinger.models.parameters.CompoundParam

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)
corp_ids

A Param to represent sets. Values of this param will have a mutated signal that will be emitted whenever any elment is added or removed from the set.

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 set if specified.

corp_idsChanged
corp_idsReplaced
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.

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)
lr_url

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
lr_urlChanged
lr_urlReplaced
metaObject(self) → QMetaObject
moveToThread(self, QThread)
num_failure

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
num_failureChanged
num_failureReplaced
num_success

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
num_successChanged
num_successReplaced
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)
result_urls

A Param to represent sets. Values of this param will have a mutated signal that will be emitted whenever any elment is added or removed from the set.

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 set if specified.

result_urlsChanged
result_urlsReplaced
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
three_d_export_items

A list param that contains CompoundParam (or CompoundParam) instances. Any time the value of an item in the list is changed, the ParamListParam will emit an itemChanged signal.

three_d_export_itemsChanged
three_d_export_itemsReplaced
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
unexported_items

A list param that contains CompoundParam (or CompoundParam) instances. Any time the value of an item in the list is changed, the ParamListParam will emit an itemChanged signal.

unexported_itemsChanged
unexported_itemsReplaced
valueChanged
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)
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
file_batches

A list param that contains CompoundParam (or CompoundParam) instances. Any time the value of an item in the list is changed, the ParamListParam will emit an itemChanged signal.

file_batchesChanged
file_batchesReplaced
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.

get3DExportItems()
Returns:a list of 3D export items associated with this task
Return type:list[export_models.ThreeDExportItem]
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.

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

handleLDExceptions()

A context manager for handling that occur when interacting with LD.

Catches various exceptions and re-raises them as LDError with additional explanatory text.

Raises:LDError – if any exceptions occur in the context
inherits(self, str) → bool
initAbstract()
initConcrete()

Override to customize initialization of concrete params.

initializeValue()

@overrides: parameters.CompoundParam

input

Input model for export tasks.

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

Killing threads is dangerous and can leading to deadlocking on Windows, so we intentionally leave it unimplemented rather than using QThread.terminate.

killTimer(self, int)
mainFunction()

Perform the LiveDesign export operation for each batch of structures.

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

objectNameChanged(self, str) [signal]

output
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(*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.
class schrodinger.application.livedesign.export_tasks.Export3DTask(*args, **kwargs)

Bases: schrodinger.application.livedesign.export_tasks.BaseStructureExportTask86

Structure export task for 3D data for older (v8.6-) versions of LiveDesign.

__init__(*args, **kwargs)

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

generateExportFiles()

Create files necessary for the LiveDesign export and add them to the file_batches parameter. This includes a 3D structure file and a corresponding map file.

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

alias of builtins.object

FAILED = 2
GUI = 2
INTERRUPT_ENABLED = False
MAX_THREAD_TASKS = 500
class Output(default_value=<object object>, _param_type=<object object>, **kwargs)

Bases: schrodinger.models.parameters.CompoundParam

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)
corp_ids

A Param to represent sets. Values of this param will have a mutated signal that will be emitted whenever any elment is added or removed from the set.

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 set if specified.

corp_idsChanged
corp_idsReplaced
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.

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)
lr_url

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
lr_urlChanged
lr_urlReplaced
metaObject(self) → QMetaObject
moveToThread(self, QThread)
num_failure

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
num_failureChanged
num_failureReplaced
num_success

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
num_successChanged
num_successReplaced
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)
result_urls

A Param to represent sets. Values of this param will have a mutated signal that will be emitted whenever any elment is added or removed from the set.

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 set if specified.

result_urlsChanged
result_urlsReplaced
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
three_d_export_items

A list param that contains CompoundParam (or CompoundParam) instances. Any time the value of an item in the list is changed, the ParamListParam will emit an itemChanged signal.

three_d_export_itemsChanged
three_d_export_itemsReplaced
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
unexported_items

A list param that contains CompoundParam (or CompoundParam) instances. Any time the value of an item in the list is changed, the ParamListParam will emit an itemChanged signal.

unexported_itemsChanged
unexported_itemsReplaced
valueChanged
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)
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
file_batches

A list param that contains CompoundParam (or CompoundParam) instances. Any time the value of an item in the list is changed, the ParamListParam will emit an itemChanged signal.

file_batchesChanged
file_batchesReplaced
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.

get3DExportItems()
Returns:a list of 3D export items associated with this task
Return type:list[export_models.ThreeDExportItem]
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.

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

handleLDExceptions()

A context manager for handling that occur when interacting with LD.

Catches various exceptions and re-raises them as LDError with additional explanatory text.

Raises:LDError – if any exceptions occur in the context
inherits(self, str) → bool
initAbstract()
initConcrete()

Override to customize initialization of concrete params.

initializeValue()

@overrides: parameters.CompoundParam

input

Input model for export tasks.

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

Killing threads is dangerous and can leading to deadlocking on Windows, so we intentionally leave it unimplemented rather than using QThread.terminate.

killTimer(self, int)
mainFunction()

Perform the LiveDesign export operation for each batch of structures.

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

objectNameChanged(self, str) [signal]

output
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(*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.
class schrodinger.application.livedesign.export_tasks.ExportTask87(*args, **kwargs)

Bases: schrodinger.application.livedesign.export_tasks.BaseStructureExportTask

Export structure task for newer (v8.7+) versions of LiveDesign.

Variables:
  • EMPTY_PATH_TUPLE (tuple[NoneType, NoneType]) – a tuple of None to use as a default return value st_path_map if a key is not defined
  • st_path_map (dict[structure.Structure, tuple[str, str] or tuple[None, None]]) – a dictionary mapping structures to a tuple of (absolute path, relative path) where they have been stored as .mae files
EMPTY_PATH_TUPLE = (None, None)
__init__(*args, **kwargs)

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

generateExportFiles()

Create files necessary for the LiveDesign export and add them to the file_batches parameter. This includes a SDF file (2D), a zipped directory of MAE files (3D), and a TSV file (mapping) that describes the relationship between the two.

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

alias of builtins.object

FAILED = 2
GUI = 2
INTERRUPT_ENABLED = False
MAX_THREAD_TASKS = 500
class Output(default_value=<object object>, _param_type=<object object>, **kwargs)

Bases: schrodinger.models.parameters.CompoundParam

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)
corp_ids

A Param to represent sets. Values of this param will have a mutated signal that will be emitted whenever any elment is added or removed from the set.

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 set if specified.

corp_idsChanged
corp_idsReplaced
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.

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)
lr_url

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
lr_urlChanged
lr_urlReplaced
metaObject(self) → QMetaObject
moveToThread(self, QThread)
num_failure

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
num_failureChanged
num_failureReplaced
num_success

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
num_successChanged
num_successReplaced
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)
result_urls

A Param to represent sets. Values of this param will have a mutated signal that will be emitted whenever any elment is added or removed from the set.

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 set if specified.

result_urlsChanged
result_urlsReplaced
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
three_d_export_items

A list param that contains CompoundParam (or CompoundParam) instances. Any time the value of an item in the list is changed, the ParamListParam will emit an itemChanged signal.

three_d_export_itemsChanged
three_d_export_itemsReplaced
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
unexported_items

A list param that contains CompoundParam (or CompoundParam) instances. Any time the value of an item in the list is changed, the ParamListParam will emit an itemChanged signal.

unexported_itemsChanged
unexported_itemsReplaced
valueChanged
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)
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
file_batches

A list param that contains CompoundParam (or CompoundParam) instances. Any time the value of an item in the list is changed, the ParamListParam will emit an itemChanged signal.

file_batchesChanged
file_batchesReplaced
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.

get3DExportItems()
Returns:a list of 3D export items associated with this task
Return type:list[export_models.ThreeDExportItem]
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.

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

handleLDExceptions()

A context manager for handling that occur when interacting with LD.

Catches various exceptions and re-raises them as LDError with additional explanatory text.

Raises:LDError – if any exceptions occur in the context
inherits(self, str) → bool
initAbstract()
initConcrete()

Override to customize initialization of concrete params.

initializeValue()

@overrides: parameters.CompoundParam

input

Input model for export tasks.

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

Killing threads is dangerous and can leading to deadlocking on Windows, so we intentionally leave it unimplemented rather than using QThread.terminate.

killTimer(self, int)
mainFunction()

Perform the LiveDesign export operation for each batch of structures.

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

objectNameChanged(self, str) [signal]

output
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(*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.
class schrodinger.application.livedesign.export_tasks.AttachmentExportTask(*args, **kwargs)

Bases: schrodinger.application.livedesign.export_tasks.LDExportTaskMixin, schrodinger.tasks.tasks.ThreadFunctionTask

Export task for FFC attachment data.

Variables:attachment_data_map (dict[str, export_models.AttachmentData]) – a dictionary mapping the column name for an attachment to a data class storing other information about that attachment
input

Input model for FFC attachment export task.

output

Output model for FFC attachment export task.

__init__(*args, **kwargs)

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

mainFunction()

Upload the attachment file and associate it with the appropriate LiveReport cells.

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

alias of builtins.object

FAILED = 2
GUI = 2
INTERRUPT_ENABLED = False
MAX_THREAD_TASKS = 500
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)
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.

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

handleLDExceptions()

A context manager for handling that occur when interacting with LD.

Catches various exceptions and re-raises them as LDError with additional explanatory text.

Raises:LDError – if any exceptions occur in the context
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

Killing threads is dangerous and can leading to deadlocking on Windows, so we intentionally leave it unimplemented rather than using QThread.terminate.

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(*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.
schrodinger.application.livedesign.export_tasks.export_to_ld(ld_client, project_name, lr_name, lr_id, prop_dicts, export_global, compound_source, export_type, map_file_path, sdf_file_path=None, three_d_file_path=None)

Export the supplied data to LiveDesign.

Parameters:
  • ld_client (ldclient.LDClient) – LD client session
  • project_name (str) – the name of the LiveDesign project
  • lr_name (str) – the name of the LiveReport
  • lr_id (int) – the ID of the LiveReport
  • prop_dicts (dict(str, str)) – property arguments that specify which structure properties should be converted into LiveDesign columns
  • export_global (bool) – whether the exported data should be available globally
  • compound_source (str or None) – the compound source argument required for certain LD versions
  • export_type (ExportType) – the type of export to perform.
  • map_file_path (str) – the path of the mapping file
  • sdf_file_path (str or NoneType) – optionally, the path of an SDF file
  • three_d_file_path (str or NoneType) – optionally, the path of an 3D file
Returns:

task id

Return type:

int

schrodinger.application.livedesign.export_tasks.create_live_report(ld_client, ld_models, proj_name, title)

Create a new LiveReport.

Parameters:
  • ld_client (client.LDClient) – the LiveDesign client instance
  • ld_models (module) – the livedesign models module
  • proj_name (str) – the name of the project to which the LiveReport should be added
  • title (str) – the desired LiveReport title
Returns:

the new LiveReport

Return type:

models.LiveReport

schrodinger.application.livedesign.export_tasks.use_new_export(ld_client)

Whether to use the new (LD v8.7+) export API.

Parameters:ld_client (client.LDClient) – the LiveDesign client instance
Returns:whether to use the new (LD v8.7+) export process
Return type:bool