schrodinger.job.launchparams module¶
- class schrodinger.job.launchparams.ProjectDisposition(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)¶
Bases:
enum.Enum
- NONE = 'None'¶
- APPEND = 'append'¶
- APPEND_FIT = 'append:fit'¶
- IGNORE = 'ignore'¶
- CUSTOM = 'custom'¶
- ADDTOENTRY = 'addtoentry'¶
- APPENDINPLACE = 'appendinplace'¶
- APPENDINPLACE_FIT = 'appendinplace:fit'¶
- APPENDUNGROUPED = 'appendungrouped'¶
- REPLACE = 'replace'¶
- REPLACE_FIT = 'replace:fit'¶
- WORKSPACE = 'workspace'¶
- class schrodinger.job.launchparams.SaveMode(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)¶
Bases:
enum.Enum
- NoSave = 0¶
- RootJob = 1¶
- RootJobAndSubjobs = 2¶
- RootJobAndFailedSubjobs = 3¶
- class schrodinger.job.launchparams.LaunchParameters¶
Bases:
object
These are parameters that can change with each job launch.
- __init__()¶
- setDebugLevel(debug_level)¶
- Parameters
save (bool) – if True, copy back full output directory as zip
- getDebugLevel()¶
Returns debug level (integer)
- setDeleteAfterIncorporation(delete)¶
- Parameters
delete (bool) – if True, the directory the job was launched from is deleted after incporation
- setLaunchDirectory(launch_directory)¶
Sets cwd for job launch. This avoids a chdir command before calling launch potentially allowing for more than one launch from maestro.
- getLaunchDirectory()¶
Sets cwd for job launch. This avoids a chdir command before calling launch potentially allowing for more than one launch from maestro.
- setHostname(hostname)¶
Hostname is the name of the host to run the job on. This name needs to correspond to something in schrodinger.hosts file or DNS-resolveable.
- Parameters
hostname (str) – name of host
- getHostname()¶
Returns hostname is the name of the host to run the job on. This name needs to correspond to something in schrodinger.hosts file or DNS-resolveable.
- getSubHostName() Optional[str] ¶
Returns None if -SUBHOST isn’t set and the hostname if -SUBHOST is set.
- getJobname()¶
Return the jobname.
- setJobname(jobname)¶
Jobname is a non mandatory variable that can be used to indicate name of job in job record.
- Parameters
jobname (str) – name of job
- getMaestroViewname()¶
Viewname is used by a maestro panel to identify a job as belonging to a panel.
- Returns
viewname name of panel
- Return type
str
- setMaestroViewname(viewname)¶
Viewname is used by a maestro panel to identify a job as belonging to a panel.
- Parameters
viewname (str) – name of panel
- getMaestroProjectDisposition()¶
:returns ProjectDisposition
- getMaestroProjectDispositionString()¶
:returns str matching project disposition, appropriate for cmdline
- setMaestroProjectDisposition(disp)¶
Mark the state of project incorporation.
- Parameters
disp (ProjectDisposition) – should we incorporate?
- getMaestroProjectName()¶
Returns associated project for a job, marking which project should do the incorporation of results.
- Returns
path to project
- Return type
str
- setMaestroProjectName(project)¶
Set associated project for a job, marking which project should do the incorporation of results.
- Parameters
project (str) – path to project
- setNumberOfProcessorsManyNodes(nprocessors)¶
Set number of processors to allocate to a job. These may be across multiple nodes. Used by MPI jobs to indicate how many processors the queuing system needs to allocate.
- Parameters
nprocessors (int greater than 0) – number of processors requested for this job
- setNumberOfSubjobs(nsubjobs)¶
Set number of subjobs that a job could run. This is used by workflow jobs to indicate that a driver job might run and use subjobs. This value is NOT used by the queueing system, but can be accessed from inside the job.
- Parameters
nsubjobs – number of subjobs
- getNumberOfProcessorsManyNodes()¶
Get number of processors to allocate to a job. Used by MPI jobs.
For example 4 processors = 4 nodes allocated by single jobs.
- getNumberOfSubjobs()¶
Get number of subjobs that a job may run. This value is used by product backend (not jobcontrol).
In a workflow job, 4 process = 4 jobs running simultaneously.
- setNumberOfProcessorsOneNode(nprocessors)¶
Set number of processors on one node. Useful for OpenMP-type jobs, indicates to the queueing system to allocate the requisite number of processors on the same node..
- Parameters
nprocessors (int greater than 0) – number of processors requested for this job
- getNumberOfProcessorsOneNode()¶
Return number of processors on one node. Useful for OpenMP-type jobs, indicates to the queueing system to allocate the requisite number of processors on the same node.
- Returns
number of processors requested for this job
- Return type
int greater than 0
- getTPP()¶
Return the TPP option set by toplevel.py only.
- setTPP(tpp)¶
Sets the TPP option on the cmdline. This will not be used by the parent job unless jobUsesTPP is set in the job specification.
- setOPLSDir(oplsdir)¶
- getNumberOfQueueSlots()¶
Return the number of slots we need to request for the queueing system. This value current maps to NPROC. If we don’t know how many, return None.
- verify()¶
- constructHostArg()¶
- convertToJLaunchOptions()¶
Validate state of Launch Parameters (may throw RuntimeError) and return list of cmdline parameters.
- Returns
list of str
- convertToEnv()¶
Converts LaunchParameters to environment. Not all parameters are supported. This option should be limited to use by toplevel.py if possible.
- consumeCommandLine(cmdline)¶
This consumes arguments from cmdline. The primary purpose is to consume arguments from toplevel $SCHRODINGER/run.
:returns cmdline with options filtered out.
- exception schrodinger.job.launchparams.ArgumentParserError¶
Bases:
Exception