schrodinger.tasks.jobtasks module

class schrodinger.tasks.jobtasks.RunMode

Bases: enum.Enum

An enumeration.

START = 1
STU = 3
WRITE = 2
__class__

alias of enum.EnumMeta

__members__ = mappingproxy(OrderedDict([('START', <RunMode.START: 1>), ('WRITE', <RunMode.WRITE: 2>), ('STU', <RunMode.STU: 3>)]))
__module__ = 'schrodinger.tasks.jobtasks'
class schrodinger.tasks.jobtasks.JobOptions(default_value=None, **kwargs)

Bases: schrodinger.models.parameters.CompoundParam

incorporation
default_disp
host
cpus
create_job_dir
DataClass

alias of builtins.object

__class__

alias of sip.wrappertype

__deepcopy__(memo)
__delattr__

Implement delattr(self, name).

__dict__ = mappingproxy({'__module__': 'schrodinger.tasks.jobtasks', 'incorporation': <Abstract:JobOptions.incorporation>, 'default_disp': <Abstract:JobOptions.default_disp>, 'host': <Abstract:JobOptions.host>, 'cpus': <Abstract:JobOptions.cpus>, 'create_job_dir': <Abstract:JobOptions.create_job_dir>, '__doc__': None, '_JobOptions_jsonAdapters': [], '_child_param_names': ['incorporation', 'default_disp', 'host', 'cpus', 'create_job_dir'], 'incorporationChanged': <unbound PYQT_SIGNAL JobOptions.incorporationChanged[object]>, 'incorporationReplaced': <unbound PYQT_SIGNAL JobOptions.incorporationReplaced[object, object]>, 'default_dispChanged': <unbound PYQT_SIGNAL JobOptions.default_dispChanged[object]>, 'default_dispReplaced': <unbound PYQT_SIGNAL JobOptions.default_dispReplaced[object, object]>, 'hostChanged': <unbound PYQT_SIGNAL JobOptions.hostChanged[object]>, 'hostReplaced': <unbound PYQT_SIGNAL JobOptions.hostReplaced[object, object]>, 'cpusChanged': <unbound PYQT_SIGNAL JobOptions.cpusChanged[object]>, 'cpusReplaced': <unbound PYQT_SIGNAL JobOptions.cpusReplaced[object, object]>, 'create_job_dirChanged': <unbound PYQT_SIGNAL JobOptions.create_job_dirChanged[object]>, 'create_job_dirReplaced': <unbound PYQT_SIGNAL JobOptions.create_job_dirReplaced[object, object]>})
__dir__() → list

default dir() implementation

__eq__(other)

Return self==value.

__format__()

default object formatter

__ge__

Return self>=value.

__get__(owner_instance, owner_class)

Returns the value of this param for the specific owner instance. If the value has not been set, the default value will be returned.

Parameters:
  • owner_instance (object) – the instance on which this param is an attribute. The value returned will correspond to this instance.
  • owner_class (type) – the class of the owner.
__getattr__(self, str) → object
__getattribute__(name)

If an AttributeError is raised during the getting of a child param, recast the error as a ParamAttributeError and raise. Otherwise, proceed normally.

__gt__

Return self>value.

__hash__ = None
__init__(default_value=None, **kwargs)

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

classmethod __init_subclass__()

This method modifies the creation of CompoundParam subclasses by dynamically adding a signal to the compound param for each subparam. The signal is named <subparam-name>Changed. (ex. coord.xChanged and coord.yChanged). This way, subclasses of CompoundParam do not need to explicitly define signals for each subparam.

__le__

Return self<=value.

__lt__

Return self<value.

__module__ = 'schrodinger.tasks.jobtasks'
__ne__(other)

Return self!=value.

__new__()

Create and return a new object. See help(type) for accurate signature.

__reduce__()

helper for pickle

__reduce_ex__()

helper for pickle

__repr__()

Return repr(self).

__set__(owner_instance, value)

Set the value of this param for the specific owner instance.

Parameters:
  • owner_instance (object) – the instance on which this param is an attribute. The value returned will correspond to this instance.
  • value (self.DataClass) – the value to set this param to
__set_name__(owner_name, name)

Saves the name this param is saved as.

Parameters:
  • owner_instance (object) – The instance on which this param is an attribute.
  • name (str) – The name of the attribute this descriptor was set to.
__setattr__

Implement setattr(self, name, value).

__sizeof__() → int

size of object in memory, in bytes

__str__()

Return str(self).

__subclasshook__()

Abstract classes can override this to customize issubclass().

This is invoked early on by abc.ABCMeta.__subclasscheck__(). It should return True, False or NotImplemented. If it returns NotImplemented, the normal algorithm is used. Otherwise, it overrides the normal algorithm (and the outcome is cached).

__weakref__

list of weak references to the object (if defined)

aboutToReplace
blockSignals(self, bool) → bool
childEvent(self, QChildEvent)
children(self) → object
connectNotify(self, QMetaMethod)
cpusChanged
cpusReplaced
create_job_dirChanged
create_job_dirReplaced
customEvent(self, QEvent)
default_dispChanged
default_dispReplaced
deleteLater(self)
destroyed

destroyed(self, QObject = None) [signal]

disconnect(self)
disconnectNotify(self, QMetaMethod)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) → object
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.

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.

hostChanged
hostReplaced
incorporationChanged
incorporationReplaced
inherits(self, str) → bool
installEventFilter(self, QObject)
isDefault()
isSignalConnected(self, QMetaMethod) → bool
isWidgetType(self) → bool
isWindowType(self) → bool
is_abstract = True
killTimer(self, int)
metaObject(self) → QMetaObject
moveToThread(self, QThread)
objectName(self) → str
objectNameChanged

objectNameChanged(self, str) [signal]

owner()

Returns the owner of this param. Works for both concrete and abstract params. Returns None if the param has no owner. Follows the same rules as ownerChain.

ownerChain()

Returns the owner chain for this param. This works for concrete params and abstract params. Examples:

foo.bar.atom.coord.ownerChain() will return [foo, bar, atom, coord] where every item is a regular param.

Foo.bar.atom.coord.x.ownerChain() will return [Foo, bar, atom.coord, x] where Foo is a class and all other items are abstract params.

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)

Resets this compound param to its default value. If no arguments are passed in, the entire param is reset. Any number of abstract params may be optionally passed in to perform a partial reset to default value of specified sub-params. For example, given a compound param with two xyz coordinates as endpoints:

class Line(CompoundParam):
start = Coord(x=1, y=2, z=3) end = Coord(x=4, y=5, z=6)

line = Line()

We can reset the entire line:

line.reset()

Or just certain parts:

line.reset(Line.start.x) # resets just start.x line.start.reset(Coord.x) # another way to reset start.x line.reset(Line.end) # resets the entire end point line.reset(Line.start.z, Line.end.z) # resets the z-coord of both
Parameters:args – abstract sub-params of self
sender(self) → QObject
senderSignalIndex(self) → int
setObjectName(self, str)
setParent(self, QObject)
setProperty(self, str, Any) → bool
setValue(value=None, **kwargs)

Set the value of this compound param instance. This mutates the compound param to be equal to value; it does not make the compound param /identical/ to value.

Parameters:value (self.DataClass or dict) – either another param instance of the same type or a dictionary mapping the sub-param names to values.
signalsBlocked(self) → bool
startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) → int
staticMetaObject = <PyQt5.QtCore.QMetaObject object>
suspend_signals()
thread(self) → QThread
timerEvent(self, QTimerEvent)
toDict()
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()

Returns a JSON representation of this value object.

tr(self, str, disambiguation: str = None, n: int = -1) → str
valueChanged
class schrodinger.tasks.jobtasks.JobConfig(*args, **kwargs)

Bases: schrodinger.models.parameters.CompoundParam

job_options
disp
host
cpus
viewname
jobname
host_text
proj
__init__(*args, **kwargs)

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

addHostFlag(cmdlist)
addResultServerFlag(cmdlist)
addDispFlag(cmdlist)
addProjFlag(cmdlist)
addViewnameFlag(cmdlist)
addTmpLaunchDirFlag(cmdlist)
appendFlags(cmdlist)

Takes a cmdlist and appends the standard configuration flags appropriate for the context. This will depend on whether the intent is to start or write the job and whether maestro is available.

Any flag that already exists in the cmdlist will take precedence and that flag will not be automatically appended.

Parameters:cmdlist (list) – the original command list.
applySettings(settings)
summaryText()

Generates the text to display in the status bar via the updateStatusText method.

DataClass

alias of builtins.object

__class__

alias of sip.wrappertype

__deepcopy__(memo)
__delattr__

Implement delattr(self, name).

__dict__ = mappingproxy({'__module__': 'schrodinger.tasks.jobtasks', 'job_options': <Abstract:JobConfig.job_options>, 'disp': <Abstract:JobConfig.disp>, 'host': <Abstract:JobConfig.host>, 'cpus': <Abstract:JobConfig.cpus>, 'viewname': <Abstract:JobConfig.viewname>, 'jobname': <Abstract:JobConfig.jobname>, 'host_text': <Abstract:JobConfig.host_text>, 'proj': <Abstract:JobConfig.proj>, '__init__': <function JobConfig.__init__>, 'addHostFlag': <function JobConfig.addHostFlag>, 'addResultServerFlag': <function JobConfig.addResultServerFlag>, 'addDispFlag': <function JobConfig.addDispFlag>, 'addProjFlag': <function JobConfig.addProjFlag>, 'addViewnameFlag': <function JobConfig.addViewnameFlag>, 'addTmpLaunchDirFlag': <function JobConfig.addTmpLaunchDirFlag>, 'appendFlags': <function JobConfig.appendFlags>, 'applySettings': <function JobConfig.applySettings>, 'summaryText': <function JobConfig.summaryText>, '__doc__': None, '_JobConfig_jsonAdapters': [], '_child_param_names': ['job_options', 'disp', 'host', 'cpus', 'viewname', 'jobname', 'host_text', 'proj'], 'job_optionsChanged': <unbound PYQT_SIGNAL JobConfig.job_optionsChanged[object]>, 'job_optionsReplaced': <unbound PYQT_SIGNAL JobConfig.job_optionsReplaced[object, object]>, 'dispChanged': <unbound PYQT_SIGNAL JobConfig.dispChanged[object]>, 'dispReplaced': <unbound PYQT_SIGNAL JobConfig.dispReplaced[object, object]>, 'hostChanged': <unbound PYQT_SIGNAL JobConfig.hostChanged[object]>, 'hostReplaced': <unbound PYQT_SIGNAL JobConfig.hostReplaced[object, object]>, 'cpusChanged': <unbound PYQT_SIGNAL JobConfig.cpusChanged[object]>, 'cpusReplaced': <unbound PYQT_SIGNAL JobConfig.cpusReplaced[object, object]>, 'viewnameChanged': <unbound PYQT_SIGNAL JobConfig.viewnameChanged[object]>, 'viewnameReplaced': <unbound PYQT_SIGNAL JobConfig.viewnameReplaced[object, object]>, 'jobnameChanged': <unbound PYQT_SIGNAL JobConfig.jobnameChanged[object]>, 'jobnameReplaced': <unbound PYQT_SIGNAL JobConfig.jobnameReplaced[object, object]>, 'host_textChanged': <unbound PYQT_SIGNAL JobConfig.host_textChanged[object]>, 'host_textReplaced': <unbound PYQT_SIGNAL JobConfig.host_textReplaced[object, object]>, 'projChanged': <unbound PYQT_SIGNAL JobConfig.projChanged[object]>, 'projReplaced': <unbound PYQT_SIGNAL JobConfig.projReplaced[object, object]>})
__dir__() → list

default dir() implementation

__eq__(other)

Return self==value.

__format__()

default object formatter

__ge__

Return self>=value.

__get__(owner_instance, owner_class)

Returns the value of this param for the specific owner instance. If the value has not been set, the default value will be returned.

Parameters:
  • owner_instance (object) – the instance on which this param is an attribute. The value returned will correspond to this instance.
  • owner_class (type) – the class of the owner.
__getattr__(self, str) → object
__getattribute__(name)

If an AttributeError is raised during the getting of a child param, recast the error as a ParamAttributeError and raise. Otherwise, proceed normally.

__gt__

Return self>value.

__hash__ = None
classmethod __init_subclass__()

This method modifies the creation of CompoundParam subclasses by dynamically adding a signal to the compound param for each subparam. The signal is named <subparam-name>Changed. (ex. coord.xChanged and coord.yChanged). This way, subclasses of CompoundParam do not need to explicitly define signals for each subparam.

__le__

Return self<=value.

__lt__

Return self<value.

__module__ = 'schrodinger.tasks.jobtasks'
__ne__(other)

Return self!=value.

__new__()

Create and return a new object. See help(type) for accurate signature.

__reduce__()

helper for pickle

__reduce_ex__()

helper for pickle

__repr__()

Return repr(self).

__set__(owner_instance, value)

Set the value of this param for the specific owner instance.

Parameters:
  • owner_instance (object) – the instance on which this param is an attribute. The value returned will correspond to this instance.
  • value (self.DataClass) – the value to set this param to
__set_name__(owner_name, name)

Saves the name this param is saved as.

Parameters:
  • owner_instance (object) – The instance on which this param is an attribute.
  • name (str) – The name of the attribute this descriptor was set to.
__setattr__

Implement setattr(self, name, value).

__sizeof__() → int

size of object in memory, in bytes

__str__()

Return str(self).

__subclasshook__()

Abstract classes can override this to customize issubclass().

This is invoked early on by abc.ABCMeta.__subclasscheck__(). It should return True, False or NotImplemented. If it returns NotImplemented, the normal algorithm is used. Otherwise, it overrides the normal algorithm (and the outcome is cached).

__weakref__

list of weak references to the object (if defined)

aboutToReplace
blockSignals(self, bool) → bool
childEvent(self, QChildEvent)
children(self) → object
connectNotify(self, QMetaMethod)
cpusChanged
cpusReplaced
customEvent(self, QEvent)
deleteLater(self)
destroyed

destroyed(self, QObject = None) [signal]

disconnect(self)
disconnectNotify(self, QMetaMethod)
dispChanged
dispReplaced
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) → object
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.

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.

hostChanged
hostReplaced
host_textChanged
host_textReplaced
inherits(self, str) → bool
installEventFilter(self, QObject)
isDefault()
isSignalConnected(self, QMetaMethod) → bool
isWidgetType(self) → bool
isWindowType(self) → bool
is_abstract = True
job_optionsChanged
job_optionsReplaced
jobnameChanged
jobnameReplaced
killTimer(self, int)
metaObject(self) → QMetaObject
moveToThread(self, QThread)
objectName(self) → str
objectNameChanged

objectNameChanged(self, str) [signal]

owner()

Returns the owner of this param. Works for both concrete and abstract params. Returns None if the param has no owner. Follows the same rules as ownerChain.

ownerChain()

Returns the owner chain for this param. This works for concrete params and abstract params. Examples:

foo.bar.atom.coord.ownerChain() will return [foo, bar, atom, coord] where every item is a regular param.

Foo.bar.atom.coord.x.ownerChain() will return [Foo, bar, atom.coord, x] where Foo is a class and all other items are abstract params.

parent(self) → QObject
projChanged
projReplaced
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)

Resets this compound param to its default value. If no arguments are passed in, the entire param is reset. Any number of abstract params may be optionally passed in to perform a partial reset to default value of specified sub-params. For example, given a compound param with two xyz coordinates as endpoints:

class Line(CompoundParam):
start = Coord(x=1, y=2, z=3) end = Coord(x=4, y=5, z=6)

line = Line()

We can reset the entire line:

line.reset()

Or just certain parts:

line.reset(Line.start.x) # resets just start.x line.start.reset(Coord.x) # another way to reset start.x line.reset(Line.end) # resets the entire end point line.reset(Line.start.z, Line.end.z) # resets the z-coord of both
Parameters:args – abstract sub-params of self
sender(self) → QObject
senderSignalIndex(self) → int
setObjectName(self, str)
setParent(self, QObject)
setProperty(self, str, Any) → bool
setValue(value=None, **kwargs)

Set the value of this compound param instance. This mutates the compound param to be equal to value; it does not make the compound param /identical/ to value.

Parameters:value (self.DataClass or dict) – either another param instance of the same type or a dictionary mapping the sub-param names to values.
signalsBlocked(self) → bool
startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) → int
staticMetaObject = <PyQt5.QtCore.QMetaObject object>
suspend_signals()
thread(self) → QThread
timerEvent(self, QTimerEvent)
toDict()
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()

Returns a JSON representation of this value object.

tr(self, str, disambiguation: str = None, n: int = -1) → str
valueChanged
viewnameChanged
viewnameReplaced
class schrodinger.tasks.jobtasks.AbstractJobTask(*args, **kwargs)

Bases: schrodinger.tasks.tasks.AbstractTask

job_options
job_config
job_dir
__init__(*args, **kwargs)

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

start()

Start this task. This includes any preprocessing and validation checks. Any failures will prevent the task from running.

write()
getWriteFilename()
isRunning()
makeSchrodingerCmd(*args)

Builds a $SCHRODINGER command string from all the args passed in. The resulting string is suitable for use in a cmdlist and formatted for use in starting or writing the job depending on self.run_mode. In START mode, the $SCHRODINGER environment variable will be expanded. In WRITE mode, it will stay as $SCHRODINGER and the path will be delimited with linux-style forward slashes.

Example: self.makeSchrodingerCmd(‘utilities’, ‘my_utility’) will return “${SCHRODINGER}/utilities/my_utility” in WRITE mode.

getSchrodingerRun()

Returns the correct version of the $SCHRODINGER/run string. This will depend on whether the intent is to start or to write the job.

fullCmdList()

Returns the full cmd list for the job. This will take into account the run_mode specified in the job_config.

makeCmdList()

Implement this to generate a cmdlist. This cmdlist will be used for write functionality.

appendConfigFlags(cmdlist)
updateStatusText()
DataClass

alias of builtins.object

__class__

alias of sip.wrappertype

__deepcopy__(memo)
__delattr__

Implement delattr(self, name).

__dict__ = mappingproxy({'__module__': 'schrodinger.tasks.jobtasks', 'job_options': <Abstract:AbstractJobTask.job_options>, 'job_config': <Abstract:AbstractJobTask.job_config>, 'job_dir': <Abstract:AbstractJobTask.job_dir>, '__init__': <function AbstractJobTask.__init__>, '_getViewname': <function AbstractJobTask._getViewname>, 'start': <function AbstractJobTask.start>, 'write': <function AbstractJobTask.write>, '_writeCmd': <function AbstractJobTask._writeCmd>, 'getWriteFilename': <function AbstractJobTask.getWriteFilename>, 'isRunning': <function AbstractJobTask.isRunning>, 'makeSchrodingerCmd': <function AbstractJobTask.makeSchrodingerCmd>, 'getSchrodingerRun': <function AbstractJobTask.getSchrodingerRun>, 'fullCmdList': <function AbstractJobTask.fullCmdList>, '_makeCmdList': <function AbstractJobTask._makeCmdList>, 'makeCmdList': <function AbstractJobTask.makeCmdList>, 'appendConfigFlags': <function AbstractJobTask.appendConfigFlags>, 'updateStatusText': <function AbstractJobTask.updateStatusText>, '__doc__': None, '_AbstractJobTask_jsonAdapters': [], '_child_param_names': ['base_name', 'name', 'status_param', 'job_options', 'job_config', 'job_dir'], 'job_optionsChanged': <unbound PYQT_SIGNAL AbstractJobTask.job_optionsChanged[object]>, 'job_optionsReplaced': <unbound PYQT_SIGNAL AbstractJobTask.job_optionsReplaced[object, object]>, 'job_configChanged': <unbound PYQT_SIGNAL AbstractJobTask.job_configChanged[object]>, 'job_configReplaced': <unbound PYQT_SIGNAL AbstractJobTask.job_configReplaced[object, object]>, 'job_dirChanged': <unbound PYQT_SIGNAL AbstractJobTask.job_dirChanged[object]>, 'job_dirReplaced': <unbound PYQT_SIGNAL AbstractJobTask.job_dirReplaced[object, object]>})
__dir__() → list

default dir() implementation

__eq__(other)

Return self==value.

__format__()

default object formatter

__ge__

Return self>=value.

__get__(owner_instance, owner_class)

Returns the value of this param for the specific owner instance. If the value has not been set, the default value will be returned.

Parameters:
  • owner_instance (object) – the instance on which this param is an attribute. The value returned will correspond to this instance.
  • owner_class (type) – the class of the owner.
__getattr__(self, str) → object
__getattribute__(name)

If an AttributeError is raised during the getting of a child param, recast the error as a ParamAttributeError and raise. Otherwise, proceed normally.

__gt__

Return self>value.

__hash__ = None
classmethod __init_subclass__()

This method modifies the creation of CompoundParam subclasses by dynamically adding a signal to the compound param for each subparam. The signal is named <subparam-name>Changed. (ex. coord.xChanged and coord.yChanged). This way, subclasses of CompoundParam do not need to explicitly define signals for each subparam.

__le__

Return self<=value.

__lt__

Return self<value.

__module__ = 'schrodinger.tasks.jobtasks'
__ne__(other)

Return self!=value.

__new__()

Create and return a new object. See help(type) for accurate signature.

__reduce__()

helper for pickle

__reduce_ex__()

helper for pickle

__repr__()

Return repr(self).

__set__(owner_instance, value)

Set the value of this param for the specific owner instance.

Parameters:
  • owner_instance (object) – the instance on which this param is an attribute. The value returned will correspond to this instance.
  • value (self.DataClass) – the value to set this param to
__set_name__(owner_name, name)

Saves the name this param is saved as.

Parameters:
  • owner_instance (object) – The instance on which this param is an attribute.
  • name (str) – The name of the attribute this descriptor was set to.
__setattr__

Implement setattr(self, name, value).

__sizeof__() → int

size of object in memory, in bytes

__str__()

Return str(self).

__subclasshook__()

Abstract classes can override this to customize issubclass().

This is invoked early on by abc.ABCMeta.__subclasscheck__(). It should return True, False or NotImplemented. If it returns NotImplemented, the normal algorithm is used. Otherwise, it overrides the normal algorithm (and the outcome is cached).

__weakref__

list of weak references to the object (if defined)

aboutToReplace
base_name
base_nameChanged
base_nameReplaced
blockSignals(self, bool) → bool
childEvent(self, QChildEvent)
children(self) → object
connectNotify(self, QMetaMethod)
customEvent(self, QEvent)
deleteLater(self)
destroyed

destroyed(self, QObject = None) [signal]

disconnect(self)
disconnectNotify(self, QMetaMethod)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) → object
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.

getName()
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
installEventFilter(self, QObject)
isDefault()
isSignalConnected(self, QMetaMethod) → bool
isWidgetType(self) → bool
isWindowType(self) → bool
is_abstract = True
job_configChanged
job_configReplaced
job_dirChanged
job_dirReplaced
job_optionsChanged
job_optionsReplaced
killTimer(self, int)
metaObject(self) → QMetaObject
moveToThread(self, QThread)
name
nameChanged
nameReplaced
objectName(self) → str
objectNameChanged

objectNameChanged(self, str) [signal]

owner()

Returns the owner of this param. Works for both concrete and abstract params. Returns None if the param has no owner. Follows the same rules as ownerChain.

ownerChain()

Returns the owner chain for this param. This works for concrete params and abstract params. Examples:

foo.bar.atom.coord.ownerChain() will return [foo, bar, atom, coord] where every item is a regular param.

Foo.bar.atom.coord.x.ownerChain() will return [Foo, bar, atom.coord, x] where Foo is a class and all other items are abstract params.

parent(self) → QObject
postStart()

Override this method for any operations that should be run immediately after a task is started. This method is only called if the task was successfully started; returning False from this method provides one last way of marking the task as having failed to start.

preProcess()
preValidate()

Override this method for any operations that should be run prior to validation.

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)
reportValidation(results)

This method is required by ValidationMixin. In order to report errors, a reporter object is required (self._reporter). If no reporter is specified, a RuntimeError is raised for any validation errors that are encountered, but good results will allow the task to proceed; warnings are ignored if there is no reporter.

reset(*args)

Resets this compound param to its default value. If no arguments are passed in, the entire param is reset. Any number of abstract params may be optionally passed in to perform a partial reset to default value of specified sub-params. For example, given a compound param with two xyz coordinates as endpoints:

class Line(CompoundParam):
start = Coord(x=1, y=2, z=3) end = Coord(x=4, y=5, z=6)

line = Line()

We can reset the entire line:

line.reset()

Or just certain parts:

line.reset(Line.start.x) # resets just start.x line.start.reset(Coord.x) # another way to reset start.x line.reset(Line.end) # resets the entire end point line.reset(Line.start.z, Line.end.z) # resets the z-coord of both
Parameters:args – abstract sub-params of self
runValidation(silent=False, validate_children=True, stop_on_fail=True)

Runs validation and reports the results (unless run silently).

Parameters:
  • silent (bool) – run without any reporting (i.e. error messages to the user). This is useful if we want to programmatically test validity. Changes return value of this method from ValidationResults to a boolean.
  • validate_children (bool) – run validation on all child objects. See _validateChildren for documentation on what this entails.
  • stop_on_fail (bool) – stop validation when first failure is encountered
Returns:

if silent is False, returns the validation results. If silent is True, returns a boolean generated by reportValidation.

Return type:

ValidationResults or bool

sender(self) → QObject
senderSignalIndex(self) → int
setObjectName(self, str)
setParent(self, QObject)
setProperty(self, str, Any) → bool
setStatus(status)
setValue(value=None, **kwargs)

Set the value of this compound param instance. This mutates the compound param to be equal to value; it does not make the compound param /identical/ to value.

Parameters:value (self.DataClass or dict) – either another param instance of the same type or a dictionary mapping the sub-param names to values.
signalsBlocked(self) → bool
startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) → int
staticMetaObject = <PyQt5.QtCore.QMetaObject object>
status()
statusChanged
status_param
status_paramChanged
status_paramReplaced
suspend_signals()
thread(self) → QThread
timerEvent(self, QTimerEvent)
toDict()
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()

Returns a JSON representation of this value object.

tr(self, str, disambiguation: str = None, n: int = -1) → str
valueChanged
class schrodinger.tasks.jobtasks.CmdJobTask(*args, **kwargs)

Bases: schrodinger.tasks.jobtasks.AbstractJobTask

makeCmdList()

This is the main method that needs to be implemented to define a specific cmd job runner. It should just return a complete cmd list for the job to be launched. Standard job options should be left off.

DataClass

alias of builtins.object

__class__

alias of sip.wrappertype

__deepcopy__(memo)
__delattr__

Implement delattr(self, name).

__dict__ = mappingproxy({'__module__': 'schrodinger.tasks.jobtasks', '_launchCmd': <function CmdJobTask._launchCmd>, '_start': <function CmdJobTask._start>, 'makeCmdList': <function CmdJobTask.makeCmdList>, '__doc__': None, '_CmdJobTask_jsonAdapters': [], '_child_param_names': ['base_name', 'name', 'status_param', 'job_options', 'job_config', 'job_dir']})
__dir__() → list

default dir() implementation

__eq__(other)

Return self==value.

__format__()

default object formatter

__ge__

Return self>=value.

__get__(owner_instance, owner_class)

Returns the value of this param for the specific owner instance. If the value has not been set, the default value will be returned.

Parameters:
  • owner_instance (object) – the instance on which this param is an attribute. The value returned will correspond to this instance.
  • owner_class (type) – the class of the owner.
__getattr__(self, str) → object
__getattribute__(name)

If an AttributeError is raised during the getting of a child param, recast the error as a ParamAttributeError and raise. Otherwise, proceed normally.

__gt__

Return self>value.

__hash__ = None
__init__(*args, **kwargs)

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

classmethod __init_subclass__()

This method modifies the creation of CompoundParam subclasses by dynamically adding a signal to the compound param for each subparam. The signal is named <subparam-name>Changed. (ex. coord.xChanged and coord.yChanged). This way, subclasses of CompoundParam do not need to explicitly define signals for each subparam.

__le__

Return self<=value.

__lt__

Return self<value.

__module__ = 'schrodinger.tasks.jobtasks'
__ne__(other)

Return self!=value.

__new__()

Create and return a new object. See help(type) for accurate signature.

__reduce__()

helper for pickle

__reduce_ex__()

helper for pickle

__repr__()

Return repr(self).

__set__(owner_instance, value)

Set the value of this param for the specific owner instance.

Parameters:
  • owner_instance (object) – the instance on which this param is an attribute. The value returned will correspond to this instance.
  • value (self.DataClass) – the value to set this param to
__set_name__(owner_name, name)

Saves the name this param is saved as.

Parameters:
  • owner_instance (object) – The instance on which this param is an attribute.
  • name (str) – The name of the attribute this descriptor was set to.
__setattr__

Implement setattr(self, name, value).

__sizeof__() → int

size of object in memory, in bytes

__str__()

Return str(self).

__subclasshook__()

Abstract classes can override this to customize issubclass().

This is invoked early on by abc.ABCMeta.__subclasscheck__(). It should return True, False or NotImplemented. If it returns NotImplemented, the normal algorithm is used. Otherwise, it overrides the normal algorithm (and the outcome is cached).

__weakref__

list of weak references to the object (if defined)

aboutToReplace
appendConfigFlags(cmdlist)
base_name
base_nameChanged
base_nameReplaced
blockSignals(self, bool) → bool
childEvent(self, QChildEvent)
children(self) → object
connectNotify(self, QMetaMethod)
customEvent(self, QEvent)
deleteLater(self)
destroyed

destroyed(self, QObject = None) [signal]

disconnect(self)
disconnectNotify(self, QMetaMethod)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) → object
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.

fullCmdList()

Returns the full cmd list for the job. This will take into account the run_mode specified in the job_config.

getName()
getSchrodingerRun()

Returns the correct version of the $SCHRODINGER/run string. This will depend on whether the intent is to start or to write the job.

getWriteFilename()
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
installEventFilter(self, QObject)
isDefault()
isRunning()
isSignalConnected(self, QMetaMethod) → bool
isWidgetType(self) → bool
isWindowType(self) → bool
is_abstract = True
job_config
job_configChanged
job_configReplaced
job_dir
job_dirChanged
job_dirReplaced
job_options
job_optionsChanged
job_optionsReplaced
killTimer(self, int)
makeSchrodingerCmd(*args)

Builds a $SCHRODINGER command string from all the args passed in. The resulting string is suitable for use in a cmdlist and formatted for use in starting or writing the job depending on self.run_mode. In START mode, the $SCHRODINGER environment variable will be expanded. In WRITE mode, it will stay as $SCHRODINGER and the path will be delimited with linux-style forward slashes.

Example: self.makeSchrodingerCmd(‘utilities’, ‘my_utility’) will return “${SCHRODINGER}/utilities/my_utility” in WRITE mode.

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

objectNameChanged(self, str) [signal]

owner()

Returns the owner of this param. Works for both concrete and abstract params. Returns None if the param has no owner. Follows the same rules as ownerChain.

ownerChain()

Returns the owner chain for this param. This works for concrete params and abstract params. Examples:

foo.bar.atom.coord.ownerChain() will return [foo, bar, atom, coord] where every item is a regular param.

Foo.bar.atom.coord.x.ownerChain() will return [Foo, bar, atom.coord, x] where Foo is a class and all other items are abstract params.

parent(self) → QObject
postStart()

Override this method for any operations that should be run immediately after a task is started. This method is only called if the task was successfully started; returning False from this method provides one last way of marking the task as having failed to start.

preProcess()
preValidate()

Override this method for any operations that should be run prior to validation.

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)
reportValidation(results)

This method is required by ValidationMixin. In order to report errors, a reporter object is required (self._reporter). If no reporter is specified, a RuntimeError is raised for any validation errors that are encountered, but good results will allow the task to proceed; warnings are ignored if there is no reporter.

reset(*args)

Resets this compound param to its default value. If no arguments are passed in, the entire param is reset. Any number of abstract params may be optionally passed in to perform a partial reset to default value of specified sub-params. For example, given a compound param with two xyz coordinates as endpoints:

class Line(CompoundParam):
start = Coord(x=1, y=2, z=3) end = Coord(x=4, y=5, z=6)

line = Line()

We can reset the entire line:

line.reset()

Or just certain parts:

line.reset(Line.start.x) # resets just start.x line.start.reset(Coord.x) # another way to reset start.x line.reset(Line.end) # resets the entire end point line.reset(Line.start.z, Line.end.z) # resets the z-coord of both
Parameters:args – abstract sub-params of self
runValidation(silent=False, validate_children=True, stop_on_fail=True)

Runs validation and reports the results (unless run silently).

Parameters:
  • silent (bool) – run without any reporting (i.e. error messages to the user). This is useful if we want to programmatically test validity. Changes return value of this method from ValidationResults to a boolean.
  • validate_children (bool) – run validation on all child objects. See _validateChildren for documentation on what this entails.
  • stop_on_fail (bool) – stop validation when first failure is encountered
Returns:

if silent is False, returns the validation results. If silent is True, returns a boolean generated by reportValidation.

Return type:

ValidationResults or bool

sender(self) → QObject
senderSignalIndex(self) → int
setObjectName(self, str)
setParent(self, QObject)
setProperty(self, str, Any) → bool
setStatus(status)
setValue(value=None, **kwargs)

Set the value of this compound param instance. This mutates the compound param to be equal to value; it does not make the compound param /identical/ to value.

Parameters:value (self.DataClass or dict) – either another param instance of the same type or a dictionary mapping the sub-param names to values.
signalsBlocked(self) → bool
start()

Start this task. This includes any preprocessing and validation checks. Any failures will prevent the task from running.

startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) → int
staticMetaObject = <PyQt5.QtCore.QMetaObject object>
status()
statusChanged
status_param
status_paramChanged
status_paramReplaced
suspend_signals()
thread(self) → QThread
timerEvent(self, QTimerEvent)
toDict()
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()

Returns a JSON representation of this value object.

tr(self, str, disambiguation: str = None, n: int = -1) → str
updateStatusText()
valueChanged
write()
schrodinger.tasks.jobtasks.get_job_status_loop()
schrodinger.tasks.jobtasks.monitor_jobtask(jobtask)
class schrodinger.tasks.jobtasks.JobStatusLoop

Bases: PyQt5.QtCore.QObject

__init__()

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

monitorJobTask(jobtask)
updateNow()
__class__

alias of sip.wrappertype

__delattr__

Implement delattr(self, name).

__dict__ = mappingproxy({'__module__': 'schrodinger.tasks.jobtasks', '__init__': <function JobStatusLoop.__init__>, 'monitorJobTask': <function JobStatusLoop.monitorJobTask>, 'updateNow': <function JobStatusLoop.updateNow>, '__doc__': None})
__dir__() → list

default dir() implementation

__eq__

Return self==value.

__format__()

default object formatter

__ge__

Return self>=value.

__getattr__(self, str) → object
__getattribute__

Return getattr(self, name).

__gt__

Return self>value.

__hash__

Return hash(self).

__init_subclass__()

This method is called when a class is subclassed.

The default implementation does nothing. It may be overridden to extend subclasses.

__le__

Return self<=value.

__lt__

Return self<value.

__module__ = 'schrodinger.tasks.jobtasks'
__ne__

Return self!=value.

__new__()

Create and return a new object. See help(type) for accurate signature.

__reduce__()

helper for pickle

__reduce_ex__()

helper for pickle

__repr__

Return repr(self).

__setattr__

Implement setattr(self, name, value).

__sizeof__() → int

size of object in memory, in bytes

__str__

Return str(self).

__subclasshook__()

Abstract classes can override this to customize issubclass().

This is invoked early on by abc.ABCMeta.__subclasscheck__(). It should return True, False or NotImplemented. If it returns NotImplemented, the normal algorithm is used. Otherwise, it overrides the normal algorithm (and the outcome is cached).

__weakref__

list of weak references to the object (if defined)

blockSignals(self, bool) → bool
childEvent(self, QChildEvent)
children(self) → object
connectNotify(self, QMetaMethod)
customEvent(self, QEvent)
deleteLater(self)
destroyed

destroyed(self, QObject = None) [signal]

disconnect(self)
disconnectNotify(self, QMetaMethod)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) → object
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]

inherits(self, str) → bool
installEventFilter(self, QObject)
isSignalConnected(self, QMetaMethod) → bool
isWidgetType(self) → bool
isWindowType(self) → bool
killTimer(self, int)
metaObject(self) → QMetaObject
moveToThread(self, QThread)
objectName(self) → str
objectNameChanged

objectNameChanged(self, str) [signal]

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)
sender(self) → QObject
senderSignalIndex(self) → int
setObjectName(self, str)
setParent(self, QObject)
setProperty(self, str, Any) → bool
signalsBlocked(self) → bool
startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) → int
staticMetaObject = <PyQt5.QtCore.QMetaObject object>
thread(self) → QThread
timerEvent(self, QTimerEvent)
tr(self, str, disambiguation: str = None, n: int = -1) → str
schrodinger.tasks.jobtasks.get_project_name()
schrodinger.tasks.jobtasks.use_detached_jobs(host)

Returns boolean if we should use detached jobs.

Parameters:host (string) – Hosts string which determine the string value of result server argument. These are values usually from configuration dialog and is of the form “galina” or “galina:1” or “galina,monica” or “galina:2,monica:3” or “galina monica” or “galina:2 monica:3”. And based on ‘serverhost’ field of the first host, return boolean if we should use detached jobs.
schrodinger.tasks.jobtasks.make_schrodinger_cmd(cmdlist, mode=<RunMode.START: 1>)
schrodinger.tasks.jobtasks.get_first_hostname(host)

Given a host string, get the corresponding hosts list from jobcontrol and return the first hostname from that list.

Parameters:host (string) –
Hosts string which determine the string value of result server argument. These are values usually from configuration dialog and is of the form “galina” or “galina:1” or “galina,monica” or “galina:2,monica:3” or “galina monica” or “galina:2 monica:3”.
rtype:str
return:Hostname based on the first of the first hosts in the jobcontrol list.
schrodinger.tasks.jobtasks.result_server_option(host)

Return string value of result server argument.

Parameters:host (string) – Hosts string which determine the string value of result server argument. These are values usually from configuration dialog and is of the form “galina” or “galina:1” or “galina,monica” or “galina:2,monica:3” or “galina monica” or “galina:2 monica:3”. And based on ‘serverhost’ field of the first host, the result server argument is returned.
schrodinger.tasks.jobtasks.job_belongs_to_panel(jobid, viewname)

Return True if jobid belongs to viewname of a panel. Used by incorporation callbacks to determine if the job belongs to us.

Parameters:
  • jobid (str) – jobid for a given job
  • viewname (str) – viewname corresponding to panel
schrodinger.tasks.jobtasks.cmdlist_to_cmd(cmdlist)

Converts a command list to a command string. Don’t do this if you can possibly avoid it.

subprocess.list2cmdline() is not sufficient because it won’t quote env vars like $SCHRODINGER (which can expand to “path with spaces”

Parameters:cmdlist (list) – a list of commands
Returns:sh interpolable list
schrodinger.tasks.jobtasks.set_sh_file_flags(filename)