schrodinger.application.matsci.jwsteps module

Steps for use in Workflows

Copyright Schrodinger, LLC. All rights reserved.

schrodinger.application.matsci.jwsteps.import_driver(dpath)
exception schrodinger.application.matsci.jwsteps.JobCreationError

Bases: Exception

Raised when a job cannot be created

__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.matsci.jwsteps.BaseWorkflow(*args, **kwargs)

Bases: schrodinger.application.matsci.jaguarworkflows.WorkFlow

Base Workflow class

This class does not assume the first step is the main step. Instead, set the main_step property to the main step. This is the step that will get all the workflow properties added to it.

The main step will also be the only step in the main PT group. All other steps will be in a “subjobs” subgroup.

__init__(*args, **kwargs)

Create a Workflow object

Parameters:
  • struct (schrodinger.structure.Structure) – The initial structure to use for the workflow
  • options (argparse Namespace object) – The input options. The only options used by this module is options.host, which are used by Step objects. Other options may be used by custom classes.
  • count (int) – A serial number to distinguish this workflow from other workflows. May be used to create a unique base name.
  • jobq (JobDJ) – The queue to submit jobs to
  • strcleaner (schrodinger.application.matsci.jobutils.StringCleaner or None) – a StringCleaner instance
  • logger (logging.Logger) – The logger for this class
  • subhierarchy (str) – If given, the final structure for all steps other than the main step will be placed in a PT subgroup with this name.
check(log_zero_steps=False)

Check if this workflow is complete. Also, submit the next step(s) if the previous step has finished.

Parameters:log_zero_steps (bool) – log a message if there are zero steps
Return type:bool
Returns:True if the workflow is complete, False if not
getSteps()

Create all the steps required for this workflow

This method should almost certainly be overridden by any child class. The example given here is just that - an example

log(msg, prefix=True, level=20)

Add a message to the log file

Parameters:
  • msg (str) – The message to add
  • prefix (bool) – Whether to add information about the workflow and step name to the front of the message string
  • level (int) – A logging constant indicating the priority level of the message
periodicMaintenance()

The run_workflows function will call this method periodically - it can be used to perform operations while one of the workflow steps is running

write(writer)

Write out the structure for this workflow and all the child structures

Parameters:writer (schrodinger.StructureWriter) – The writer to use to write the structure
class schrodinger.application.matsci.jwsteps.SubdirectoryStepMixin(*args, **kwargs)

Bases: object

A mixin to handle some common functionality for steps that run in subdirectories

__init__(*args, **kwargs)

See parent class for documentation

finishProcessingJobControlJob()

Add all the subjob files to the backend

setSubDir()

Determine the absolute path to this step’s subdirectory so that we can always access it no matter what the current directory is

class schrodinger.application.matsci.jwsteps.JaguarOptimization(*args, **kwargs)

Bases: schrodinger.application.matsci.jwsteps.SubdirectoryStepMixin, schrodinger.application.matsci.jaguarworkflows.OptStep

Class to run a Jaguar optimization and possibly thermochemistry

This class overrides many of the parent class methods to enable the step to run in a subdirectory. The parent class expects the job to run in the main workflow job directory.

STEP_NAME = 'Optimization'
JOB_BASE = 'opt'
__init__(*args, **kwargs)

See parent class for documentation

writeInput()

Override the parent method to work in the subjob directory

createJob()

Override the parent method to work in the subjob directory

start()

Override the parent method to work in the subjob directory

getOutput(*args, **kwargs)

Override the parent method to work in the subjob directory

createSmapFile()

Create the smap file that allows the surfaces to automatically import when the structure is manually imported into Maestro

calcsDone()

Check to see if the calculation finished

If finished and the job failed, self.ok will be set to False

Return type:bool
Returns:True if the calculation finished, False if not
canStart()

Check to see if this job can start - if the parent job(s) have finished successfully.

Return type:bool
Returns:True if the job can start, False if not
finish()

Do any work required to create properties when the calculation has finished.

If property_name was provided to the constructor, this computes the energy difference between this step and the inherited parent step and stores it in the property name.

finishProcessingJobControlJob()

Add all the subjob files to the backend

getInput(override_uhf=True, override_solvent=True)

Get the JaguarInput object for this step, setting the keywords as required.

Return type:None or jaguar_input.JaguarInput
Returns:None if an error occured, or the jaguar_input.JaguarInput object to use for this step
getStructure()

Get the starting structure for this step

Return type:schrodinger.structure.Structure
Returns:The starting structure for this step
log(msg, prefix=True, level=20)

Add a message to the parent workflow’s log file

Parameters:
  • msg (str) – The message to add
  • prefix (bool) – Whether to add information about the workflow and step name to the front of the message string
  • level (int) – A logging constant indicating the priority level of the message
periodicMaintenance()

This method is periodically called while the workflow is running

setKeywords(input, keystring)

Set the keywords for this job

Parameters:
  • input (jaguar_input.JaguarInput) – The JaguarInput object to set the keywords on
  • keystring (str) – Space separated keyword=value pairs. Each pair must contain an equals sign
setSubDir()

Determine the absolute path to this step’s subdirectory so that we can always access it no matter what the current directory is

write(writer, props=None, hierarchy=None)

Add the final structure for this step to the output structure file

Parameters:
  • writer (schrodinger.StructureWriter) – The writer to use to write the structure
  • props (dict) – A dictionary of property/value pairs to add to the property dictionary of this object.
  • hierarchy (list) – The project group hierarchy for this result - each item is a str
class schrodinger.application.matsci.jwsteps.BaseResults(parent)

Bases: object

A simple results class to provide the functionality from the jaguarworkflows.Results class that is still needed for non-Jaguar jobs

__init__(parent)

Create a BaseResults class

Parameters:parent (jaguarworkflows.Step) – The class these results are for
getMaeStructure()

Get the resulting Maestro structure for the parent class

class schrodinger.application.matsci.jwsteps.BaseStep(*args, procs=1, tag=None, flags=None, archive=False, monitor_globs=None, full_command=None, local_files=None, input_file=None, **kwargs)

Bases: schrodinger.application.matsci.jwsteps.SubdirectoryStepMixin, schrodinger.application.matsci.jaguarworkflows.Step

A base class for Steps that are not simple Jaguar jobs. Because this step fires off a Python script that itself fires off Jaguar jobs, we have to modify a number of methods that dealt with the jaguar .in file directly or expected standard Jaguar output.

PROCS = 1
RESULTS_CLASS

alias of BaseResults

STEP_NAME = 'Base Step'
JOB_BASE = 'base'
DRIVER_PATH = 'driver_dir/driver.py'
FLAGS = {}
FLAGS_ADD_INPUT_NAME = True
FLAGS_INPUT_NAME_FLAG = ''
FLAGS_ADD_JOB_NAME = True
FLAGS_ADD_TPP = False
FLAGS_ADD_DOUBLE_DASH = False
CAN_CREATE_TRAJECTORY = False
SAVE_PROPS = {}
SAVE_PROP_STARTS = {}
__init__(*args, procs=1, tag=None, flags=None, archive=False, monitor_globs=None, full_command=None, local_files=None, input_file=None, **kwargs)

Create a BaseStep object

Parameters:
  • procs (int) – The number of processors to allocate to steps of this class
  • tag – str(tag) will be added to the end of the job name and step name
  • flags (dict) – Command line argument flags in addition to, or that override, the class FLAGS variable. Keys are flag names (“-flag”), values are values for that flag. For flags that take no value, use None as the value. To turn off (not include in the command line) a flag in the class FLAGS variable, use the DO_NOT_USE_FLAG constant as the value.
  • archive (bool) – If True, instead of copying the subdirectory and individual files, will tar.gz up the entire subdirectory and copy that back.
  • monitor_globs (list) – List of valid file globs (i.e. [“*.zip”]) that should be monitored for and copied back to the original job directory when they appear. Note that the interaction of archive and moitor_globs is such that if both are specified, the result will be a subdirectory with the monitored files AND an archive of the entire subdirectory (including any monitored files that remain when this step completes).
  • full_command (list) – the full command line for this step including the driver path, etc. but without $SCHRODINGER/run. The command will be used “as is” except for replacing some pre-defined tokens with job-specific strings - see the createCommand function. Each item of the list is a word of the command line invocation.
  • local_files (list) – A list of file paths to copy into the job subdirectory before running the command
  • input_file (str) – The name of the file containing the input structures/data. It is ignored if there is a parent for this step.

See parent class for additional documentation

getParentalSubdirectories()

Get the subdirectory names for parents and required stages

Return type:str, str
Returns:The parent subdirectory, and a space-separated string of all required stage subdirectories. The subdirectory paths are relative to the overall job directory.
addParentalSubdirProperties(struct)

Add parental subdirectory properties to the structure

Parameters:struct (schrodinger.structure.Structure) – The structure to add properties to
writeInput(struct)

Write the input file

Parameters:or None struct (structure.Structure) – The structure to write. If None it will write the input file.
start()

Start the job - create the input and write it, adding necessary output files to make sure they get copied back

removeIncomingProperties(struct)

Remove properties on the structure that may have come from previous steps and that we do not want to propagate through this step

Parameters:struct (structure.Structure) – The structure to remove properties from
getStructure()

Get the starting structure for this step

Overrides the parent class to get the initial structure for this workflow if the Step has no parent.

Return type:schrodinger.structure.Structure or None
Returns:The starting structure for this step. None if input is not a structure.
getOutput(quiet=False)

Read in the results of the calculation

Parameters:quiet (bool) – If True, no error messages will be printed. If False, (default) error messages will be printed. Also, if True, self.ok will not be set to False if the output file cannot be read.
Return type:None or list
Returns:None if the calculation failed, or a list of output structures from a successful calculation.
getStructForWriting()

Get the structure from this step to write to the final Workflow file

Return type:schrodinger.structure.Structure
Returns:The structure to write
getInputName()

Get the name of the input structure file

Return type:str
Returns:The input structure file name
getOutputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
finish()

Finish this step, including processing any output

write(writer, props=None, hierarchy=None)

Add the final structure for this step to the output structure file

Parameters:
  • writer (schrodinger.StructureWriter) – The writer to use to write the structure
  • props (dict) – A dictionary of property/value pairs to add to the property dictionary of this object.
  • hierarchy (list) – The project group hierarchy for this result - each item is a str
createCommand()

Create the command line

Return type:list
Returns:The command line in list form
Raises:JobCreationError – If the command cannot be created
createJob()

Create the job command and object

Return type:jaguarworkflows.RobustSubmissionJob
Returns:The job object to run Macromodel
createQJobFromCommand(cmd)

Create the JobDJ job from the list of command line arguments. The job will be set to run in the Step subdirectory.

Return type:jaguarworkflows.RobustSubmissionJob
Returns:A job object that can be added to JobDJ
processOutput(output)

Process the output of a job during the finish part of the step

Parameters:output – The output of the job. Type may vary in subclasses
archiveSubDir()

Archive this step’s subdirectory and add it to the backend for copy back

finishProcessingJobControlJob()

Override the parent method to archive the directory if requested

periodicMaintenance()

This method is periodically called while the workflow is running

monitorFiles()

Check for any requested files that need to be copied back immediately

calcsDone()

Check to see if the calculation finished

If finished and the job failed, self.ok will be set to False

Return type:bool
Returns:True if the calculation finished, False if not
canStart()

Check to see if this job can start - if the parent job(s) have finished successfully.

Return type:bool
Returns:True if the job can start, False if not
getInput(override_uhf=True, override_solvent=True)

Get the JaguarInput object for this step, setting the keywords as required.

Return type:None or jaguar_input.JaguarInput
Returns:None if an error occured, or the jaguar_input.JaguarInput object to use for this step
log(msg, prefix=True, level=20)

Add a message to the parent workflow’s log file

Parameters:
  • msg (str) – The message to add
  • prefix (bool) – Whether to add information about the workflow and step name to the front of the message string
  • level (int) – A logging constant indicating the priority level of the message
setKeywords(input, keystring)

Set the keywords for this job

Parameters:
  • input (jaguar_input.JaguarInput) – The JaguarInput object to set the keywords on
  • keystring (str) – Space separated keyword=value pairs. Each pair must contain an equals sign
setSubDir()

Determine the absolute path to this step’s subdirectory so that we can always access it no matter what the current directory is

class schrodinger.application.matsci.jwsteps.MacromodelConfSearchStep(*args, **kwargs)

Bases: schrodinger.application.matsci.jwsteps.BaseStep

Step to perform a macromodel conformational search

STEP_NAME = 'ConfSearch'
JOB_BASE = 'csearch'
DRIVER_PATH = 'bmin'
FLAGS = {}
FLAGS_ADD_INPUT_NAME = False
FLAGS_ADD_JOB_NAME = False
__init__(*args, **kwargs)

See parent class for documentation

getComUtil()

Get the macromodel com utility that holds the settings to write

Return type:schrodinger.application.macromodel.utils.comUtil
Returns:The comUtil object with settings
writeCom()

Write out the Macromodel com file

getComName()

Get the name of the com file for this step

Return type:str
Returns:The name of the com file
writeInput(struct)

Override the parent method to also write the com file

CAN_CREATE_TRAJECTORY = False
FLAGS_ADD_DOUBLE_DASH = False
FLAGS_ADD_TPP = False
FLAGS_INPUT_NAME_FLAG = ''
PROCS = 1
RESULTS_CLASS

alias of BaseResults

SAVE_PROPS = {}
SAVE_PROP_STARTS = {}
addParentalSubdirProperties(struct)

Add parental subdirectory properties to the structure

Parameters:struct (schrodinger.structure.Structure) – The structure to add properties to
archiveSubDir()

Archive this step’s subdirectory and add it to the backend for copy back

calcsDone()

Check to see if the calculation finished

If finished and the job failed, self.ok will be set to False

Return type:bool
Returns:True if the calculation finished, False if not
canStart()

Check to see if this job can start - if the parent job(s) have finished successfully.

Return type:bool
Returns:True if the job can start, False if not
createCommand()

Create the command line

Return type:list
Returns:The command line in list form
Raises:JobCreationError – If the command cannot be created
createJob()

Create the job command and object

Return type:jaguarworkflows.RobustSubmissionJob
Returns:The job object to run Macromodel
createQJobFromCommand(cmd)

Create the JobDJ job from the list of command line arguments. The job will be set to run in the Step subdirectory.

Return type:jaguarworkflows.RobustSubmissionJob
Returns:A job object that can be added to JobDJ
finish()

Finish this step, including processing any output

finishProcessingJobControlJob()

Override the parent method to archive the directory if requested

getInput(override_uhf=True, override_solvent=True)

Get the JaguarInput object for this step, setting the keywords as required.

Return type:None or jaguar_input.JaguarInput
Returns:None if an error occured, or the jaguar_input.JaguarInput object to use for this step
getInputName()

Get the name of the input structure file

Return type:str
Returns:The input structure file name
getOutput(quiet=False)

Read in the results of the calculation

Parameters:quiet (bool) – If True, no error messages will be printed. If False, (default) error messages will be printed. Also, if True, self.ok will not be set to False if the output file cannot be read.
Return type:None or list
Returns:None if the calculation failed, or a list of output structures from a successful calculation.
getOutputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getParentalSubdirectories()

Get the subdirectory names for parents and required stages

Return type:str, str
Returns:The parent subdirectory, and a space-separated string of all required stage subdirectories. The subdirectory paths are relative to the overall job directory.
getStructForWriting()

Get the structure from this step to write to the final Workflow file

Return type:schrodinger.structure.Structure
Returns:The structure to write
getStructure()

Get the starting structure for this step

Overrides the parent class to get the initial structure for this workflow if the Step has no parent.

Return type:schrodinger.structure.Structure or None
Returns:The starting structure for this step. None if input is not a structure.
log(msg, prefix=True, level=20)

Add a message to the parent workflow’s log file

Parameters:
  • msg (str) – The message to add
  • prefix (bool) – Whether to add information about the workflow and step name to the front of the message string
  • level (int) – A logging constant indicating the priority level of the message
monitorFiles()

Check for any requested files that need to be copied back immediately

periodicMaintenance()

This method is periodically called while the workflow is running

processOutput(output)

Process the output of a job during the finish part of the step

Parameters:output – The output of the job. Type may vary in subclasses
removeIncomingProperties(struct)

Remove properties on the structure that may have come from previous steps and that we do not want to propagate through this step

Parameters:struct (structure.Structure) – The structure to remove properties from
setKeywords(input, keystring)

Set the keywords for this job

Parameters:
  • input (jaguar_input.JaguarInput) – The JaguarInput object to set the keywords on
  • keystring (str) – Space separated keyword=value pairs. Each pair must contain an equals sign
setSubDir()

Determine the absolute path to this step’s subdirectory so that we can always access it no matter what the current directory is

start()

Start the job - create the input and write it, adding necessary output files to make sure they get copied back

write(writer, props=None, hierarchy=None)

Add the final structure for this step to the output structure file

Parameters:
  • writer (schrodinger.StructureWriter) – The writer to use to write the structure
  • props (dict) – A dictionary of property/value pairs to add to the property dictionary of this object.
  • hierarchy (list) – The project group hierarchy for this result - each item is a str
class schrodinger.application.matsci.jwsteps.VoidStep(*args, procs=1, tag=None, flags=None, archive=False, monitor_globs=None, full_command=None, local_files=None, input_file=None, **kwargs)

Bases: schrodinger.application.matsci.jwsteps.BaseStep

A step for running the Distributed Voids driver

STEP_NAME = 'Distribute voids'
JOB_BASE = 'voids'
DRIVER_PATH = 'distribute_voids_gui_dir/distribute_voids_driver.py'
FLAGS = {'-force': None, '-void_pct': 10}
getOutputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
CAN_CREATE_TRAJECTORY = False
FLAGS_ADD_DOUBLE_DASH = False
FLAGS_ADD_INPUT_NAME = True
FLAGS_ADD_JOB_NAME = True
FLAGS_ADD_TPP = False
FLAGS_INPUT_NAME_FLAG = ''
PROCS = 1
RESULTS_CLASS

alias of BaseResults

SAVE_PROPS = {}
SAVE_PROP_STARTS = {}
__init__(*args, procs=1, tag=None, flags=None, archive=False, monitor_globs=None, full_command=None, local_files=None, input_file=None, **kwargs)

Create a BaseStep object

Parameters:
  • procs (int) – The number of processors to allocate to steps of this class
  • tag – str(tag) will be added to the end of the job name and step name
  • flags (dict) – Command line argument flags in addition to, or that override, the class FLAGS variable. Keys are flag names (“-flag”), values are values for that flag. For flags that take no value, use None as the value. To turn off (not include in the command line) a flag in the class FLAGS variable, use the DO_NOT_USE_FLAG constant as the value.
  • archive (bool) – If True, instead of copying the subdirectory and individual files, will tar.gz up the entire subdirectory and copy that back.
  • monitor_globs (list) – List of valid file globs (i.e. [“*.zip”]) that should be monitored for and copied back to the original job directory when they appear. Note that the interaction of archive and moitor_globs is such that if both are specified, the result will be a subdirectory with the monitored files AND an archive of the entire subdirectory (including any monitored files that remain when this step completes).
  • full_command (list) – the full command line for this step including the driver path, etc. but without $SCHRODINGER/run. The command will be used “as is” except for replacing some pre-defined tokens with job-specific strings - see the createCommand function. Each item of the list is a word of the command line invocation.
  • local_files (list) – A list of file paths to copy into the job subdirectory before running the command
  • input_file (str) – The name of the file containing the input structures/data. It is ignored if there is a parent for this step.

See parent class for additional documentation

addParentalSubdirProperties(struct)

Add parental subdirectory properties to the structure

Parameters:struct (schrodinger.structure.Structure) – The structure to add properties to
archiveSubDir()

Archive this step’s subdirectory and add it to the backend for copy back

calcsDone()

Check to see if the calculation finished

If finished and the job failed, self.ok will be set to False

Return type:bool
Returns:True if the calculation finished, False if not
canStart()

Check to see if this job can start - if the parent job(s) have finished successfully.

Return type:bool
Returns:True if the job can start, False if not
createCommand()

Create the command line

Return type:list
Returns:The command line in list form
Raises:JobCreationError – If the command cannot be created
createJob()

Create the job command and object

Return type:jaguarworkflows.RobustSubmissionJob
Returns:The job object to run Macromodel
createQJobFromCommand(cmd)

Create the JobDJ job from the list of command line arguments. The job will be set to run in the Step subdirectory.

Return type:jaguarworkflows.RobustSubmissionJob
Returns:A job object that can be added to JobDJ
finish()

Finish this step, including processing any output

finishProcessingJobControlJob()

Override the parent method to archive the directory if requested

getInput(override_uhf=True, override_solvent=True)

Get the JaguarInput object for this step, setting the keywords as required.

Return type:None or jaguar_input.JaguarInput
Returns:None if an error occured, or the jaguar_input.JaguarInput object to use for this step
getInputName()

Get the name of the input structure file

Return type:str
Returns:The input structure file name
getOutput(quiet=False)

Read in the results of the calculation

Parameters:quiet (bool) – If True, no error messages will be printed. If False, (default) error messages will be printed. Also, if True, self.ok will not be set to False if the output file cannot be read.
Return type:None or list
Returns:None if the calculation failed, or a list of output structures from a successful calculation.
getParentalSubdirectories()

Get the subdirectory names for parents and required stages

Return type:str, str
Returns:The parent subdirectory, and a space-separated string of all required stage subdirectories. The subdirectory paths are relative to the overall job directory.
getStructForWriting()

Get the structure from this step to write to the final Workflow file

Return type:schrodinger.structure.Structure
Returns:The structure to write
getStructure()

Get the starting structure for this step

Overrides the parent class to get the initial structure for this workflow if the Step has no parent.

Return type:schrodinger.structure.Structure or None
Returns:The starting structure for this step. None if input is not a structure.
log(msg, prefix=True, level=20)

Add a message to the parent workflow’s log file

Parameters:
  • msg (str) – The message to add
  • prefix (bool) – Whether to add information about the workflow and step name to the front of the message string
  • level (int) – A logging constant indicating the priority level of the message
monitorFiles()

Check for any requested files that need to be copied back immediately

periodicMaintenance()

This method is periodically called while the workflow is running

processOutput(output)

Process the output of a job during the finish part of the step

Parameters:output – The output of the job. Type may vary in subclasses
removeIncomingProperties(struct)

Remove properties on the structure that may have come from previous steps and that we do not want to propagate through this step

Parameters:struct (structure.Structure) – The structure to remove properties from
setKeywords(input, keystring)

Set the keywords for this job

Parameters:
  • input (jaguar_input.JaguarInput) – The JaguarInput object to set the keywords on
  • keystring (str) – Space separated keyword=value pairs. Each pair must contain an equals sign
setSubDir()

Determine the absolute path to this step’s subdirectory so that we can always access it no matter what the current directory is

start()

Start the job - create the input and write it, adding necessary output files to make sure they get copied back

write(writer, props=None, hierarchy=None)

Add the final structure for this step to the output structure file

Parameters:
  • writer (schrodinger.StructureWriter) – The writer to use to write the structure
  • props (dict) – A dictionary of property/value pairs to add to the property dictionary of this object.
  • hierarchy (list) – The project group hierarchy for this result - each item is a str
writeInput(struct)

Write the input file

Parameters:or None struct (structure.Structure) – The structure to write. If None it will write the input file.
class schrodinger.application.matsci.jwsteps.BaseMetaJaguarWorkflowStep(*args, procs=1, tag=None, flags=None, archive=False, monitor_globs=None, full_command=None, local_files=None, input_file=None, **kwargs)

Bases: schrodinger.application.matsci.jwsteps.BaseStep

Base Step for MatSci workflows that themselves run Jaguar subjobs

FLAGS_ADD_TPP = True
CAN_CREATE_TRAJECTORY = False
DRIVER_PATH = 'driver_dir/driver.py'
FLAGS = {}
FLAGS_ADD_DOUBLE_DASH = False
FLAGS_ADD_INPUT_NAME = True
FLAGS_ADD_JOB_NAME = True
FLAGS_INPUT_NAME_FLAG = ''
JOB_BASE = 'base'
PROCS = 1
RESULTS_CLASS

alias of BaseResults

SAVE_PROPS = {}
SAVE_PROP_STARTS = {}
STEP_NAME = 'Base Step'
__init__(*args, procs=1, tag=None, flags=None, archive=False, monitor_globs=None, full_command=None, local_files=None, input_file=None, **kwargs)

Create a BaseStep object

Parameters:
  • procs (int) – The number of processors to allocate to steps of this class
  • tag – str(tag) will be added to the end of the job name and step name
  • flags (dict) – Command line argument flags in addition to, or that override, the class FLAGS variable. Keys are flag names (“-flag”), values are values for that flag. For flags that take no value, use None as the value. To turn off (not include in the command line) a flag in the class FLAGS variable, use the DO_NOT_USE_FLAG constant as the value.
  • archive (bool) – If True, instead of copying the subdirectory and individual files, will tar.gz up the entire subdirectory and copy that back.
  • monitor_globs (list) – List of valid file globs (i.e. [“*.zip”]) that should be monitored for and copied back to the original job directory when they appear. Note that the interaction of archive and moitor_globs is such that if both are specified, the result will be a subdirectory with the monitored files AND an archive of the entire subdirectory (including any monitored files that remain when this step completes).
  • full_command (list) – the full command line for this step including the driver path, etc. but without $SCHRODINGER/run. The command will be used “as is” except for replacing some pre-defined tokens with job-specific strings - see the createCommand function. Each item of the list is a word of the command line invocation.
  • local_files (list) – A list of file paths to copy into the job subdirectory before running the command
  • input_file (str) – The name of the file containing the input structures/data. It is ignored if there is a parent for this step.

See parent class for additional documentation

addParentalSubdirProperties(struct)

Add parental subdirectory properties to the structure

Parameters:struct (schrodinger.structure.Structure) – The structure to add properties to
archiveSubDir()

Archive this step’s subdirectory and add it to the backend for copy back

calcsDone()

Check to see if the calculation finished

If finished and the job failed, self.ok will be set to False

Return type:bool
Returns:True if the calculation finished, False if not
canStart()

Check to see if this job can start - if the parent job(s) have finished successfully.

Return type:bool
Returns:True if the job can start, False if not
createCommand()

Create the command line

Return type:list
Returns:The command line in list form
Raises:JobCreationError – If the command cannot be created
createJob()

Create the job command and object

Return type:jaguarworkflows.RobustSubmissionJob
Returns:The job object to run Macromodel
createQJobFromCommand(cmd)

Create the JobDJ job from the list of command line arguments. The job will be set to run in the Step subdirectory.

Return type:jaguarworkflows.RobustSubmissionJob
Returns:A job object that can be added to JobDJ
finish()

Finish this step, including processing any output

finishProcessingJobControlJob()

Override the parent method to archive the directory if requested

getInput(override_uhf=True, override_solvent=True)

Get the JaguarInput object for this step, setting the keywords as required.

Return type:None or jaguar_input.JaguarInput
Returns:None if an error occured, or the jaguar_input.JaguarInput object to use for this step
getInputName()

Get the name of the input structure file

Return type:str
Returns:The input structure file name
getOutput(quiet=False)

Read in the results of the calculation

Parameters:quiet (bool) – If True, no error messages will be printed. If False, (default) error messages will be printed. Also, if True, self.ok will not be set to False if the output file cannot be read.
Return type:None or list
Returns:None if the calculation failed, or a list of output structures from a successful calculation.
getOutputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getParentalSubdirectories()

Get the subdirectory names for parents and required stages

Return type:str, str
Returns:The parent subdirectory, and a space-separated string of all required stage subdirectories. The subdirectory paths are relative to the overall job directory.
getStructForWriting()

Get the structure from this step to write to the final Workflow file

Return type:schrodinger.structure.Structure
Returns:The structure to write
getStructure()

Get the starting structure for this step

Overrides the parent class to get the initial structure for this workflow if the Step has no parent.

Return type:schrodinger.structure.Structure or None
Returns:The starting structure for this step. None if input is not a structure.
log(msg, prefix=True, level=20)

Add a message to the parent workflow’s log file

Parameters:
  • msg (str) – The message to add
  • prefix (bool) – Whether to add information about the workflow and step name to the front of the message string
  • level (int) – A logging constant indicating the priority level of the message
monitorFiles()

Check for any requested files that need to be copied back immediately

periodicMaintenance()

This method is periodically called while the workflow is running

processOutput(output)

Process the output of a job during the finish part of the step

Parameters:output – The output of the job. Type may vary in subclasses
removeIncomingProperties(struct)

Remove properties on the structure that may have come from previous steps and that we do not want to propagate through this step

Parameters:struct (structure.Structure) – The structure to remove properties from
setKeywords(input, keystring)

Set the keywords for this job

Parameters:
  • input (jaguar_input.JaguarInput) – The JaguarInput object to set the keywords on
  • keystring (str) – Space separated keyword=value pairs. Each pair must contain an equals sign
setSubDir()

Determine the absolute path to this step’s subdirectory so that we can always access it no matter what the current directory is

start()

Start the job - create the input and write it, adding necessary output files to make sure they get copied back

write(writer, props=None, hierarchy=None)

Add the final structure for this step to the output structure file

Parameters:
  • writer (schrodinger.StructureWriter) – The writer to use to write the structure
  • props (dict) – A dictionary of property/value pairs to add to the property dictionary of this object.
  • hierarchy (list) – The project group hierarchy for this result - each item is a str
writeInput(struct)

Write the input file

Parameters:or None struct (structure.Structure) – The structure to write. If None it will write the input file.
class schrodinger.application.matsci.jwsteps.BDEStep(*args, **kwargs)

Bases: schrodinger.application.matsci.jwsteps.BaseMetaJaguarWorkflowStep

A step for running the Bond Dissociation Energy workflow

KEYS = {'basis': 'MIDIXL', 'dftname': 'B3LYP', 'iaccg': 3, 'igeopt': 1, 'isymm': 0, 'maxit': 100, 'nofail': 1, 'nops_opt_switch': 10}
STEP_NAME = 'BDE'
JOB_BASE = 'bde'
DRIVER_PATH = 'bond_dissociation_gui_dir/bond_dissociation_driver.py'
FLAGS = {'-allow_hx': 'no', '-bonds': None, '-states': 's0'}
FLAGS_ADD_DOUBLE_DASH = True
__init__(*args, **kwargs)

Create a BDEStep instance.

See parent class for additional documentation.

getStructsOfType(stype)

A generator for structures of the given type from BDE results

Parameters:stype (str) – The type of structure to get ‘Reactants’, ‘Reactions’, ‘Fragments’
Return type:Iterator
Returns:Iterator of schrodinger.Structure for the request type
processOutput(output)

Find the minimum BDE and store it as a workflow property

Parameters:output – Unused, kept for API compatibility
getStructForWriting()

Get the structure to write for this step. It will be the reactant structure

Return type:schrodinger.Structure
Returns:The reactant structure
CAN_CREATE_TRAJECTORY = False
FLAGS_ADD_INPUT_NAME = True
FLAGS_ADD_JOB_NAME = True
FLAGS_ADD_TPP = True
FLAGS_INPUT_NAME_FLAG = ''
PROCS = 1
RESULTS_CLASS

alias of BaseResults

SAVE_PROPS = {}
SAVE_PROP_STARTS = {}
addParentalSubdirProperties(struct)

Add parental subdirectory properties to the structure

Parameters:struct (schrodinger.structure.Structure) – The structure to add properties to
archiveSubDir()

Archive this step’s subdirectory and add it to the backend for copy back

calcsDone()

Check to see if the calculation finished

If finished and the job failed, self.ok will be set to False

Return type:bool
Returns:True if the calculation finished, False if not
canStart()

Check to see if this job can start - if the parent job(s) have finished successfully.

Return type:bool
Returns:True if the job can start, False if not
createCommand()

Create the command line

Return type:list
Returns:The command line in list form
Raises:JobCreationError – If the command cannot be created
createJob()

Create the job command and object

Return type:jaguarworkflows.RobustSubmissionJob
Returns:The job object to run Macromodel
createQJobFromCommand(cmd)

Create the JobDJ job from the list of command line arguments. The job will be set to run in the Step subdirectory.

Return type:jaguarworkflows.RobustSubmissionJob
Returns:A job object that can be added to JobDJ
finish()

Finish this step, including processing any output

finishProcessingJobControlJob()

Override the parent method to archive the directory if requested

getInput(override_uhf=True, override_solvent=True)

Get the JaguarInput object for this step, setting the keywords as required.

Return type:None or jaguar_input.JaguarInput
Returns:None if an error occured, or the jaguar_input.JaguarInput object to use for this step
getInputName()

Get the name of the input structure file

Return type:str
Returns:The input structure file name
getOutput(quiet=False)

Read in the results of the calculation

Parameters:quiet (bool) – If True, no error messages will be printed. If False, (default) error messages will be printed. Also, if True, self.ok will not be set to False if the output file cannot be read.
Return type:None or list
Returns:None if the calculation failed, or a list of output structures from a successful calculation.
getOutputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getParentalSubdirectories()

Get the subdirectory names for parents and required stages

Return type:str, str
Returns:The parent subdirectory, and a space-separated string of all required stage subdirectories. The subdirectory paths are relative to the overall job directory.
getStructure()

Get the starting structure for this step

Overrides the parent class to get the initial structure for this workflow if the Step has no parent.

Return type:schrodinger.structure.Structure or None
Returns:The starting structure for this step. None if input is not a structure.
log(msg, prefix=True, level=20)

Add a message to the parent workflow’s log file

Parameters:
  • msg (str) – The message to add
  • prefix (bool) – Whether to add information about the workflow and step name to the front of the message string
  • level (int) – A logging constant indicating the priority level of the message
monitorFiles()

Check for any requested files that need to be copied back immediately

periodicMaintenance()

This method is periodically called while the workflow is running

removeIncomingProperties(struct)

Remove properties on the structure that may have come from previous steps and that we do not want to propagate through this step

Parameters:struct (structure.Structure) – The structure to remove properties from
setKeywords(input, keystring)

Set the keywords for this job

Parameters:
  • input (jaguar_input.JaguarInput) – The JaguarInput object to set the keywords on
  • keystring (str) – Space separated keyword=value pairs. Each pair must contain an equals sign
setSubDir()

Determine the absolute path to this step’s subdirectory so that we can always access it no matter what the current directory is

start()

Start the job - create the input and write it, adding necessary output files to make sure they get copied back

write(writer, props=None, hierarchy=None)

Add the final structure for this step to the output structure file

Parameters:
  • writer (schrodinger.StructureWriter) – The writer to use to write the structure
  • props (dict) – A dictionary of property/value pairs to add to the property dictionary of this object.
  • hierarchy (list) – The project group hierarchy for this result - each item is a str
writeInput(struct)

Write the input file

Parameters:or None struct (structure.Structure) – The structure to write. If None it will write the input file.
class schrodinger.application.matsci.jwsteps.HOFStep(*args, high=False, **kwargs)

Bases: schrodinger.application.matsci.jwsteps.BaseMetaJaguarWorkflowStep

A step for running the Heat of Formation workflow

PROCS = 2
STEP_NAME = 'HOF'
JOB_BASE = 'hof'
DRIVER_PATH = 'jaguar'
FLAGS = {'-method_sp': 'M06-2X', '-scalfr': '0.9806', '-zpe': None, 'deltah.py': None, 'run': None}
FLAGS_ADD_JOB_NAME = False
HOF_PROP = 'r_j_Delta_H_of_Formation(298K)_(kcal/mol)'
SAVE_PROPS = {'r_j_Delta_H_of_Formation(298K)_(kcal/mol)'}
__init__(*args, high=False, **kwargs)

Create a HOFStep instance.

Parameters:high (bool) – True if we are computing heat of formation at the high level of accuracy

See parent class for additional documentation.

outputStructurePath()

Get the path to the subjob subdirectory that contains the results

Return type:str
Returns:The path to the subdirectory inside the subjob’s directory that holds the results.
getInputName()

Get the name of the input structure file

Return type:str
Returns:The input structure file name
getOutputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
CAN_CREATE_TRAJECTORY = False
FLAGS_ADD_DOUBLE_DASH = False
FLAGS_ADD_INPUT_NAME = True
FLAGS_ADD_TPP = True
FLAGS_INPUT_NAME_FLAG = ''
RESULTS_CLASS

alias of BaseResults

SAVE_PROP_STARTS = {}
addParentalSubdirProperties(struct)

Add parental subdirectory properties to the structure

Parameters:struct (schrodinger.structure.Structure) – The structure to add properties to
archiveSubDir()

Archive this step’s subdirectory and add it to the backend for copy back

calcsDone()

Check to see if the calculation finished

If finished and the job failed, self.ok will be set to False

Return type:bool
Returns:True if the calculation finished, False if not
canStart()

Check to see if this job can start - if the parent job(s) have finished successfully.

Return type:bool
Returns:True if the job can start, False if not
createCommand()

Create the command line

Return type:list
Returns:The command line in list form
Raises:JobCreationError – If the command cannot be created
createJob()

Create the job command and object

Return type:jaguarworkflows.RobustSubmissionJob
Returns:The job object to run Macromodel
createQJobFromCommand(cmd)

Create the JobDJ job from the list of command line arguments. The job will be set to run in the Step subdirectory.

Return type:jaguarworkflows.RobustSubmissionJob
Returns:A job object that can be added to JobDJ
finish()

Finish this step, including processing any output

finishProcessingJobControlJob()

Override the parent method to archive the directory if requested

getInput(override_uhf=True, override_solvent=True)

Get the JaguarInput object for this step, setting the keywords as required.

Return type:None or jaguar_input.JaguarInput
Returns:None if an error occured, or the jaguar_input.JaguarInput object to use for this step
getOutput(quiet=False)

Read in the results of the calculation

Parameters:quiet (bool) – If True, no error messages will be printed. If False, (default) error messages will be printed. Also, if True, self.ok will not be set to False if the output file cannot be read.
Return type:None or list
Returns:None if the calculation failed, or a list of output structures from a successful calculation.
getParentalSubdirectories()

Get the subdirectory names for parents and required stages

Return type:str, str
Returns:The parent subdirectory, and a space-separated string of all required stage subdirectories. The subdirectory paths are relative to the overall job directory.
getStructForWriting()

Get the structure from this step to write to the final Workflow file

Return type:schrodinger.structure.Structure
Returns:The structure to write
getStructure()

Get the starting structure for this step

Overrides the parent class to get the initial structure for this workflow if the Step has no parent.

Return type:schrodinger.structure.Structure or None
Returns:The starting structure for this step. None if input is not a structure.
log(msg, prefix=True, level=20)

Add a message to the parent workflow’s log file

Parameters:
  • msg (str) – The message to add
  • prefix (bool) – Whether to add information about the workflow and step name to the front of the message string
  • level (int) – A logging constant indicating the priority level of the message
monitorFiles()

Check for any requested files that need to be copied back immediately

periodicMaintenance()

This method is periodically called while the workflow is running

processOutput(output)

Process the output of a job during the finish part of the step

Parameters:output – The output of the job. Type may vary in subclasses
removeIncomingProperties(struct)

Remove properties on the structure that may have come from previous steps and that we do not want to propagate through this step

Parameters:struct (structure.Structure) – The structure to remove properties from
setKeywords(input, keystring)

Set the keywords for this job

Parameters:
  • input (jaguar_input.JaguarInput) – The JaguarInput object to set the keywords on
  • keystring (str) – Space separated keyword=value pairs. Each pair must contain an equals sign
setSubDir()

Determine the absolute path to this step’s subdirectory so that we can always access it no matter what the current directory is

start()

Start the job - create the input and write it, adding necessary output files to make sure they get copied back

write(writer, props=None, hierarchy=None)

Add the final structure for this step to the output structure file

Parameters:
  • writer (schrodinger.StructureWriter) – The writer to use to write the structure
  • props (dict) – A dictionary of property/value pairs to add to the property dictionary of this object.
  • hierarchy (list) – The project group hierarchy for this result - each item is a str
writeInput(struct)

Write the input file

Parameters:or None struct (structure.Structure) – The structure to write. If None it will write the input file.
class schrodinger.application.matsci.jwsteps.CustomMaeStep(*args, procs=1, tag=None, flags=None, archive=False, monitor_globs=None, full_command=None, local_files=None, input_file=None, **kwargs)

Bases: schrodinger.application.matsci.jwsteps.BaseStep

A step for running custom scripts that output a .mae file

STEP_NAME = 'Custom'
JOB_BASE = 'custom'
CAN_CREATE_TRAJECTORY = False
DRIVER_PATH = 'driver_dir/driver.py'
FLAGS = {}
FLAGS_ADD_DOUBLE_DASH = False
FLAGS_ADD_INPUT_NAME = True
FLAGS_ADD_JOB_NAME = True
FLAGS_ADD_TPP = False
FLAGS_INPUT_NAME_FLAG = ''
PROCS = 1
RESULTS_CLASS

alias of BaseResults

SAVE_PROPS = {}
SAVE_PROP_STARTS = {}
__init__(*args, procs=1, tag=None, flags=None, archive=False, monitor_globs=None, full_command=None, local_files=None, input_file=None, **kwargs)

Create a BaseStep object

Parameters:
  • procs (int) – The number of processors to allocate to steps of this class
  • tag – str(tag) will be added to the end of the job name and step name
  • flags (dict) – Command line argument flags in addition to, or that override, the class FLAGS variable. Keys are flag names (“-flag”), values are values for that flag. For flags that take no value, use None as the value. To turn off (not include in the command line) a flag in the class FLAGS variable, use the DO_NOT_USE_FLAG constant as the value.
  • archive (bool) – If True, instead of copying the subdirectory and individual files, will tar.gz up the entire subdirectory and copy that back.
  • monitor_globs (list) – List of valid file globs (i.e. [“*.zip”]) that should be monitored for and copied back to the original job directory when they appear. Note that the interaction of archive and moitor_globs is such that if both are specified, the result will be a subdirectory with the monitored files AND an archive of the entire subdirectory (including any monitored files that remain when this step completes).
  • full_command (list) – the full command line for this step including the driver path, etc. but without $SCHRODINGER/run. The command will be used “as is” except for replacing some pre-defined tokens with job-specific strings - see the createCommand function. Each item of the list is a word of the command line invocation.
  • local_files (list) – A list of file paths to copy into the job subdirectory before running the command
  • input_file (str) – The name of the file containing the input structures/data. It is ignored if there is a parent for this step.

See parent class for additional documentation

addParentalSubdirProperties(struct)

Add parental subdirectory properties to the structure

Parameters:struct (schrodinger.structure.Structure) – The structure to add properties to
archiveSubDir()

Archive this step’s subdirectory and add it to the backend for copy back

calcsDone()

Check to see if the calculation finished

If finished and the job failed, self.ok will be set to False

Return type:bool
Returns:True if the calculation finished, False if not
canStart()

Check to see if this job can start - if the parent job(s) have finished successfully.

Return type:bool
Returns:True if the job can start, False if not
createCommand()

Create the command line

Return type:list
Returns:The command line in list form
Raises:JobCreationError – If the command cannot be created
createJob()

Create the job command and object

Return type:jaguarworkflows.RobustSubmissionJob
Returns:The job object to run Macromodel
createQJobFromCommand(cmd)

Create the JobDJ job from the list of command line arguments. The job will be set to run in the Step subdirectory.

Return type:jaguarworkflows.RobustSubmissionJob
Returns:A job object that can be added to JobDJ
finish()

Finish this step, including processing any output

finishProcessingJobControlJob()

Override the parent method to archive the directory if requested

getInput(override_uhf=True, override_solvent=True)

Get the JaguarInput object for this step, setting the keywords as required.

Return type:None or jaguar_input.JaguarInput
Returns:None if an error occured, or the jaguar_input.JaguarInput object to use for this step
getInputName()

Get the name of the input structure file

Return type:str
Returns:The input structure file name
getOutput(quiet=False)

Read in the results of the calculation

Parameters:quiet (bool) – If True, no error messages will be printed. If False, (default) error messages will be printed. Also, if True, self.ok will not be set to False if the output file cannot be read.
Return type:None or list
Returns:None if the calculation failed, or a list of output structures from a successful calculation.
getOutputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getParentalSubdirectories()

Get the subdirectory names for parents and required stages

Return type:str, str
Returns:The parent subdirectory, and a space-separated string of all required stage subdirectories. The subdirectory paths are relative to the overall job directory.
getStructForWriting()

Get the structure from this step to write to the final Workflow file

Return type:schrodinger.structure.Structure
Returns:The structure to write
getStructure()

Get the starting structure for this step

Overrides the parent class to get the initial structure for this workflow if the Step has no parent.

Return type:schrodinger.structure.Structure or None
Returns:The starting structure for this step. None if input is not a structure.
log(msg, prefix=True, level=20)

Add a message to the parent workflow’s log file

Parameters:
  • msg (str) – The message to add
  • prefix (bool) – Whether to add information about the workflow and step name to the front of the message string
  • level (int) – A logging constant indicating the priority level of the message
monitorFiles()

Check for any requested files that need to be copied back immediately

periodicMaintenance()

This method is periodically called while the workflow is running

processOutput(output)

Process the output of a job during the finish part of the step

Parameters:output – The output of the job. Type may vary in subclasses
removeIncomingProperties(struct)

Remove properties on the structure that may have come from previous steps and that we do not want to propagate through this step

Parameters:struct (structure.Structure) – The structure to remove properties from
setKeywords(input, keystring)

Set the keywords for this job

Parameters:
  • input (jaguar_input.JaguarInput) – The JaguarInput object to set the keywords on
  • keystring (str) – Space separated keyword=value pairs. Each pair must contain an equals sign
setSubDir()

Determine the absolute path to this step’s subdirectory so that we can always access it no matter what the current directory is

start()

Start the job - create the input and write it, adding necessary output files to make sure they get copied back

write(writer, props=None, hierarchy=None)

Add the final structure for this step to the output structure file

Parameters:
  • writer (schrodinger.StructureWriter) – The writer to use to write the structure
  • props (dict) – A dictionary of property/value pairs to add to the property dictionary of this object.
  • hierarchy (list) – The project group hierarchy for this result - each item is a str
writeInput(struct)

Write the input file

Parameters:or None struct (structure.Structure) – The structure to write. If None it will write the input file.
class schrodinger.application.matsci.jwsteps.BaseDesmondResults(parent)

Bases: schrodinger.application.matsci.jwsteps.BaseResults

A simple results class to provide the functionality from the jaguarworkflows.Results class that is still needed for Desmond jobs

getMaeStructure()

Get the resulting Maestro structure for the parent class

__init__(parent)

Create a BaseResults class

Parameters:parent (jaguarworkflows.Step) – The class these results are for
class schrodinger.application.matsci.jwsteps.BaseDesmondStep(*args, maestro_in=False, **kwargs)

Bases: schrodinger.application.matsci.jwsteps.BaseStep

Base class for steps that use Desmond as the main engine or produce a cms file

RESULTS_CLASS

alias of BaseDesmondResults

__init__(*args, maestro_in=False, **kwargs)

Create a BaseDesmondStep instance

Parameters:maestro_in (bool) – If true, the class will write a Maestro input file (.maegz) rather than a CMS (.cms) file

See parent class for additional documentation

addParentalSubdirProperties(struct)

Add parental subdirectory properties to the structure

Parameters:struct (cms.Cms or schrodinger.structure.Structure) – The structure to add properties to
getCMSSystem()

Get the output CMS system

Return type:cms.Cms
Returns:The output system
getStructForWriting()

Get the output Maestro structure derived from the output CMS system

Return type:schrodinger.Structure
Returns:The output Maestro structure
getOutputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getInputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getTrajectoryName()

Get the name of the output trajectory directory

Return type:str or None
Returns:The output trajectory directory name or None if this step does not create trajectories
CAN_CREATE_TRAJECTORY = False
DRIVER_PATH = 'driver_dir/driver.py'
FLAGS = {}
FLAGS_ADD_DOUBLE_DASH = False
FLAGS_ADD_INPUT_NAME = True
FLAGS_ADD_JOB_NAME = True
FLAGS_ADD_TPP = False
FLAGS_INPUT_NAME_FLAG = ''
JOB_BASE = 'base'
PROCS = 1
SAVE_PROPS = {}
SAVE_PROP_STARTS = {}
STEP_NAME = 'Base Step'
archiveSubDir()

Archive this step’s subdirectory and add it to the backend for copy back

calcsDone()

Check to see if the calculation finished

If finished and the job failed, self.ok will be set to False

Return type:bool
Returns:True if the calculation finished, False if not
canStart()

Check to see if this job can start - if the parent job(s) have finished successfully.

Return type:bool
Returns:True if the job can start, False if not
createCommand()

Create the command line

Return type:list
Returns:The command line in list form
Raises:JobCreationError – If the command cannot be created
createJob()

Create the job command and object

Return type:jaguarworkflows.RobustSubmissionJob
Returns:The job object to run Macromodel
createQJobFromCommand(cmd)

Create the JobDJ job from the list of command line arguments. The job will be set to run in the Step subdirectory.

Return type:jaguarworkflows.RobustSubmissionJob
Returns:A job object that can be added to JobDJ
finish()

Finish this step, including processing any output

finishProcessingJobControlJob()

Override the parent method to archive the directory if requested

getInput(override_uhf=True, override_solvent=True)

Get the JaguarInput object for this step, setting the keywords as required.

Return type:None or jaguar_input.JaguarInput
Returns:None if an error occured, or the jaguar_input.JaguarInput object to use for this step
getOutput(quiet=False)

Read in the results of the calculation

Parameters:quiet (bool) – If True, no error messages will be printed. If False, (default) error messages will be printed. Also, if True, self.ok will not be set to False if the output file cannot be read.
Return type:None or list
Returns:None if the calculation failed, or a list of output structures from a successful calculation.
getParentalSubdirectories()

Get the subdirectory names for parents and required stages

Return type:str, str
Returns:The parent subdirectory, and a space-separated string of all required stage subdirectories. The subdirectory paths are relative to the overall job directory.
getStructure()

Get the starting structure for this step

Overrides the parent class to get the initial structure for this workflow if the Step has no parent.

Return type:schrodinger.structure.Structure or None
Returns:The starting structure for this step. None if input is not a structure.
log(msg, prefix=True, level=20)

Add a message to the parent workflow’s log file

Parameters:
  • msg (str) – The message to add
  • prefix (bool) – Whether to add information about the workflow and step name to the front of the message string
  • level (int) – A logging constant indicating the priority level of the message
monitorFiles()

Check for any requested files that need to be copied back immediately

periodicMaintenance()

This method is periodically called while the workflow is running

processOutput(output)

Process the output of a job during the finish part of the step

Parameters:output – The output of the job. Type may vary in subclasses
removeIncomingProperties(struct)

Remove properties on the structure that may have come from previous steps and that we do not want to propagate through this step

Parameters:struct (structure.Structure) – The structure to remove properties from
setKeywords(input, keystring)

Set the keywords for this job

Parameters:
  • input (jaguar_input.JaguarInput) – The JaguarInput object to set the keywords on
  • keystring (str) – Space separated keyword=value pairs. Each pair must contain an equals sign
setSubDir()

Determine the absolute path to this step’s subdirectory so that we can always access it no matter what the current directory is

start()

Start the job - create the input and write it, adding necessary output files to make sure they get copied back

write(writer, props=None, hierarchy=None)

Add the final structure for this step to the output structure file

Parameters:
  • writer (schrodinger.StructureWriter) – The writer to use to write the structure
  • props (dict) – A dictionary of property/value pairs to add to the property dictionary of this object.
  • hierarchy (list) – The project group hierarchy for this result - each item is a str
writeInput(struct)

Write the input file

Parameters:or None struct (structure.Structure) – The structure to write. If None it will write the input file.
class schrodinger.application.matsci.jwsteps.DisorderedSystemBuilderStep(*args, **kwargs)

Bases: schrodinger.application.matsci.jwsteps.BaseDesmondStep

A step that runs the Disordered System Builder.

STEP_NAME = 'Disordered system'
JOB_BASE = 'dsb'
DRIVER_PATH = 'disordered_system_builder_gui_dir/disordered_system_builder_driver.py'
FLAGS = {'-forcefield': 'OPLS3e', '-grid': None, '-pack': None, '-split_components': None}
__init__(*args, **kwargs)

Create a DisorderedSystemBuilderStep instance

See parent class for additional documentation

getOutputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
CAN_CREATE_TRAJECTORY = False
FLAGS_ADD_DOUBLE_DASH = False
FLAGS_ADD_INPUT_NAME = True
FLAGS_ADD_JOB_NAME = True
FLAGS_ADD_TPP = False
FLAGS_INPUT_NAME_FLAG = ''
PROCS = 1
RESULTS_CLASS

alias of BaseDesmondResults

SAVE_PROPS = {}
SAVE_PROP_STARTS = {}
addParentalSubdirProperties(struct)

Add parental subdirectory properties to the structure

Parameters:struct (cms.Cms or schrodinger.structure.Structure) – The structure to add properties to
archiveSubDir()

Archive this step’s subdirectory and add it to the backend for copy back

calcsDone()

Check to see if the calculation finished

If finished and the job failed, self.ok will be set to False

Return type:bool
Returns:True if the calculation finished, False if not
canStart()

Check to see if this job can start - if the parent job(s) have finished successfully.

Return type:bool
Returns:True if the job can start, False if not
createCommand()

Create the command line

Return type:list
Returns:The command line in list form
Raises:JobCreationError – If the command cannot be created
createJob()

Create the job command and object

Return type:jaguarworkflows.RobustSubmissionJob
Returns:The job object to run Macromodel
createQJobFromCommand(cmd)

Create the JobDJ job from the list of command line arguments. The job will be set to run in the Step subdirectory.

Return type:jaguarworkflows.RobustSubmissionJob
Returns:A job object that can be added to JobDJ
finish()

Finish this step, including processing any output

finishProcessingJobControlJob()

Override the parent method to archive the directory if requested

getCMSSystem()

Get the output CMS system

Return type:cms.Cms
Returns:The output system
getInput(override_uhf=True, override_solvent=True)

Get the JaguarInput object for this step, setting the keywords as required.

Return type:None or jaguar_input.JaguarInput
Returns:None if an error occured, or the jaguar_input.JaguarInput object to use for this step
getInputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getOutput(quiet=False)

Read in the results of the calculation

Parameters:quiet (bool) – If True, no error messages will be printed. If False, (default) error messages will be printed. Also, if True, self.ok will not be set to False if the output file cannot be read.
Return type:None or list
Returns:None if the calculation failed, or a list of output structures from a successful calculation.
getParentalSubdirectories()

Get the subdirectory names for parents and required stages

Return type:str, str
Returns:The parent subdirectory, and a space-separated string of all required stage subdirectories. The subdirectory paths are relative to the overall job directory.
getStructForWriting()

Get the output Maestro structure derived from the output CMS system

Return type:schrodinger.Structure
Returns:The output Maestro structure
getStructure()

Get the starting structure for this step

Overrides the parent class to get the initial structure for this workflow if the Step has no parent.

Return type:schrodinger.structure.Structure or None
Returns:The starting structure for this step. None if input is not a structure.
getTrajectoryName()

Get the name of the output trajectory directory

Return type:str or None
Returns:The output trajectory directory name or None if this step does not create trajectories
log(msg, prefix=True, level=20)

Add a message to the parent workflow’s log file

Parameters:
  • msg (str) – The message to add
  • prefix (bool) – Whether to add information about the workflow and step name to the front of the message string
  • level (int) – A logging constant indicating the priority level of the message
monitorFiles()

Check for any requested files that need to be copied back immediately

periodicMaintenance()

This method is periodically called while the workflow is running

processOutput(output)

Process the output of a job during the finish part of the step

Parameters:output – The output of the job. Type may vary in subclasses
removeIncomingProperties(struct)

Remove properties on the structure that may have come from previous steps and that we do not want to propagate through this step

Parameters:struct (structure.Structure) – The structure to remove properties from
setKeywords(input, keystring)

Set the keywords for this job

Parameters:
  • input (jaguar_input.JaguarInput) – The JaguarInput object to set the keywords on
  • keystring (str) – Space separated keyword=value pairs. Each pair must contain an equals sign
setSubDir()

Determine the absolute path to this step’s subdirectory so that we can always access it no matter what the current directory is

start()

Start the job - create the input and write it, adding necessary output files to make sure they get copied back

write(writer, props=None, hierarchy=None)

Add the final structure for this step to the output structure file

Parameters:
  • writer (schrodinger.StructureWriter) – The writer to use to write the structure
  • props (dict) – A dictionary of property/value pairs to add to the property dictionary of this object.
  • hierarchy (list) – The project group hierarchy for this result - each item is a str
writeInput(struct)

Write the input file

Parameters:or None struct (structure.Structure) – The structure to write. If None it will write the input file.
class schrodinger.application.matsci.jwsteps.PolymerBuilderStep(*args, **kwargs)

Bases: schrodinger.application.matsci.jwsteps.BaseDesmondStep

A step that runs the Polymer Builder.

STEP_NAME = 'Polymer Builder'
JOB_BASE = 'polybuild'
DRIVER_PATH = 'polymer_builder_gui_dir/polymer_builder_driver.py'
__init__(*args, **kwargs)

Create a PolymerBuilderStep instance

See parent class for additional documentation

getOutputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getInputName()

Get the name of the input structure file

Return type:str
Returns:The input structure file name
writeInput(*args, **kwargs)

Overrides the parent method to copy the full input structure file or list of structures from parent rather than write a single structure.

removeIncomingProperties(*args, **kwargs)

Override the parent method to do nothing since we don’t have a single simple input structure and the properties do not survive the polymer builder.

CAN_CREATE_TRAJECTORY = False
FLAGS = {}
FLAGS_ADD_DOUBLE_DASH = False
FLAGS_ADD_INPUT_NAME = True
FLAGS_ADD_JOB_NAME = True
FLAGS_ADD_TPP = False
FLAGS_INPUT_NAME_FLAG = ''
PROCS = 1
RESULTS_CLASS

alias of BaseDesmondResults

SAVE_PROPS = {}
SAVE_PROP_STARTS = {}
addParentalSubdirProperties(struct)

Add parental subdirectory properties to the structure

Parameters:struct (cms.Cms or schrodinger.structure.Structure) – The structure to add properties to
archiveSubDir()

Archive this step’s subdirectory and add it to the backend for copy back

calcsDone()

Check to see if the calculation finished

If finished and the job failed, self.ok will be set to False

Return type:bool
Returns:True if the calculation finished, False if not
canStart()

Check to see if this job can start - if the parent job(s) have finished successfully.

Return type:bool
Returns:True if the job can start, False if not
createCommand()

Create the command line

Return type:list
Returns:The command line in list form
Raises:JobCreationError – If the command cannot be created
createJob()

Create the job command and object

Return type:jaguarworkflows.RobustSubmissionJob
Returns:The job object to run Macromodel
createQJobFromCommand(cmd)

Create the JobDJ job from the list of command line arguments. The job will be set to run in the Step subdirectory.

Return type:jaguarworkflows.RobustSubmissionJob
Returns:A job object that can be added to JobDJ
finish()

Finish this step, including processing any output

finishProcessingJobControlJob()

Override the parent method to archive the directory if requested

getCMSSystem()

Get the output CMS system

Return type:cms.Cms
Returns:The output system
getInput(override_uhf=True, override_solvent=True)

Get the JaguarInput object for this step, setting the keywords as required.

Return type:None or jaguar_input.JaguarInput
Returns:None if an error occured, or the jaguar_input.JaguarInput object to use for this step
getOutput(quiet=False)

Read in the results of the calculation

Parameters:quiet (bool) – If True, no error messages will be printed. If False, (default) error messages will be printed. Also, if True, self.ok will not be set to False if the output file cannot be read.
Return type:None or list
Returns:None if the calculation failed, or a list of output structures from a successful calculation.
getParentalSubdirectories()

Get the subdirectory names for parents and required stages

Return type:str, str
Returns:The parent subdirectory, and a space-separated string of all required stage subdirectories. The subdirectory paths are relative to the overall job directory.
getStructForWriting()

Get the output Maestro structure derived from the output CMS system

Return type:schrodinger.Structure
Returns:The output Maestro structure
getStructure()

Get the starting structure for this step

Overrides the parent class to get the initial structure for this workflow if the Step has no parent.

Return type:schrodinger.structure.Structure or None
Returns:The starting structure for this step. None if input is not a structure.
getTrajectoryName()

Get the name of the output trajectory directory

Return type:str or None
Returns:The output trajectory directory name or None if this step does not create trajectories
log(msg, prefix=True, level=20)

Add a message to the parent workflow’s log file

Parameters:
  • msg (str) – The message to add
  • prefix (bool) – Whether to add information about the workflow and step name to the front of the message string
  • level (int) – A logging constant indicating the priority level of the message
monitorFiles()

Check for any requested files that need to be copied back immediately

periodicMaintenance()

This method is periodically called while the workflow is running

processOutput(output)

Process the output of a job during the finish part of the step

Parameters:output – The output of the job. Type may vary in subclasses
setKeywords(input, keystring)

Set the keywords for this job

Parameters:
  • input (jaguar_input.JaguarInput) – The JaguarInput object to set the keywords on
  • keystring (str) – Space separated keyword=value pairs. Each pair must contain an equals sign
setSubDir()

Determine the absolute path to this step’s subdirectory so that we can always access it no matter what the current directory is

start()

Start the job - create the input and write it, adding necessary output files to make sure they get copied back

write(writer, props=None, hierarchy=None)

Add the final structure for this step to the output structure file

Parameters:
  • writer (schrodinger.StructureWriter) – The writer to use to write the structure
  • props (dict) – A dictionary of property/value pairs to add to the property dictionary of this object.
  • hierarchy (list) – The project group hierarchy for this result - each item is a str
class schrodinger.application.matsci.jwsteps.PrepForMDStep(*args, **kwargs)

Bases: schrodinger.application.matsci.jwsteps.BaseDesmondStep

A step that runs Prepare for MD to create a Desmond system.

STEP_NAME = 'Prepare for MD'
JOB_BASE = 'prepmd'
DRIVER_PATH = 'prepare_for_md_gui_dir/prepare_for_md_driver.py'
FLAGS = {'-forcefield': 'OPLS3e', '-split_components': None}
__init__(*args, **kwargs)

Create a PrepForMDStep object

See parent class for documentation

getStructure()

See parent class for documentation

getOutputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
CAN_CREATE_TRAJECTORY = False
FLAGS_ADD_DOUBLE_DASH = False
FLAGS_ADD_INPUT_NAME = True
FLAGS_ADD_JOB_NAME = True
FLAGS_ADD_TPP = False
FLAGS_INPUT_NAME_FLAG = ''
PROCS = 1
RESULTS_CLASS

alias of BaseDesmondResults

SAVE_PROPS = {}
SAVE_PROP_STARTS = {}
addParentalSubdirProperties(struct)

Add parental subdirectory properties to the structure

Parameters:struct (cms.Cms or schrodinger.structure.Structure) – The structure to add properties to
archiveSubDir()

Archive this step’s subdirectory and add it to the backend for copy back

calcsDone()

Check to see if the calculation finished

If finished and the job failed, self.ok will be set to False

Return type:bool
Returns:True if the calculation finished, False if not
canStart()

Check to see if this job can start - if the parent job(s) have finished successfully.

Return type:bool
Returns:True if the job can start, False if not
createCommand()

Create the command line

Return type:list
Returns:The command line in list form
Raises:JobCreationError – If the command cannot be created
createJob()

Create the job command and object

Return type:jaguarworkflows.RobustSubmissionJob
Returns:The job object to run Macromodel
createQJobFromCommand(cmd)

Create the JobDJ job from the list of command line arguments. The job will be set to run in the Step subdirectory.

Return type:jaguarworkflows.RobustSubmissionJob
Returns:A job object that can be added to JobDJ
finish()

Finish this step, including processing any output

finishProcessingJobControlJob()

Override the parent method to archive the directory if requested

getCMSSystem()

Get the output CMS system

Return type:cms.Cms
Returns:The output system
getInput(override_uhf=True, override_solvent=True)

Get the JaguarInput object for this step, setting the keywords as required.

Return type:None or jaguar_input.JaguarInput
Returns:None if an error occured, or the jaguar_input.JaguarInput object to use for this step
getInputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getOutput(quiet=False)

Read in the results of the calculation

Parameters:quiet (bool) – If True, no error messages will be printed. If False, (default) error messages will be printed. Also, if True, self.ok will not be set to False if the output file cannot be read.
Return type:None or list
Returns:None if the calculation failed, or a list of output structures from a successful calculation.
getParentalSubdirectories()

Get the subdirectory names for parents and required stages

Return type:str, str
Returns:The parent subdirectory, and a space-separated string of all required stage subdirectories. The subdirectory paths are relative to the overall job directory.
getStructForWriting()

Get the output Maestro structure derived from the output CMS system

Return type:schrodinger.Structure
Returns:The output Maestro structure
getTrajectoryName()

Get the name of the output trajectory directory

Return type:str or None
Returns:The output trajectory directory name or None if this step does not create trajectories
log(msg, prefix=True, level=20)

Add a message to the parent workflow’s log file

Parameters:
  • msg (str) – The message to add
  • prefix (bool) – Whether to add information about the workflow and step name to the front of the message string
  • level (int) – A logging constant indicating the priority level of the message
monitorFiles()

Check for any requested files that need to be copied back immediately

periodicMaintenance()

This method is periodically called while the workflow is running

processOutput(output)

Process the output of a job during the finish part of the step

Parameters:output – The output of the job. Type may vary in subclasses
removeIncomingProperties(struct)

Remove properties on the structure that may have come from previous steps and that we do not want to propagate through this step

Parameters:struct (structure.Structure) – The structure to remove properties from
setKeywords(input, keystring)

Set the keywords for this job

Parameters:
  • input (jaguar_input.JaguarInput) – The JaguarInput object to set the keywords on
  • keystring (str) – Space separated keyword=value pairs. Each pair must contain an equals sign
setSubDir()

Determine the absolute path to this step’s subdirectory so that we can always access it no matter what the current directory is

start()

Start the job - create the input and write it, adding necessary output files to make sure they get copied back

write(writer, props=None, hierarchy=None)

Add the final structure for this step to the output structure file

Parameters:
  • writer (schrodinger.StructureWriter) – The writer to use to write the structure
  • props (dict) – A dictionary of property/value pairs to add to the property dictionary of this object.
  • hierarchy (list) – The project group hierarchy for this result - each item is a str
writeInput(struct)

Write the input file

Parameters:or None struct (structure.Structure) – The structure to write. If None it will write the input file.
class schrodinger.application.matsci.jwsteps.MolecularDynamicsStep(*args, analysis=False, average=None, **kwargs)

Bases: schrodinger.application.matsci.jwsteps.BaseDesmondStep

A step that runs one or more Desmond MD stages

STEP_NAME = 'Relaxation'
JOB_BASE = 'relax'
ANALYSIS_FRAME_PERCENT = 20
CAN_CREATE_TRAJECTORY = True
__init__(*args, analysis=False, average=None, **kwargs)

Create a MolecularDynamicsStep object

Parameters:
  • analysis (bool) – Whether to perform a trajectory analysis as the last stage
  • average (int) – What percent of the final stage trajectory to average the cell size over

See parent class for documentation

getStringers()

Create the stringers that define each stage

Return type:list
Returns:A list of MSJStringer objects
writeMSJFile()

Write the MSJ file for this step

writeInput(struct)

Write the input structure file and msj file

Parameters:or None struct (structure.Structure) – The structure to write. If None it will write the input file.
getMSJName()

Get the name of the MSJ file

Return type:str
Returns:The MSJ file name
createJob()

Form the command line and create a job for the queue

Return type:jaguarworkflows.RobustSubmissionJob
Returns:The job to add to the JobDJ
processOutput(output)

Process the output of a job during the finish part of the step

Parameters:output – The output of the job. If it evaluates to False, no processing is done. Otherwise it is unused.
DRIVER_PATH = 'driver_dir/driver.py'
FLAGS = {}
FLAGS_ADD_DOUBLE_DASH = False
FLAGS_ADD_INPUT_NAME = True
FLAGS_ADD_JOB_NAME = True
FLAGS_ADD_TPP = False
FLAGS_INPUT_NAME_FLAG = ''
PROCS = 1
RESULTS_CLASS

alias of BaseDesmondResults

SAVE_PROPS = {}
SAVE_PROP_STARTS = {}
addParentalSubdirProperties(struct)

Add parental subdirectory properties to the structure

Parameters:struct (cms.Cms or schrodinger.structure.Structure) – The structure to add properties to
archiveSubDir()

Archive this step’s subdirectory and add it to the backend for copy back

calcsDone()

Check to see if the calculation finished

If finished and the job failed, self.ok will be set to False

Return type:bool
Returns:True if the calculation finished, False if not
canStart()

Check to see if this job can start - if the parent job(s) have finished successfully.

Return type:bool
Returns:True if the job can start, False if not
createCommand()

Create the command line

Return type:list
Returns:The command line in list form
Raises:JobCreationError – If the command cannot be created
createQJobFromCommand(cmd)

Create the JobDJ job from the list of command line arguments. The job will be set to run in the Step subdirectory.

Return type:jaguarworkflows.RobustSubmissionJob
Returns:A job object that can be added to JobDJ
finish()

Finish this step, including processing any output

finishProcessingJobControlJob()

Override the parent method to archive the directory if requested

getCMSSystem()

Get the output CMS system

Return type:cms.Cms
Returns:The output system
getInput(override_uhf=True, override_solvent=True)

Get the JaguarInput object for this step, setting the keywords as required.

Return type:None or jaguar_input.JaguarInput
Returns:None if an error occured, or the jaguar_input.JaguarInput object to use for this step
getInputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getOutput(quiet=False)

Read in the results of the calculation

Parameters:quiet (bool) – If True, no error messages will be printed. If False, (default) error messages will be printed. Also, if True, self.ok will not be set to False if the output file cannot be read.
Return type:None or list
Returns:None if the calculation failed, or a list of output structures from a successful calculation.
getOutputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getParentalSubdirectories()

Get the subdirectory names for parents and required stages

Return type:str, str
Returns:The parent subdirectory, and a space-separated string of all required stage subdirectories. The subdirectory paths are relative to the overall job directory.
getStructForWriting()

Get the output Maestro structure derived from the output CMS system

Return type:schrodinger.Structure
Returns:The output Maestro structure
getStructure()

Get the starting structure for this step

Overrides the parent class to get the initial structure for this workflow if the Step has no parent.

Return type:schrodinger.structure.Structure or None
Returns:The starting structure for this step. None if input is not a structure.
getTrajectoryName()

Get the name of the output trajectory directory

Return type:str or None
Returns:The output trajectory directory name or None if this step does not create trajectories
log(msg, prefix=True, level=20)

Add a message to the parent workflow’s log file

Parameters:
  • msg (str) – The message to add
  • prefix (bool) – Whether to add information about the workflow and step name to the front of the message string
  • level (int) – A logging constant indicating the priority level of the message
monitorFiles()

Check for any requested files that need to be copied back immediately

periodicMaintenance()

This method is periodically called while the workflow is running

removeIncomingProperties(struct)

Remove properties on the structure that may have come from previous steps and that we do not want to propagate through this step

Parameters:struct (structure.Structure) – The structure to remove properties from
setKeywords(input, keystring)

Set the keywords for this job

Parameters:
  • input (jaguar_input.JaguarInput) – The JaguarInput object to set the keywords on
  • keystring (str) – Space separated keyword=value pairs. Each pair must contain an equals sign
setSubDir()

Determine the absolute path to this step’s subdirectory so that we can always access it no matter what the current directory is

start()

Start the job - create the input and write it, adding necessary output files to make sure they get copied back

write(writer, props=None, hierarchy=None)

Add the final structure for this step to the output structure file

Parameters:
  • writer (schrodinger.StructureWriter) – The writer to use to write the structure
  • props (dict) – A dictionary of property/value pairs to add to the property dictionary of this object.
  • hierarchy (list) – The project group hierarchy for this result - each item is a str
class schrodinger.application.matsci.jwsteps.MatSciMDRelaxationStep(*args, temp=300.0, **kwargs)

Bases: schrodinger.application.matsci.jwsteps.MolecularDynamicsStep

A step that runs a MatSci MD relaxation protocol

STEP_NAME = 'MSRelaxation'
JOB_BASE = 'msrelax'
__init__(*args, temp=300.0, **kwargs)

Create a MatSciMDRelaxationStep object

Parameters:temp (float) – Temperature for the final relaxation step

See parent class for documentation

getStringers()

Create the stringers that define each stage

Return type:list
Returns:A list of MSJStringer objects
ANALYSIS_FRAME_PERCENT = 20
CAN_CREATE_TRAJECTORY = True
DRIVER_PATH = 'driver_dir/driver.py'
FLAGS = {}
FLAGS_ADD_DOUBLE_DASH = False
FLAGS_ADD_INPUT_NAME = True
FLAGS_ADD_JOB_NAME = True
FLAGS_ADD_TPP = False
FLAGS_INPUT_NAME_FLAG = ''
PROCS = 1
RESULTS_CLASS

alias of BaseDesmondResults

SAVE_PROPS = {}
SAVE_PROP_STARTS = {}
addParentalSubdirProperties(struct)

Add parental subdirectory properties to the structure

Parameters:struct (cms.Cms or schrodinger.structure.Structure) – The structure to add properties to
archiveSubDir()

Archive this step’s subdirectory and add it to the backend for copy back

calcsDone()

Check to see if the calculation finished

If finished and the job failed, self.ok will be set to False

Return type:bool
Returns:True if the calculation finished, False if not
canStart()

Check to see if this job can start - if the parent job(s) have finished successfully.

Return type:bool
Returns:True if the job can start, False if not
createCommand()

Create the command line

Return type:list
Returns:The command line in list form
Raises:JobCreationError – If the command cannot be created
createJob()

Form the command line and create a job for the queue

Return type:jaguarworkflows.RobustSubmissionJob
Returns:The job to add to the JobDJ
createQJobFromCommand(cmd)

Create the JobDJ job from the list of command line arguments. The job will be set to run in the Step subdirectory.

Return type:jaguarworkflows.RobustSubmissionJob
Returns:A job object that can be added to JobDJ
finish()

Finish this step, including processing any output

finishProcessingJobControlJob()

Override the parent method to archive the directory if requested

getCMSSystem()

Get the output CMS system

Return type:cms.Cms
Returns:The output system
getInput(override_uhf=True, override_solvent=True)

Get the JaguarInput object for this step, setting the keywords as required.

Return type:None or jaguar_input.JaguarInput
Returns:None if an error occured, or the jaguar_input.JaguarInput object to use for this step
getInputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getMSJName()

Get the name of the MSJ file

Return type:str
Returns:The MSJ file name
getOutput(quiet=False)

Read in the results of the calculation

Parameters:quiet (bool) – If True, no error messages will be printed. If False, (default) error messages will be printed. Also, if True, self.ok will not be set to False if the output file cannot be read.
Return type:None or list
Returns:None if the calculation failed, or a list of output structures from a successful calculation.
getOutputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getParentalSubdirectories()

Get the subdirectory names for parents and required stages

Return type:str, str
Returns:The parent subdirectory, and a space-separated string of all required stage subdirectories. The subdirectory paths are relative to the overall job directory.
getStructForWriting()

Get the output Maestro structure derived from the output CMS system

Return type:schrodinger.Structure
Returns:The output Maestro structure
getStructure()

Get the starting structure for this step

Overrides the parent class to get the initial structure for this workflow if the Step has no parent.

Return type:schrodinger.structure.Structure or None
Returns:The starting structure for this step. None if input is not a structure.
getTrajectoryName()

Get the name of the output trajectory directory

Return type:str or None
Returns:The output trajectory directory name or None if this step does not create trajectories
log(msg, prefix=True, level=20)

Add a message to the parent workflow’s log file

Parameters:
  • msg (str) – The message to add
  • prefix (bool) – Whether to add information about the workflow and step name to the front of the message string
  • level (int) – A logging constant indicating the priority level of the message
monitorFiles()

Check for any requested files that need to be copied back immediately

periodicMaintenance()

This method is periodically called while the workflow is running

processOutput(output)

Process the output of a job during the finish part of the step

Parameters:output – The output of the job. If it evaluates to False, no processing is done. Otherwise it is unused.
removeIncomingProperties(struct)

Remove properties on the structure that may have come from previous steps and that we do not want to propagate through this step

Parameters:struct (structure.Structure) – The structure to remove properties from
setKeywords(input, keystring)

Set the keywords for this job

Parameters:
  • input (jaguar_input.JaguarInput) – The JaguarInput object to set the keywords on
  • keystring (str) – Space separated keyword=value pairs. Each pair must contain an equals sign
setSubDir()

Determine the absolute path to this step’s subdirectory so that we can always access it no matter what the current directory is

start()

Start the job - create the input and write it, adding necessary output files to make sure they get copied back

write(writer, props=None, hierarchy=None)

Add the final structure for this step to the output structure file

Parameters:
  • writer (schrodinger.StructureWriter) – The writer to use to write the structure
  • props (dict) – A dictionary of property/value pairs to add to the property dictionary of this object.
  • hierarchy (list) – The project group hierarchy for this result - each item is a str
writeInput(struct)

Write the input structure file and msj file

Parameters:or None struct (structure.Structure) – The structure to write. If None it will write the input file.
writeMSJFile()

Write the MSJ file for this step

class schrodinger.application.matsci.jwsteps.SingleMDStep(*args, params=None, **kwargs)

Bases: schrodinger.application.matsci.jwsteps.MolecularDynamicsStep

A step that runs a single MD simulation

STEP_NAME = 'md'
JOB_BASE = 'md'
STRINGER_CLASS

alias of schrodinger.application.matsci.desmondutils.MDMSJStringer

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

Create a MatSciMDRelaxationStep object

Parameters:temp (dict) – Keyword arguments to pass to the STRINGER_CLASS

See parent class for documentation

getStringers()

Create the stringers that define each stage

Return type:list
Returns:A list of MSJStringer objects
ANALYSIS_FRAME_PERCENT = 20
CAN_CREATE_TRAJECTORY = True
DRIVER_PATH = 'driver_dir/driver.py'
FLAGS = {}
FLAGS_ADD_DOUBLE_DASH = False
FLAGS_ADD_INPUT_NAME = True
FLAGS_ADD_JOB_NAME = True
FLAGS_ADD_TPP = False
FLAGS_INPUT_NAME_FLAG = ''
PROCS = 1
RESULTS_CLASS

alias of BaseDesmondResults

SAVE_PROPS = {}
SAVE_PROP_STARTS = {}
addParentalSubdirProperties(struct)

Add parental subdirectory properties to the structure

Parameters:struct (cms.Cms or schrodinger.structure.Structure) – The structure to add properties to
archiveSubDir()

Archive this step’s subdirectory and add it to the backend for copy back

calcsDone()

Check to see if the calculation finished

If finished and the job failed, self.ok will be set to False

Return type:bool
Returns:True if the calculation finished, False if not
canStart()

Check to see if this job can start - if the parent job(s) have finished successfully.

Return type:bool
Returns:True if the job can start, False if not
createCommand()

Create the command line

Return type:list
Returns:The command line in list form
Raises:JobCreationError – If the command cannot be created
createJob()

Form the command line and create a job for the queue

Return type:jaguarworkflows.RobustSubmissionJob
Returns:The job to add to the JobDJ
createQJobFromCommand(cmd)

Create the JobDJ job from the list of command line arguments. The job will be set to run in the Step subdirectory.

Return type:jaguarworkflows.RobustSubmissionJob
Returns:A job object that can be added to JobDJ
finish()

Finish this step, including processing any output

finishProcessingJobControlJob()

Override the parent method to archive the directory if requested

getCMSSystem()

Get the output CMS system

Return type:cms.Cms
Returns:The output system
getInput(override_uhf=True, override_solvent=True)

Get the JaguarInput object for this step, setting the keywords as required.

Return type:None or jaguar_input.JaguarInput
Returns:None if an error occured, or the jaguar_input.JaguarInput object to use for this step
getInputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getMSJName()

Get the name of the MSJ file

Return type:str
Returns:The MSJ file name
getOutput(quiet=False)

Read in the results of the calculation

Parameters:quiet (bool) – If True, no error messages will be printed. If False, (default) error messages will be printed. Also, if True, self.ok will not be set to False if the output file cannot be read.
Return type:None or list
Returns:None if the calculation failed, or a list of output structures from a successful calculation.
getOutputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getParentalSubdirectories()

Get the subdirectory names for parents and required stages

Return type:str, str
Returns:The parent subdirectory, and a space-separated string of all required stage subdirectories. The subdirectory paths are relative to the overall job directory.
getStructForWriting()

Get the output Maestro structure derived from the output CMS system

Return type:schrodinger.Structure
Returns:The output Maestro structure
getStructure()

Get the starting structure for this step

Overrides the parent class to get the initial structure for this workflow if the Step has no parent.

Return type:schrodinger.structure.Structure or None
Returns:The starting structure for this step. None if input is not a structure.
getTrajectoryName()

Get the name of the output trajectory directory

Return type:str or None
Returns:The output trajectory directory name or None if this step does not create trajectories
log(msg, prefix=True, level=20)

Add a message to the parent workflow’s log file

Parameters:
  • msg (str) – The message to add
  • prefix (bool) – Whether to add information about the workflow and step name to the front of the message string
  • level (int) – A logging constant indicating the priority level of the message
monitorFiles()

Check for any requested files that need to be copied back immediately

periodicMaintenance()

This method is periodically called while the workflow is running

processOutput(output)

Process the output of a job during the finish part of the step

Parameters:output – The output of the job. If it evaluates to False, no processing is done. Otherwise it is unused.
removeIncomingProperties(struct)

Remove properties on the structure that may have come from previous steps and that we do not want to propagate through this step

Parameters:struct (structure.Structure) – The structure to remove properties from
setKeywords(input, keystring)

Set the keywords for this job

Parameters:
  • input (jaguar_input.JaguarInput) – The JaguarInput object to set the keywords on
  • keystring (str) – Space separated keyword=value pairs. Each pair must contain an equals sign
setSubDir()

Determine the absolute path to this step’s subdirectory so that we can always access it no matter what the current directory is

start()

Start the job - create the input and write it, adding necessary output files to make sure they get copied back

write(writer, props=None, hierarchy=None)

Add the final structure for this step to the output structure file

Parameters:
  • writer (schrodinger.StructureWriter) – The writer to use to write the structure
  • props (dict) – A dictionary of property/value pairs to add to the property dictionary of this object.
  • hierarchy (list) – The project group hierarchy for this result - each item is a str
writeInput(struct)

Write the input structure file and msj file

Parameters:or None struct (structure.Structure) – The structure to write. If None it will write the input file.
writeMSJFile()

Write the MSJ file for this step

class schrodinger.application.matsci.jwsteps.SingleBrownieStep(*args, params=None, **kwargs)

Bases: schrodinger.application.matsci.jwsteps.SingleMDStep

A step that runs a single Brownie step

STEP_NAME = 'brownie'
JOB_BASE = 'brownie'
STRINGER_CLASS

alias of schrodinger.application.matsci.desmondutils.BrownieMSJStringer

ANALYSIS_FRAME_PERCENT = 20
CAN_CREATE_TRAJECTORY = True
DRIVER_PATH = 'driver_dir/driver.py'
FLAGS = {}
FLAGS_ADD_DOUBLE_DASH = False
FLAGS_ADD_INPUT_NAME = True
FLAGS_ADD_JOB_NAME = True
FLAGS_ADD_TPP = False
FLAGS_INPUT_NAME_FLAG = ''
PROCS = 1
RESULTS_CLASS

alias of BaseDesmondResults

SAVE_PROPS = {}
SAVE_PROP_STARTS = {}
__init__(*args, params=None, **kwargs)

Create a MatSciMDRelaxationStep object

Parameters:temp (dict) – Keyword arguments to pass to the STRINGER_CLASS

See parent class for documentation

addParentalSubdirProperties(struct)

Add parental subdirectory properties to the structure

Parameters:struct (cms.Cms or schrodinger.structure.Structure) – The structure to add properties to
archiveSubDir()

Archive this step’s subdirectory and add it to the backend for copy back

calcsDone()

Check to see if the calculation finished

If finished and the job failed, self.ok will be set to False

Return type:bool
Returns:True if the calculation finished, False if not
canStart()

Check to see if this job can start - if the parent job(s) have finished successfully.

Return type:bool
Returns:True if the job can start, False if not
createCommand()

Create the command line

Return type:list
Returns:The command line in list form
Raises:JobCreationError – If the command cannot be created
createJob()

Form the command line and create a job for the queue

Return type:jaguarworkflows.RobustSubmissionJob
Returns:The job to add to the JobDJ
createQJobFromCommand(cmd)

Create the JobDJ job from the list of command line arguments. The job will be set to run in the Step subdirectory.

Return type:jaguarworkflows.RobustSubmissionJob
Returns:A job object that can be added to JobDJ
finish()

Finish this step, including processing any output

finishProcessingJobControlJob()

Override the parent method to archive the directory if requested

getCMSSystem()

Get the output CMS system

Return type:cms.Cms
Returns:The output system
getInput(override_uhf=True, override_solvent=True)

Get the JaguarInput object for this step, setting the keywords as required.

Return type:None or jaguar_input.JaguarInput
Returns:None if an error occured, or the jaguar_input.JaguarInput object to use for this step
getInputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getMSJName()

Get the name of the MSJ file

Return type:str
Returns:The MSJ file name
getOutput(quiet=False)

Read in the results of the calculation

Parameters:quiet (bool) – If True, no error messages will be printed. If False, (default) error messages will be printed. Also, if True, self.ok will not be set to False if the output file cannot be read.
Return type:None or list
Returns:None if the calculation failed, or a list of output structures from a successful calculation.
getOutputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getParentalSubdirectories()

Get the subdirectory names for parents and required stages

Return type:str, str
Returns:The parent subdirectory, and a space-separated string of all required stage subdirectories. The subdirectory paths are relative to the overall job directory.
getStringers()

Create the stringers that define each stage

Return type:list
Returns:A list of MSJStringer objects
getStructForWriting()

Get the output Maestro structure derived from the output CMS system

Return type:schrodinger.Structure
Returns:The output Maestro structure
getStructure()

Get the starting structure for this step

Overrides the parent class to get the initial structure for this workflow if the Step has no parent.

Return type:schrodinger.structure.Structure or None
Returns:The starting structure for this step. None if input is not a structure.
getTrajectoryName()

Get the name of the output trajectory directory

Return type:str or None
Returns:The output trajectory directory name or None if this step does not create trajectories
log(msg, prefix=True, level=20)

Add a message to the parent workflow’s log file

Parameters:
  • msg (str) – The message to add
  • prefix (bool) – Whether to add information about the workflow and step name to the front of the message string
  • level (int) – A logging constant indicating the priority level of the message
monitorFiles()

Check for any requested files that need to be copied back immediately

periodicMaintenance()

This method is periodically called while the workflow is running

processOutput(output)

Process the output of a job during the finish part of the step

Parameters:output – The output of the job. If it evaluates to False, no processing is done. Otherwise it is unused.
removeIncomingProperties(struct)

Remove properties on the structure that may have come from previous steps and that we do not want to propagate through this step

Parameters:struct (structure.Structure) – The structure to remove properties from
setKeywords(input, keystring)

Set the keywords for this job

Parameters:
  • input (jaguar_input.JaguarInput) – The JaguarInput object to set the keywords on
  • keystring (str) – Space separated keyword=value pairs. Each pair must contain an equals sign
setSubDir()

Determine the absolute path to this step’s subdirectory so that we can always access it no matter what the current directory is

start()

Start the job - create the input and write it, adding necessary output files to make sure they get copied back

write(writer, props=None, hierarchy=None)

Add the final structure for this step to the output structure file

Parameters:
  • writer (schrodinger.StructureWriter) – The writer to use to write the structure
  • props (dict) – A dictionary of property/value pairs to add to the property dictionary of this object.
  • hierarchy (list) – The project group hierarchy for this result - each item is a str
writeInput(struct)

Write the input structure file and msj file

Parameters:or None struct (structure.Structure) – The structure to write. If None it will write the input file.
writeMSJFile()

Write the MSJ file for this step

class schrodinger.application.matsci.jwsteps.TgStep(*args, melting=False, bilinear=False, **kwargs)

Bases: schrodinger.application.matsci.jwsteps.BaseDesmondStep

A step that runs a Tg calculation

STEP_NAME = 'Tg'
JOB_BASE = 'tg'
DRIVER_PATH = 'thermophysical_properties_gui_dir/thermophysical_properties_driver.py'
FLAGS = {'-density_stage_time': 20, '-frame_interval': 200.0, '-job_order': 'max_first', '-load_temp_structure': 200.0, '-max_convergence_retries': 5, '-max_temp': 600, '-min_temp': 200, '-temp_step': 25}
FLAGS_INPUT_NAME_FLAG = '-icms'
SAVE_PROP_STARTS = {'r_matsci_Density(g/cm3)_@_'}
CAN_CREATE_TRAJECTORY = True
__init__(*args, melting=False, bilinear=False, **kwargs)

Create a TgStep object

Parameters:
  • melting (bool) – If True, temps will run from low to high. Otherwise, (default), they will run from high to low.
  • bilinear (bool) – If True, the Tg fit will be done via the bilinear method. Otherwise, (default), it will be done via hyperbola

See parent class for additional documentation

processOutput(output)

Process the output of a job during the finish part of the step. This computes the Tg via fit of temperature vs density.

Parameters:output (list) – The output of the job. The first item should be the structure (Cms or Structure) that contains the density vs temperature properties.
FLAGS_ADD_DOUBLE_DASH = False
FLAGS_ADD_INPUT_NAME = True
FLAGS_ADD_JOB_NAME = True
FLAGS_ADD_TPP = False
PROCS = 1
RESULTS_CLASS

alias of BaseDesmondResults

SAVE_PROPS = {}
addParentalSubdirProperties(struct)

Add parental subdirectory properties to the structure

Parameters:struct (cms.Cms or schrodinger.structure.Structure) – The structure to add properties to
archiveSubDir()

Archive this step’s subdirectory and add it to the backend for copy back

calcsDone()

Check to see if the calculation finished

If finished and the job failed, self.ok will be set to False

Return type:bool
Returns:True if the calculation finished, False if not
canStart()

Check to see if this job can start - if the parent job(s) have finished successfully.

Return type:bool
Returns:True if the job can start, False if not
createCommand()

Create the command line

Return type:list
Returns:The command line in list form
Raises:JobCreationError – If the command cannot be created
createJob()

Create the job command and object

Return type:jaguarworkflows.RobustSubmissionJob
Returns:The job object to run Macromodel
createQJobFromCommand(cmd)

Create the JobDJ job from the list of command line arguments. The job will be set to run in the Step subdirectory.

Return type:jaguarworkflows.RobustSubmissionJob
Returns:A job object that can be added to JobDJ
finish()

Finish this step, including processing any output

finishProcessingJobControlJob()

Override the parent method to archive the directory if requested

getCMSSystem()

Get the output CMS system

Return type:cms.Cms
Returns:The output system
getInput(override_uhf=True, override_solvent=True)

Get the JaguarInput object for this step, setting the keywords as required.

Return type:None or jaguar_input.JaguarInput
Returns:None if an error occured, or the jaguar_input.JaguarInput object to use for this step
getInputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getOutput(quiet=False)

Read in the results of the calculation

Parameters:quiet (bool) – If True, no error messages will be printed. If False, (default) error messages will be printed. Also, if True, self.ok will not be set to False if the output file cannot be read.
Return type:None or list
Returns:None if the calculation failed, or a list of output structures from a successful calculation.
getOutputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getParentalSubdirectories()

Get the subdirectory names for parents and required stages

Return type:str, str
Returns:The parent subdirectory, and a space-separated string of all required stage subdirectories. The subdirectory paths are relative to the overall job directory.
getStructForWriting()

Get the output Maestro structure derived from the output CMS system

Return type:schrodinger.Structure
Returns:The output Maestro structure
getStructure()

Get the starting structure for this step

Overrides the parent class to get the initial structure for this workflow if the Step has no parent.

Return type:schrodinger.structure.Structure or None
Returns:The starting structure for this step. None if input is not a structure.
getTrajectoryName()

Get the name of the output trajectory directory

Return type:str or None
Returns:The output trajectory directory name or None if this step does not create trajectories
log(msg, prefix=True, level=20)

Add a message to the parent workflow’s log file

Parameters:
  • msg (str) – The message to add
  • prefix (bool) – Whether to add information about the workflow and step name to the front of the message string
  • level (int) – A logging constant indicating the priority level of the message
monitorFiles()

Check for any requested files that need to be copied back immediately

periodicMaintenance()

This method is periodically called while the workflow is running

removeIncomingProperties(struct)

Remove properties on the structure that may have come from previous steps and that we do not want to propagate through this step

Parameters:struct (structure.Structure) – The structure to remove properties from
setKeywords(input, keystring)

Set the keywords for this job

Parameters:
  • input (jaguar_input.JaguarInput) – The JaguarInput object to set the keywords on
  • keystring (str) – Space separated keyword=value pairs. Each pair must contain an equals sign
setSubDir()

Determine the absolute path to this step’s subdirectory so that we can always access it no matter what the current directory is

start()

Start the job - create the input and write it, adding necessary output files to make sure they get copied back

write(writer, props=None, hierarchy=None)

Add the final structure for this step to the output structure file

Parameters:
  • writer (schrodinger.StructureWriter) – The writer to use to write the structure
  • props (dict) – A dictionary of property/value pairs to add to the property dictionary of this object.
  • hierarchy (list) – The project group hierarchy for this result - each item is a str
writeInput(struct)

Write the input file

Parameters:or None struct (structure.Structure) – The structure to write. If None it will write the input file.
class schrodinger.application.matsci.jwsteps.StressStrainStep(*args, maestro_in=False, **kwargs)

Bases: schrodinger.application.matsci.jwsteps.BaseDesmondStep

A step that runs a Stress-Strain calculation

STEP_NAME = 'Stress'
JOB_BASE = 'stress'
DRIVER_PATH = 'stress_strain_gui_dir/stress_strain_driver.py'
SAVE_PROP_STARTS = {'r_matsci_Strain', 'r_matsci_Stress'}
CAN_CREATE_TRAJECTORY = True
FLAGS = {}
FLAGS_ADD_DOUBLE_DASH = False
FLAGS_ADD_INPUT_NAME = True
FLAGS_ADD_JOB_NAME = True
FLAGS_ADD_TPP = False
FLAGS_INPUT_NAME_FLAG = ''
PROCS = 1
RESULTS_CLASS

alias of BaseDesmondResults

SAVE_PROPS = {}
__init__(*args, maestro_in=False, **kwargs)

Create a BaseDesmondStep instance

Parameters:maestro_in (bool) – If true, the class will write a Maestro input file (.maegz) rather than a CMS (.cms) file

See parent class for additional documentation

addParentalSubdirProperties(struct)

Add parental subdirectory properties to the structure

Parameters:struct (cms.Cms or schrodinger.structure.Structure) – The structure to add properties to
archiveSubDir()

Archive this step’s subdirectory and add it to the backend for copy back

calcsDone()

Check to see if the calculation finished

If finished and the job failed, self.ok will be set to False

Return type:bool
Returns:True if the calculation finished, False if not
canStart()

Check to see if this job can start - if the parent job(s) have finished successfully.

Return type:bool
Returns:True if the job can start, False if not
createCommand()

Create the command line

Return type:list
Returns:The command line in list form
Raises:JobCreationError – If the command cannot be created
createJob()

Create the job command and object

Return type:jaguarworkflows.RobustSubmissionJob
Returns:The job object to run Macromodel
createQJobFromCommand(cmd)

Create the JobDJ job from the list of command line arguments. The job will be set to run in the Step subdirectory.

Return type:jaguarworkflows.RobustSubmissionJob
Returns:A job object that can be added to JobDJ
finish()

Finish this step, including processing any output

finishProcessingJobControlJob()

Override the parent method to archive the directory if requested

getCMSSystem()

Get the output CMS system

Return type:cms.Cms
Returns:The output system
getInput(override_uhf=True, override_solvent=True)

Get the JaguarInput object for this step, setting the keywords as required.

Return type:None or jaguar_input.JaguarInput
Returns:None if an error occured, or the jaguar_input.JaguarInput object to use for this step
getInputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getOutput(quiet=False)

Read in the results of the calculation

Parameters:quiet (bool) – If True, no error messages will be printed. If False, (default) error messages will be printed. Also, if True, self.ok will not be set to False if the output file cannot be read.
Return type:None or list
Returns:None if the calculation failed, or a list of output structures from a successful calculation.
getOutputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getParentalSubdirectories()

Get the subdirectory names for parents and required stages

Return type:str, str
Returns:The parent subdirectory, and a space-separated string of all required stage subdirectories. The subdirectory paths are relative to the overall job directory.
getStructForWriting()

Get the output Maestro structure derived from the output CMS system

Return type:schrodinger.Structure
Returns:The output Maestro structure
getStructure()

Get the starting structure for this step

Overrides the parent class to get the initial structure for this workflow if the Step has no parent.

Return type:schrodinger.structure.Structure or None
Returns:The starting structure for this step. None if input is not a structure.
getTrajectoryName()

Get the name of the output trajectory directory

Return type:str or None
Returns:The output trajectory directory name or None if this step does not create trajectories
log(msg, prefix=True, level=20)

Add a message to the parent workflow’s log file

Parameters:
  • msg (str) – The message to add
  • prefix (bool) – Whether to add information about the workflow and step name to the front of the message string
  • level (int) – A logging constant indicating the priority level of the message
monitorFiles()

Check for any requested files that need to be copied back immediately

periodicMaintenance()

This method is periodically called while the workflow is running

processOutput(output)

Process the output of a job during the finish part of the step

Parameters:output – The output of the job. Type may vary in subclasses
removeIncomingProperties(struct)

Remove properties on the structure that may have come from previous steps and that we do not want to propagate through this step

Parameters:struct (structure.Structure) – The structure to remove properties from
setKeywords(input, keystring)

Set the keywords for this job

Parameters:
  • input (jaguar_input.JaguarInput) – The JaguarInput object to set the keywords on
  • keystring (str) – Space separated keyword=value pairs. Each pair must contain an equals sign
setSubDir()

Determine the absolute path to this step’s subdirectory so that we can always access it no matter what the current directory is

start()

Start the job - create the input and write it, adding necessary output files to make sure they get copied back

write(writer, props=None, hierarchy=None)

Add the final structure for this step to the output structure file

Parameters:
  • writer (schrodinger.StructureWriter) – The writer to use to write the structure
  • props (dict) – A dictionary of property/value pairs to add to the property dictionary of this object.
  • hierarchy (list) – The project group hierarchy for this result - each item is a str
writeInput(struct)

Write the input file

Parameters:or None struct (structure.Structure) – The structure to write. If None it will write the input file.
class schrodinger.application.matsci.jwsteps.PolymerCrosslinkStep(*args, maestro_in=False, **kwargs)

Bases: schrodinger.application.matsci.jwsteps.BaseDesmondStep

A step that runs a polymer crosslink calculation

STEP_NAME = 'Crosslinking'
JOB_BASE = 'xlink'
FLAGS_INPUT_NAME_FLAG = '-icms'
DRIVER_PATH = 'polymer_crosslink_gui_dir/polymer_crosslink_driver.py'
CAN_CREATE_TRAJECTORY = False
FLAGS = {}
FLAGS_ADD_DOUBLE_DASH = False
FLAGS_ADD_INPUT_NAME = True
FLAGS_ADD_JOB_NAME = True
FLAGS_ADD_TPP = False
PROCS = 1
RESULTS_CLASS

alias of BaseDesmondResults

SAVE_PROPS = {}
SAVE_PROP_STARTS = {}
__init__(*args, maestro_in=False, **kwargs)

Create a BaseDesmondStep instance

Parameters:maestro_in (bool) – If true, the class will write a Maestro input file (.maegz) rather than a CMS (.cms) file

See parent class for additional documentation

addParentalSubdirProperties(struct)

Add parental subdirectory properties to the structure

Parameters:struct (cms.Cms or schrodinger.structure.Structure) – The structure to add properties to
archiveSubDir()

Archive this step’s subdirectory and add it to the backend for copy back

calcsDone()

Check to see if the calculation finished

If finished and the job failed, self.ok will be set to False

Return type:bool
Returns:True if the calculation finished, False if not
canStart()

Check to see if this job can start - if the parent job(s) have finished successfully.

Return type:bool
Returns:True if the job can start, False if not
createCommand()

Create the command line

Return type:list
Returns:The command line in list form
Raises:JobCreationError – If the command cannot be created
createJob()

Create the job command and object

Return type:jaguarworkflows.RobustSubmissionJob
Returns:The job object to run Macromodel
createQJobFromCommand(cmd)

Create the JobDJ job from the list of command line arguments. The job will be set to run in the Step subdirectory.

Return type:jaguarworkflows.RobustSubmissionJob
Returns:A job object that can be added to JobDJ
finish()

Finish this step, including processing any output

finishProcessingJobControlJob()

Override the parent method to archive the directory if requested

getCMSSystem()

Get the output CMS system

Return type:cms.Cms
Returns:The output system
getInput(override_uhf=True, override_solvent=True)

Get the JaguarInput object for this step, setting the keywords as required.

Return type:None or jaguar_input.JaguarInput
Returns:None if an error occured, or the jaguar_input.JaguarInput object to use for this step
getInputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getOutput(quiet=False)

Read in the results of the calculation

Parameters:quiet (bool) – If True, no error messages will be printed. If False, (default) error messages will be printed. Also, if True, self.ok will not be set to False if the output file cannot be read.
Return type:None or list
Returns:None if the calculation failed, or a list of output structures from a successful calculation.
getOutputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getParentalSubdirectories()

Get the subdirectory names for parents and required stages

Return type:str, str
Returns:The parent subdirectory, and a space-separated string of all required stage subdirectories. The subdirectory paths are relative to the overall job directory.
getStructForWriting()

Get the output Maestro structure derived from the output CMS system

Return type:schrodinger.Structure
Returns:The output Maestro structure
getStructure()

Get the starting structure for this step

Overrides the parent class to get the initial structure for this workflow if the Step has no parent.

Return type:schrodinger.structure.Structure or None
Returns:The starting structure for this step. None if input is not a structure.
getTrajectoryName()

Get the name of the output trajectory directory

Return type:str or None
Returns:The output trajectory directory name or None if this step does not create trajectories
log(msg, prefix=True, level=20)

Add a message to the parent workflow’s log file

Parameters:
  • msg (str) – The message to add
  • prefix (bool) – Whether to add information about the workflow and step name to the front of the message string
  • level (int) – A logging constant indicating the priority level of the message
monitorFiles()

Check for any requested files that need to be copied back immediately

periodicMaintenance()

This method is periodically called while the workflow is running

processOutput(output)

Process the output of a job during the finish part of the step

Parameters:output – The output of the job. Type may vary in subclasses
removeIncomingProperties(struct)

Remove properties on the structure that may have come from previous steps and that we do not want to propagate through this step

Parameters:struct (structure.Structure) – The structure to remove properties from
setKeywords(input, keystring)

Set the keywords for this job

Parameters:
  • input (jaguar_input.JaguarInput) – The JaguarInput object to set the keywords on
  • keystring (str) – Space separated keyword=value pairs. Each pair must contain an equals sign
setSubDir()

Determine the absolute path to this step’s subdirectory so that we can always access it no matter what the current directory is

start()

Start the job - create the input and write it, adding necessary output files to make sure they get copied back

write(writer, props=None, hierarchy=None)

Add the final structure for this step to the output structure file

Parameters:
  • writer (schrodinger.StructureWriter) – The writer to use to write the structure
  • props (dict) – A dictionary of property/value pairs to add to the property dictionary of this object.
  • hierarchy (list) – The project group hierarchy for this result - each item is a str
writeInput(struct)

Write the input file

Parameters:or None struct (structure.Structure) – The structure to write. If None it will write the input file.
class schrodinger.application.matsci.jwsteps.ElasticConstantsStressStep(*args, maestro_in=False, **kwargs)

Bases: schrodinger.application.matsci.jwsteps.BaseDesmondStep

A step that runs a stress-based elastic constants calculation

STEP_NAME = 'Estress'
JOB_BASE = 'estress'
FLAGS_INPUT_NAME_FLAG = '-icms'
DRIVER_PATH = 'elastic_constants_gui_dir/elastic_constants_driver2.py'
SAVE_PROPS = {'r_matsci_Bulk_Modulus_(MPa)', "r_matsci_Lame'_Lambda_(MPa)", "r_matsci_Lame'_Mu", 'r_matsci_Poisson_Ratio', 'r_matsci_Shear_Modulus_(MPa)', 'r_matsci_Universal_Anisotropy', "r_matsci_Young's_Modulus_(MPa)"}
CAN_CREATE_TRAJECTORY = True
FLAGS = {}
FLAGS_ADD_DOUBLE_DASH = False
FLAGS_ADD_INPUT_NAME = True
FLAGS_ADD_JOB_NAME = True
FLAGS_ADD_TPP = False
PROCS = 1
RESULTS_CLASS

alias of BaseDesmondResults

SAVE_PROP_STARTS = {}
__init__(*args, maestro_in=False, **kwargs)

Create a BaseDesmondStep instance

Parameters:maestro_in (bool) – If true, the class will write a Maestro input file (.maegz) rather than a CMS (.cms) file

See parent class for additional documentation

addParentalSubdirProperties(struct)

Add parental subdirectory properties to the structure

Parameters:struct (cms.Cms or schrodinger.structure.Structure) – The structure to add properties to
archiveSubDir()

Archive this step’s subdirectory and add it to the backend for copy back

calcsDone()

Check to see if the calculation finished

If finished and the job failed, self.ok will be set to False

Return type:bool
Returns:True if the calculation finished, False if not
canStart()

Check to see if this job can start - if the parent job(s) have finished successfully.

Return type:bool
Returns:True if the job can start, False if not
createCommand()

Create the command line

Return type:list
Returns:The command line in list form
Raises:JobCreationError – If the command cannot be created
createJob()

Create the job command and object

Return type:jaguarworkflows.RobustSubmissionJob
Returns:The job object to run Macromodel
createQJobFromCommand(cmd)

Create the JobDJ job from the list of command line arguments. The job will be set to run in the Step subdirectory.

Return type:jaguarworkflows.RobustSubmissionJob
Returns:A job object that can be added to JobDJ
finish()

Finish this step, including processing any output

finishProcessingJobControlJob()

Override the parent method to archive the directory if requested

getCMSSystem()

Get the output CMS system

Return type:cms.Cms
Returns:The output system
getInput(override_uhf=True, override_solvent=True)

Get the JaguarInput object for this step, setting the keywords as required.

Return type:None or jaguar_input.JaguarInput
Returns:None if an error occured, or the jaguar_input.JaguarInput object to use for this step
getInputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getOutput(quiet=False)

Read in the results of the calculation

Parameters:quiet (bool) – If True, no error messages will be printed. If False, (default) error messages will be printed. Also, if True, self.ok will not be set to False if the output file cannot be read.
Return type:None or list
Returns:None if the calculation failed, or a list of output structures from a successful calculation.
getOutputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getParentalSubdirectories()

Get the subdirectory names for parents and required stages

Return type:str, str
Returns:The parent subdirectory, and a space-separated string of all required stage subdirectories. The subdirectory paths are relative to the overall job directory.
getStructForWriting()

Get the output Maestro structure derived from the output CMS system

Return type:schrodinger.Structure
Returns:The output Maestro structure
getStructure()

Get the starting structure for this step

Overrides the parent class to get the initial structure for this workflow if the Step has no parent.

Return type:schrodinger.structure.Structure or None
Returns:The starting structure for this step. None if input is not a structure.
getTrajectoryName()

Get the name of the output trajectory directory

Return type:str or None
Returns:The output trajectory directory name or None if this step does not create trajectories
log(msg, prefix=True, level=20)

Add a message to the parent workflow’s log file

Parameters:
  • msg (str) – The message to add
  • prefix (bool) – Whether to add information about the workflow and step name to the front of the message string
  • level (int) – A logging constant indicating the priority level of the message
monitorFiles()

Check for any requested files that need to be copied back immediately

periodicMaintenance()

This method is periodically called while the workflow is running

processOutput(output)

Process the output of a job during the finish part of the step

Parameters:output – The output of the job. Type may vary in subclasses
removeIncomingProperties(struct)

Remove properties on the structure that may have come from previous steps and that we do not want to propagate through this step

Parameters:struct (structure.Structure) – The structure to remove properties from
setKeywords(input, keystring)

Set the keywords for this job

Parameters:
  • input (jaguar_input.JaguarInput) – The JaguarInput object to set the keywords on
  • keystring (str) – Space separated keyword=value pairs. Each pair must contain an equals sign
setSubDir()

Determine the absolute path to this step’s subdirectory so that we can always access it no matter what the current directory is

start()

Start the job - create the input and write it, adding necessary output files to make sure they get copied back

write(writer, props=None, hierarchy=None)

Add the final structure for this step to the output structure file

Parameters:
  • writer (schrodinger.StructureWriter) – The writer to use to write the structure
  • props (dict) – A dictionary of property/value pairs to add to the property dictionary of this object.
  • hierarchy (list) – The project group hierarchy for this result - each item is a str
writeInput(struct)

Write the input file

Parameters:or None struct (structure.Structure) – The structure to write. If None it will write the input file.
class schrodinger.application.matsci.jwsteps.ElasticConstantsStep(*args, maestro_in=False, **kwargs)

Bases: schrodinger.application.matsci.jwsteps.ElasticConstantsStressStep

A step that runs a non-stress elastic constants calculation

STEP_NAME = 'Elastic'
JOB_BASE = 'elastic'
DRIVER_PATH = 'elastic_constants_gui_dir/elastic_constants_driver.py'
SAVE_PROP_STARTS = {'r_matsci_Strain'}
getOutputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
CAN_CREATE_TRAJECTORY = True
FLAGS = {}
FLAGS_ADD_DOUBLE_DASH = False
FLAGS_ADD_INPUT_NAME = True
FLAGS_ADD_JOB_NAME = True
FLAGS_ADD_TPP = False
FLAGS_INPUT_NAME_FLAG = '-icms'
PROCS = 1
RESULTS_CLASS

alias of BaseDesmondResults

SAVE_PROPS = {'r_matsci_Bulk_Modulus_(MPa)', "r_matsci_Lame'_Lambda_(MPa)", "r_matsci_Lame'_Mu", 'r_matsci_Poisson_Ratio', 'r_matsci_Shear_Modulus_(MPa)', 'r_matsci_Universal_Anisotropy', "r_matsci_Young's_Modulus_(MPa)"}
__init__(*args, maestro_in=False, **kwargs)

Create a BaseDesmondStep instance

Parameters:maestro_in (bool) – If true, the class will write a Maestro input file (.maegz) rather than a CMS (.cms) file

See parent class for additional documentation

addParentalSubdirProperties(struct)

Add parental subdirectory properties to the structure

Parameters:struct (cms.Cms or schrodinger.structure.Structure) – The structure to add properties to
archiveSubDir()

Archive this step’s subdirectory and add it to the backend for copy back

calcsDone()

Check to see if the calculation finished

If finished and the job failed, self.ok will be set to False

Return type:bool
Returns:True if the calculation finished, False if not
canStart()

Check to see if this job can start - if the parent job(s) have finished successfully.

Return type:bool
Returns:True if the job can start, False if not
createCommand()

Create the command line

Return type:list
Returns:The command line in list form
Raises:JobCreationError – If the command cannot be created
createJob()

Create the job command and object

Return type:jaguarworkflows.RobustSubmissionJob
Returns:The job object to run Macromodel
createQJobFromCommand(cmd)

Create the JobDJ job from the list of command line arguments. The job will be set to run in the Step subdirectory.

Return type:jaguarworkflows.RobustSubmissionJob
Returns:A job object that can be added to JobDJ
finish()

Finish this step, including processing any output

finishProcessingJobControlJob()

Override the parent method to archive the directory if requested

getCMSSystem()

Get the output CMS system

Return type:cms.Cms
Returns:The output system
getInput(override_uhf=True, override_solvent=True)

Get the JaguarInput object for this step, setting the keywords as required.

Return type:None or jaguar_input.JaguarInput
Returns:None if an error occured, or the jaguar_input.JaguarInput object to use for this step
getInputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getOutput(quiet=False)

Read in the results of the calculation

Parameters:quiet (bool) – If True, no error messages will be printed. If False, (default) error messages will be printed. Also, if True, self.ok will not be set to False if the output file cannot be read.
Return type:None or list
Returns:None if the calculation failed, or a list of output structures from a successful calculation.
getParentalSubdirectories()

Get the subdirectory names for parents and required stages

Return type:str, str
Returns:The parent subdirectory, and a space-separated string of all required stage subdirectories. The subdirectory paths are relative to the overall job directory.
getStructForWriting()

Get the output Maestro structure derived from the output CMS system

Return type:schrodinger.Structure
Returns:The output Maestro structure
getStructure()

Get the starting structure for this step

Overrides the parent class to get the initial structure for this workflow if the Step has no parent.

Return type:schrodinger.structure.Structure or None
Returns:The starting structure for this step. None if input is not a structure.
getTrajectoryName()

Get the name of the output trajectory directory

Return type:str or None
Returns:The output trajectory directory name or None if this step does not create trajectories
log(msg, prefix=True, level=20)

Add a message to the parent workflow’s log file

Parameters:
  • msg (str) – The message to add
  • prefix (bool) – Whether to add information about the workflow and step name to the front of the message string
  • level (int) – A logging constant indicating the priority level of the message
monitorFiles()

Check for any requested files that need to be copied back immediately

periodicMaintenance()

This method is periodically called while the workflow is running

processOutput(output)

Process the output of a job during the finish part of the step

Parameters:output – The output of the job. Type may vary in subclasses
removeIncomingProperties(struct)

Remove properties on the structure that may have come from previous steps and that we do not want to propagate through this step

Parameters:struct (structure.Structure) – The structure to remove properties from
setKeywords(input, keystring)

Set the keywords for this job

Parameters:
  • input (jaguar_input.JaguarInput) – The JaguarInput object to set the keywords on
  • keystring (str) – Space separated keyword=value pairs. Each pair must contain an equals sign
setSubDir()

Determine the absolute path to this step’s subdirectory so that we can always access it no matter what the current directory is

start()

Start the job - create the input and write it, adding necessary output files to make sure they get copied back

write(writer, props=None, hierarchy=None)

Add the final structure for this step to the output structure file

Parameters:
  • writer (schrodinger.StructureWriter) – The writer to use to write the structure
  • props (dict) – A dictionary of property/value pairs to add to the property dictionary of this object.
  • hierarchy (list) – The project group hierarchy for this result - each item is a str
writeInput(struct)

Write the input file

Parameters:or None struct (structure.Structure) – The structure to write. If None it will write the input file.
class schrodinger.application.matsci.jwsteps.PenetrantLoadingStep(*args, maestro_in=False, **kwargs)

Bases: schrodinger.application.matsci.jwsteps.BaseDesmondStep

A step that runs a Penetrant Loading calculation

STEP_NAME = 'pload'
JOB_BASE = 'pload'
DRIVER_PATH = 'penetrant_loading_gui_dir/penetrant_loading_driver.py'
CAN_CREATE_TRAJECTORY = True
getOutputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getTrajectoryName()

Get the name of the output trajectory directory

Return type:str
Returns:The output trajectory directory name
FLAGS = {}
FLAGS_ADD_DOUBLE_DASH = False
FLAGS_ADD_INPUT_NAME = True
FLAGS_ADD_JOB_NAME = True
FLAGS_ADD_TPP = False
FLAGS_INPUT_NAME_FLAG = ''
PROCS = 1
RESULTS_CLASS

alias of BaseDesmondResults

SAVE_PROPS = {}
SAVE_PROP_STARTS = {}
__init__(*args, maestro_in=False, **kwargs)

Create a BaseDesmondStep instance

Parameters:maestro_in (bool) – If true, the class will write a Maestro input file (.maegz) rather than a CMS (.cms) file

See parent class for additional documentation

addParentalSubdirProperties(struct)

Add parental subdirectory properties to the structure

Parameters:struct (cms.Cms or schrodinger.structure.Structure) – The structure to add properties to
archiveSubDir()

Archive this step’s subdirectory and add it to the backend for copy back

calcsDone()

Check to see if the calculation finished

If finished and the job failed, self.ok will be set to False

Return type:bool
Returns:True if the calculation finished, False if not
canStart()

Check to see if this job can start - if the parent job(s) have finished successfully.

Return type:bool
Returns:True if the job can start, False if not
createCommand()

Create the command line

Return type:list
Returns:The command line in list form
Raises:JobCreationError – If the command cannot be created
createJob()

Create the job command and object

Return type:jaguarworkflows.RobustSubmissionJob
Returns:The job object to run Macromodel
createQJobFromCommand(cmd)

Create the JobDJ job from the list of command line arguments. The job will be set to run in the Step subdirectory.

Return type:jaguarworkflows.RobustSubmissionJob
Returns:A job object that can be added to JobDJ
finish()

Finish this step, including processing any output

finishProcessingJobControlJob()

Override the parent method to archive the directory if requested

getCMSSystem()

Get the output CMS system

Return type:cms.Cms
Returns:The output system
getInput(override_uhf=True, override_solvent=True)

Get the JaguarInput object for this step, setting the keywords as required.

Return type:None or jaguar_input.JaguarInput
Returns:None if an error occured, or the jaguar_input.JaguarInput object to use for this step
getInputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getOutput(quiet=False)

Read in the results of the calculation

Parameters:quiet (bool) – If True, no error messages will be printed. If False, (default) error messages will be printed. Also, if True, self.ok will not be set to False if the output file cannot be read.
Return type:None or list
Returns:None if the calculation failed, or a list of output structures from a successful calculation.
getParentalSubdirectories()

Get the subdirectory names for parents and required stages

Return type:str, str
Returns:The parent subdirectory, and a space-separated string of all required stage subdirectories. The subdirectory paths are relative to the overall job directory.
getStructForWriting()

Get the output Maestro structure derived from the output CMS system

Return type:schrodinger.Structure
Returns:The output Maestro structure
getStructure()

Get the starting structure for this step

Overrides the parent class to get the initial structure for this workflow if the Step has no parent.

Return type:schrodinger.structure.Structure or None
Returns:The starting structure for this step. None if input is not a structure.
log(msg, prefix=True, level=20)

Add a message to the parent workflow’s log file

Parameters:
  • msg (str) – The message to add
  • prefix (bool) – Whether to add information about the workflow and step name to the front of the message string
  • level (int) – A logging constant indicating the priority level of the message
monitorFiles()

Check for any requested files that need to be copied back immediately

periodicMaintenance()

This method is periodically called while the workflow is running

processOutput(output)

Process the output of a job during the finish part of the step

Parameters:output – The output of the job. Type may vary in subclasses
removeIncomingProperties(struct)

Remove properties on the structure that may have come from previous steps and that we do not want to propagate through this step

Parameters:struct (structure.Structure) – The structure to remove properties from
setKeywords(input, keystring)

Set the keywords for this job

Parameters:
  • input (jaguar_input.JaguarInput) – The JaguarInput object to set the keywords on
  • keystring (str) – Space separated keyword=value pairs. Each pair must contain an equals sign
setSubDir()

Determine the absolute path to this step’s subdirectory so that we can always access it no matter what the current directory is

start()

Start the job - create the input and write it, adding necessary output files to make sure they get copied back

write(writer, props=None, hierarchy=None)

Add the final structure for this step to the output structure file

Parameters:
  • writer (schrodinger.StructureWriter) – The writer to use to write the structure
  • props (dict) – A dictionary of property/value pairs to add to the property dictionary of this object.
  • hierarchy (list) – The project group hierarchy for this result - each item is a str
writeInput(struct)

Write the input file

Parameters:or None struct (structure.Structure) – The structure to write. If None it will write the input file.
class schrodinger.application.matsci.jwsteps.PolymerChainAnalysisStep(*args, maestro_in=False, **kwargs)

Bases: schrodinger.application.matsci.jwsteps.BaseDesmondStep

A step that runs a Polymer Chain Analysis

STEP_NAME = 'pcan'
JOB_BASE = 'pcan'
DRIVER_PATH = 'polymer_chain_analysis_gui_dir/polymer_chain_analysis_driver.py'
SAVE_PROPS = {'r_matsci_End-to-end_Distance_(Ang.)', 'r_matsci_End_Dist_Time_End_(ns)', 'r_matsci_End_Dist_Time_Start_(ns)', 'r_matsci_Extended_Chain_Length_(Ang.)', 'r_matsci_Mean_Fractional_Anisotropy', 'r_matsci_Mean_Squared_End_Distance_(Ang.^2)', 'r_matsci_Mean_Squared_Radius_Of_Gyration_(Ang.^2)', 'r_matsci_Persistence_Length_(Ang.)', 'r_matsci_Radius_Of_Gyration_(Ang.)', 's_matsci_End_Dist_File', 's_matsci_End_Internal_Dist_File', 's_matsci_Moment_of_Inertia_File', 's_matsci_Radius_of_Gyration_File', 's_matsci_Torsional_File'}
getOutputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
CAN_CREATE_TRAJECTORY = False
FLAGS = {}
FLAGS_ADD_DOUBLE_DASH = False
FLAGS_ADD_INPUT_NAME = True
FLAGS_ADD_JOB_NAME = True
FLAGS_ADD_TPP = False
FLAGS_INPUT_NAME_FLAG = ''
PROCS = 1
RESULTS_CLASS

alias of BaseDesmondResults

SAVE_PROP_STARTS = {}
__init__(*args, maestro_in=False, **kwargs)

Create a BaseDesmondStep instance

Parameters:maestro_in (bool) – If true, the class will write a Maestro input file (.maegz) rather than a CMS (.cms) file

See parent class for additional documentation

addParentalSubdirProperties(struct)

Add parental subdirectory properties to the structure

Parameters:struct (cms.Cms or schrodinger.structure.Structure) – The structure to add properties to
archiveSubDir()

Archive this step’s subdirectory and add it to the backend for copy back

calcsDone()

Check to see if the calculation finished

If finished and the job failed, self.ok will be set to False

Return type:bool
Returns:True if the calculation finished, False if not
canStart()

Check to see if this job can start - if the parent job(s) have finished successfully.

Return type:bool
Returns:True if the job can start, False if not
createCommand()

Create the command line

Return type:list
Returns:The command line in list form
Raises:JobCreationError – If the command cannot be created
createJob()

Create the job command and object

Return type:jaguarworkflows.RobustSubmissionJob
Returns:The job object to run Macromodel
createQJobFromCommand(cmd)

Create the JobDJ job from the list of command line arguments. The job will be set to run in the Step subdirectory.

Return type:jaguarworkflows.RobustSubmissionJob
Returns:A job object that can be added to JobDJ
finish()

Finish this step, including processing any output

finishProcessingJobControlJob()

Override the parent method to archive the directory if requested

getCMSSystem()

Get the output CMS system

Return type:cms.Cms
Returns:The output system
getInput(override_uhf=True, override_solvent=True)

Get the JaguarInput object for this step, setting the keywords as required.

Return type:None or jaguar_input.JaguarInput
Returns:None if an error occured, or the jaguar_input.JaguarInput object to use for this step
getInputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getOutput(quiet=False)

Read in the results of the calculation

Parameters:quiet (bool) – If True, no error messages will be printed. If False, (default) error messages will be printed. Also, if True, self.ok will not be set to False if the output file cannot be read.
Return type:None or list
Returns:None if the calculation failed, or a list of output structures from a successful calculation.
getParentalSubdirectories()

Get the subdirectory names for parents and required stages

Return type:str, str
Returns:The parent subdirectory, and a space-separated string of all required stage subdirectories. The subdirectory paths are relative to the overall job directory.
getStructForWriting()

Get the output Maestro structure derived from the output CMS system

Return type:schrodinger.Structure
Returns:The output Maestro structure
getStructure()

Get the starting structure for this step

Overrides the parent class to get the initial structure for this workflow if the Step has no parent.

Return type:schrodinger.structure.Structure or None
Returns:The starting structure for this step. None if input is not a structure.
getTrajectoryName()

Get the name of the output trajectory directory

Return type:str or None
Returns:The output trajectory directory name or None if this step does not create trajectories
log(msg, prefix=True, level=20)

Add a message to the parent workflow’s log file

Parameters:
  • msg (str) – The message to add
  • prefix (bool) – Whether to add information about the workflow and step name to the front of the message string
  • level (int) – A logging constant indicating the priority level of the message
monitorFiles()

Check for any requested files that need to be copied back immediately

periodicMaintenance()

This method is periodically called while the workflow is running

processOutput(output)

Process the output of a job during the finish part of the step

Parameters:output – The output of the job. Type may vary in subclasses
removeIncomingProperties(struct)

Remove properties on the structure that may have come from previous steps and that we do not want to propagate through this step

Parameters:struct (structure.Structure) – The structure to remove properties from
setKeywords(input, keystring)

Set the keywords for this job

Parameters:
  • input (jaguar_input.JaguarInput) – The JaguarInput object to set the keywords on
  • keystring (str) – Space separated keyword=value pairs. Each pair must contain an equals sign
setSubDir()

Determine the absolute path to this step’s subdirectory so that we can always access it no matter what the current directory is

start()

Start the job - create the input and write it, adding necessary output files to make sure they get copied back

write(writer, props=None, hierarchy=None)

Add the final structure for this step to the output structure file

Parameters:
  • writer (schrodinger.StructureWriter) – The writer to use to write the structure
  • props (dict) – A dictionary of property/value pairs to add to the property dictionary of this object.
  • hierarchy (list) – The project group hierarchy for this result - each item is a str
writeInput(struct)

Write the input file

Parameters:or None struct (structure.Structure) – The structure to write. If None it will write the input file.
class schrodinger.application.matsci.jwsteps.StructureFactorStep(*args, maestro_in=False, **kwargs)

Bases: schrodinger.application.matsci.jwsteps.BaseDesmondStep

A step that runs a Structure Factor calculation

STEP_NAME = 'sfactor'
JOB_BASE = 'sfactor'
DRIVER_PATH = 'structure_factor_gui_dir/structure_factor_driver.py'
SAVE_PROPS = {'r_matsci_sq_resolution', 's_matsci_sq_method'}
FLAGS_INPUT_NAME_FLAG = '-cms_file'
CAN_CREATE_TRAJECTORY = False
FLAGS = {}
FLAGS_ADD_DOUBLE_DASH = False
FLAGS_ADD_INPUT_NAME = True
FLAGS_ADD_JOB_NAME = True
FLAGS_ADD_TPP = False
PROCS = 1
RESULTS_CLASS

alias of BaseDesmondResults

SAVE_PROP_STARTS = {}
__init__(*args, maestro_in=False, **kwargs)

Create a BaseDesmondStep instance

Parameters:maestro_in (bool) – If true, the class will write a Maestro input file (.maegz) rather than a CMS (.cms) file

See parent class for additional documentation

addParentalSubdirProperties(struct)

Add parental subdirectory properties to the structure

Parameters:struct (cms.Cms or schrodinger.structure.Structure) – The structure to add properties to
archiveSubDir()

Archive this step’s subdirectory and add it to the backend for copy back

calcsDone()

Check to see if the calculation finished

If finished and the job failed, self.ok will be set to False

Return type:bool
Returns:True if the calculation finished, False if not
canStart()

Check to see if this job can start - if the parent job(s) have finished successfully.

Return type:bool
Returns:True if the job can start, False if not
createCommand()

Create the command line

Return type:list
Returns:The command line in list form
Raises:JobCreationError – If the command cannot be created
createJob()

Create the job command and object

Return type:jaguarworkflows.RobustSubmissionJob
Returns:The job object to run Macromodel
createQJobFromCommand(cmd)

Create the JobDJ job from the list of command line arguments. The job will be set to run in the Step subdirectory.

Return type:jaguarworkflows.RobustSubmissionJob
Returns:A job object that can be added to JobDJ
finish()

Finish this step, including processing any output

finishProcessingJobControlJob()

Override the parent method to archive the directory if requested

getCMSSystem()

Get the output CMS system

Return type:cms.Cms
Returns:The output system
getInput(override_uhf=True, override_solvent=True)

Get the JaguarInput object for this step, setting the keywords as required.

Return type:None or jaguar_input.JaguarInput
Returns:None if an error occured, or the jaguar_input.JaguarInput object to use for this step
getInputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getOutput(quiet=False)

Read in the results of the calculation

Parameters:quiet (bool) – If True, no error messages will be printed. If False, (default) error messages will be printed. Also, if True, self.ok will not be set to False if the output file cannot be read.
Return type:None or list
Returns:None if the calculation failed, or a list of output structures from a successful calculation.
getOutputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getParentalSubdirectories()

Get the subdirectory names for parents and required stages

Return type:str, str
Returns:The parent subdirectory, and a space-separated string of all required stage subdirectories. The subdirectory paths are relative to the overall job directory.
getStructForWriting()

Get the output Maestro structure derived from the output CMS system

Return type:schrodinger.Structure
Returns:The output Maestro structure
getStructure()

Get the starting structure for this step

Overrides the parent class to get the initial structure for this workflow if the Step has no parent.

Return type:schrodinger.structure.Structure or None
Returns:The starting structure for this step. None if input is not a structure.
getTrajectoryName()

Get the name of the output trajectory directory

Return type:str or None
Returns:The output trajectory directory name or None if this step does not create trajectories
log(msg, prefix=True, level=20)

Add a message to the parent workflow’s log file

Parameters:
  • msg (str) – The message to add
  • prefix (bool) – Whether to add information about the workflow and step name to the front of the message string
  • level (int) – A logging constant indicating the priority level of the message
monitorFiles()

Check for any requested files that need to be copied back immediately

periodicMaintenance()

This method is periodically called while the workflow is running

processOutput(output)

Process the output of a job during the finish part of the step

Parameters:output – The output of the job. Type may vary in subclasses
removeIncomingProperties(struct)

Remove properties on the structure that may have come from previous steps and that we do not want to propagate through this step

Parameters:struct (structure.Structure) – The structure to remove properties from
setKeywords(input, keystring)

Set the keywords for this job

Parameters:
  • input (jaguar_input.JaguarInput) – The JaguarInput object to set the keywords on
  • keystring (str) – Space separated keyword=value pairs. Each pair must contain an equals sign
setSubDir()

Determine the absolute path to this step’s subdirectory so that we can always access it no matter what the current directory is

start()

Start the job - create the input and write it, adding necessary output files to make sure they get copied back

write(writer, props=None, hierarchy=None)

Add the final structure for this step to the output structure file

Parameters:
  • writer (schrodinger.StructureWriter) – The writer to use to write the structure
  • props (dict) – A dictionary of property/value pairs to add to the property dictionary of this object.
  • hierarchy (list) – The project group hierarchy for this result - each item is a str
writeInput(struct)

Write the input file

Parameters:or None struct (structure.Structure) – The structure to write. If None it will write the input file.
class schrodinger.application.matsci.jwsteps.SimulationProfileStep(*args, maestro_in=False, **kwargs)

Bases: schrodinger.application.matsci.jwsteps.BaseDesmondStep

A step that runs a Simulation Profile calculation

STEP_NAME = 'profile'
JOB_BASE = 'profile'
DRIVER_PATH = 'trajectory_density_analysis_gui_dir/trajectory_density_analysis_driver.py'
FLAGS_INPUT_NAME_FLAG = '-cms_file'
CAN_CREATE_TRAJECTORY = False
FLAGS = {}
FLAGS_ADD_DOUBLE_DASH = False
FLAGS_ADD_INPUT_NAME = True
FLAGS_ADD_JOB_NAME = True
FLAGS_ADD_TPP = False
PROCS = 1
RESULTS_CLASS

alias of BaseDesmondResults

SAVE_PROPS = {}
SAVE_PROP_STARTS = {}
__init__(*args, maestro_in=False, **kwargs)

Create a BaseDesmondStep instance

Parameters:maestro_in (bool) – If true, the class will write a Maestro input file (.maegz) rather than a CMS (.cms) file

See parent class for additional documentation

addParentalSubdirProperties(struct)

Add parental subdirectory properties to the structure

Parameters:struct (cms.Cms or schrodinger.structure.Structure) – The structure to add properties to
archiveSubDir()

Archive this step’s subdirectory and add it to the backend for copy back

calcsDone()

Check to see if the calculation finished

If finished and the job failed, self.ok will be set to False

Return type:bool
Returns:True if the calculation finished, False if not
canStart()

Check to see if this job can start - if the parent job(s) have finished successfully.

Return type:bool
Returns:True if the job can start, False if not
createCommand()

Create the command line

Return type:list
Returns:The command line in list form
Raises:JobCreationError – If the command cannot be created
createJob()

Create the job command and object

Return type:jaguarworkflows.RobustSubmissionJob
Returns:The job object to run Macromodel
createQJobFromCommand(cmd)

Create the JobDJ job from the list of command line arguments. The job will be set to run in the Step subdirectory.

Return type:jaguarworkflows.RobustSubmissionJob
Returns:A job object that can be added to JobDJ
finish()

Finish this step, including processing any output

finishProcessingJobControlJob()

Override the parent method to archive the directory if requested

getCMSSystem()

Get the output CMS system

Return type:cms.Cms
Returns:The output system
getInput(override_uhf=True, override_solvent=True)

Get the JaguarInput object for this step, setting the keywords as required.

Return type:None or jaguar_input.JaguarInput
Returns:None if an error occured, or the jaguar_input.JaguarInput object to use for this step
getInputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getOutput(quiet=False)

Read in the results of the calculation

Parameters:quiet (bool) – If True, no error messages will be printed. If False, (default) error messages will be printed. Also, if True, self.ok will not be set to False if the output file cannot be read.
Return type:None or list
Returns:None if the calculation failed, or a list of output structures from a successful calculation.
getOutputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getParentalSubdirectories()

Get the subdirectory names for parents and required stages

Return type:str, str
Returns:The parent subdirectory, and a space-separated string of all required stage subdirectories. The subdirectory paths are relative to the overall job directory.
getStructForWriting()

Get the output Maestro structure derived from the output CMS system

Return type:schrodinger.Structure
Returns:The output Maestro structure
getStructure()

Get the starting structure for this step

Overrides the parent class to get the initial structure for this workflow if the Step has no parent.

Return type:schrodinger.structure.Structure or None
Returns:The starting structure for this step. None if input is not a structure.
getTrajectoryName()

Get the name of the output trajectory directory

Return type:str or None
Returns:The output trajectory directory name or None if this step does not create trajectories
log(msg, prefix=True, level=20)

Add a message to the parent workflow’s log file

Parameters:
  • msg (str) – The message to add
  • prefix (bool) – Whether to add information about the workflow and step name to the front of the message string
  • level (int) – A logging constant indicating the priority level of the message
monitorFiles()

Check for any requested files that need to be copied back immediately

periodicMaintenance()

This method is periodically called while the workflow is running

processOutput(output)

Process the output of a job during the finish part of the step

Parameters:output – The output of the job. Type may vary in subclasses
removeIncomingProperties(struct)

Remove properties on the structure that may have come from previous steps and that we do not want to propagate through this step

Parameters:struct (structure.Structure) – The structure to remove properties from
setKeywords(input, keystring)

Set the keywords for this job

Parameters:
  • input (jaguar_input.JaguarInput) – The JaguarInput object to set the keywords on
  • keystring (str) – Space separated keyword=value pairs. Each pair must contain an equals sign
setSubDir()

Determine the absolute path to this step’s subdirectory so that we can always access it no matter what the current directory is

start()

Start the job - create the input and write it, adding necessary output files to make sure they get copied back

write(writer, props=None, hierarchy=None)

Add the final structure for this step to the output structure file

Parameters:
  • writer (schrodinger.StructureWriter) – The writer to use to write the structure
  • props (dict) – A dictionary of property/value pairs to add to the property dictionary of this object.
  • hierarchy (list) – The project group hierarchy for this result - each item is a str
writeInput(struct)

Write the input file

Parameters:or None struct (structure.Structure) – The structure to write. If None it will write the input file.
class schrodinger.application.matsci.jwsteps.CustomCmsStep(*args, maestro_in=False, **kwargs)

Bases: schrodinger.application.matsci.jwsteps.BaseDesmondStep

A step for running custom scripts that output a .cms file

STEP_NAME = 'Custom'
JOB_BASE = 'custom'
CAN_CREATE_TRAJECTORY = False
DRIVER_PATH = 'driver_dir/driver.py'
FLAGS = {}
FLAGS_ADD_DOUBLE_DASH = False
FLAGS_ADD_INPUT_NAME = True
FLAGS_ADD_JOB_NAME = True
FLAGS_ADD_TPP = False
FLAGS_INPUT_NAME_FLAG = ''
PROCS = 1
RESULTS_CLASS

alias of BaseDesmondResults

SAVE_PROPS = {}
SAVE_PROP_STARTS = {}
__init__(*args, maestro_in=False, **kwargs)

Create a BaseDesmondStep instance

Parameters:maestro_in (bool) – If true, the class will write a Maestro input file (.maegz) rather than a CMS (.cms) file

See parent class for additional documentation

addParentalSubdirProperties(struct)

Add parental subdirectory properties to the structure

Parameters:struct (cms.Cms or schrodinger.structure.Structure) – The structure to add properties to
archiveSubDir()

Archive this step’s subdirectory and add it to the backend for copy back

calcsDone()

Check to see if the calculation finished

If finished and the job failed, self.ok will be set to False

Return type:bool
Returns:True if the calculation finished, False if not
canStart()

Check to see if this job can start - if the parent job(s) have finished successfully.

Return type:bool
Returns:True if the job can start, False if not
createCommand()

Create the command line

Return type:list
Returns:The command line in list form
Raises:JobCreationError – If the command cannot be created
createJob()

Create the job command and object

Return type:jaguarworkflows.RobustSubmissionJob
Returns:The job object to run Macromodel
createQJobFromCommand(cmd)

Create the JobDJ job from the list of command line arguments. The job will be set to run in the Step subdirectory.

Return type:jaguarworkflows.RobustSubmissionJob
Returns:A job object that can be added to JobDJ
finish()

Finish this step, including processing any output

finishProcessingJobControlJob()

Override the parent method to archive the directory if requested

getCMSSystem()

Get the output CMS system

Return type:cms.Cms
Returns:The output system
getInput(override_uhf=True, override_solvent=True)

Get the JaguarInput object for this step, setting the keywords as required.

Return type:None or jaguar_input.JaguarInput
Returns:None if an error occured, or the jaguar_input.JaguarInput object to use for this step
getInputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getOutput(quiet=False)

Read in the results of the calculation

Parameters:quiet (bool) – If True, no error messages will be printed. If False, (default) error messages will be printed. Also, if True, self.ok will not be set to False if the output file cannot be read.
Return type:None or list
Returns:None if the calculation failed, or a list of output structures from a successful calculation.
getOutputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getParentalSubdirectories()

Get the subdirectory names for parents and required stages

Return type:str, str
Returns:The parent subdirectory, and a space-separated string of all required stage subdirectories. The subdirectory paths are relative to the overall job directory.
getStructForWriting()

Get the output Maestro structure derived from the output CMS system

Return type:schrodinger.Structure
Returns:The output Maestro structure
getStructure()

Get the starting structure for this step

Overrides the parent class to get the initial structure for this workflow if the Step has no parent.

Return type:schrodinger.structure.Structure or None
Returns:The starting structure for this step. None if input is not a structure.
getTrajectoryName()

Get the name of the output trajectory directory

Return type:str or None
Returns:The output trajectory directory name or None if this step does not create trajectories
log(msg, prefix=True, level=20)

Add a message to the parent workflow’s log file

Parameters:
  • msg (str) – The message to add
  • prefix (bool) – Whether to add information about the workflow and step name to the front of the message string
  • level (int) – A logging constant indicating the priority level of the message
monitorFiles()

Check for any requested files that need to be copied back immediately

periodicMaintenance()

This method is periodically called while the workflow is running

processOutput(output)

Process the output of a job during the finish part of the step

Parameters:output – The output of the job. Type may vary in subclasses
removeIncomingProperties(struct)

Remove properties on the structure that may have come from previous steps and that we do not want to propagate through this step

Parameters:struct (structure.Structure) – The structure to remove properties from
setKeywords(input, keystring)

Set the keywords for this job

Parameters:
  • input (jaguar_input.JaguarInput) – The JaguarInput object to set the keywords on
  • keystring (str) – Space separated keyword=value pairs. Each pair must contain an equals sign
setSubDir()

Determine the absolute path to this step’s subdirectory so that we can always access it no matter what the current directory is

start()

Start the job - create the input and write it, adding necessary output files to make sure they get copied back

write(writer, props=None, hierarchy=None)

Add the final structure for this step to the output structure file

Parameters:
  • writer (schrodinger.StructureWriter) – The writer to use to write the structure
  • props (dict) – A dictionary of property/value pairs to add to the property dictionary of this object.
  • hierarchy (list) – The project group hierarchy for this result - each item is a str
writeInput(struct)

Write the input file

Parameters:or None struct (structure.Structure) – The structure to write. If None it will write the input file.
class schrodinger.application.matsci.jwsteps.CustomTrajectoryStep(*args, maestro_in=False, **kwargs)

Bases: schrodinger.application.matsci.jwsteps.CustomCmsStep

A step for running custom scripts that output a .cms file and create trajectories

CAN_CREATE_TRAJECTORY = True
DRIVER_PATH = 'driver_dir/driver.py'
FLAGS = {}
FLAGS_ADD_DOUBLE_DASH = False
FLAGS_ADD_INPUT_NAME = True
FLAGS_ADD_JOB_NAME = True
FLAGS_ADD_TPP = False
FLAGS_INPUT_NAME_FLAG = ''
JOB_BASE = 'custom'
PROCS = 1
RESULTS_CLASS

alias of BaseDesmondResults

SAVE_PROPS = {}
SAVE_PROP_STARTS = {}
STEP_NAME = 'Custom'
__init__(*args, maestro_in=False, **kwargs)

Create a BaseDesmondStep instance

Parameters:maestro_in (bool) – If true, the class will write a Maestro input file (.maegz) rather than a CMS (.cms) file

See parent class for additional documentation

addParentalSubdirProperties(struct)

Add parental subdirectory properties to the structure

Parameters:struct (cms.Cms or schrodinger.structure.Structure) – The structure to add properties to
archiveSubDir()

Archive this step’s subdirectory and add it to the backend for copy back

calcsDone()

Check to see if the calculation finished

If finished and the job failed, self.ok will be set to False

Return type:bool
Returns:True if the calculation finished, False if not
canStart()

Check to see if this job can start - if the parent job(s) have finished successfully.

Return type:bool
Returns:True if the job can start, False if not
createCommand()

Create the command line

Return type:list
Returns:The command line in list form
Raises:JobCreationError – If the command cannot be created
createJob()

Create the job command and object

Return type:jaguarworkflows.RobustSubmissionJob
Returns:The job object to run Macromodel
createQJobFromCommand(cmd)

Create the JobDJ job from the list of command line arguments. The job will be set to run in the Step subdirectory.

Return type:jaguarworkflows.RobustSubmissionJob
Returns:A job object that can be added to JobDJ
finish()

Finish this step, including processing any output

finishProcessingJobControlJob()

Override the parent method to archive the directory if requested

getCMSSystem()

Get the output CMS system

Return type:cms.Cms
Returns:The output system
getInput(override_uhf=True, override_solvent=True)

Get the JaguarInput object for this step, setting the keywords as required.

Return type:None or jaguar_input.JaguarInput
Returns:None if an error occured, or the jaguar_input.JaguarInput object to use for this step
getInputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getOutput(quiet=False)

Read in the results of the calculation

Parameters:quiet (bool) – If True, no error messages will be printed. If False, (default) error messages will be printed. Also, if True, self.ok will not be set to False if the output file cannot be read.
Return type:None or list
Returns:None if the calculation failed, or a list of output structures from a successful calculation.
getOutputName()

Get the name of the output structure file

Return type:str
Returns:The output structure file name
getParentalSubdirectories()

Get the subdirectory names for parents and required stages

Return type:str, str
Returns:The parent subdirectory, and a space-separated string of all required stage subdirectories. The subdirectory paths are relative to the overall job directory.
getStructForWriting()

Get the output Maestro structure derived from the output CMS system

Return type:schrodinger.Structure
Returns:The output Maestro structure
getStructure()

Get the starting structure for this step

Overrides the parent class to get the initial structure for this workflow if the Step has no parent.

Return type:schrodinger.structure.Structure or None
Returns:The starting structure for this step. None if input is not a structure.
getTrajectoryName()

Get the name of the output trajectory directory

Return type:str or None
Returns:The output trajectory directory name or None if this step does not create trajectories
log(msg, prefix=True, level=20)

Add a message to the parent workflow’s log file

Parameters:
  • msg (str) – The message to add
  • prefix (bool) – Whether to add information about the workflow and step name to the front of the message string
  • level (int) – A logging constant indicating the priority level of the message
monitorFiles()

Check for any requested files that need to be copied back immediately

periodicMaintenance()

This method is periodically called while the workflow is running

processOutput(output)

Process the output of a job during the finish part of the step

Parameters:output – The output of the job. Type may vary in subclasses
removeIncomingProperties(struct)

Remove properties on the structure that may have come from previous steps and that we do not want to propagate through this step

Parameters:struct (structure.Structure) – The structure to remove properties from
setKeywords(input, keystring)

Set the keywords for this job

Parameters:
  • input (jaguar_input.JaguarInput) – The JaguarInput object to set the keywords on
  • keystring (str) – Space separated keyword=value pairs. Each pair must contain an equals sign
setSubDir()

Determine the absolute path to this step’s subdirectory so that we can always access it no matter what the current directory is

start()

Start the job - create the input and write it, adding necessary output files to make sure they get copied back

write(writer, props=None, hierarchy=None)

Add the final structure for this step to the output structure file

Parameters:
  • writer (schrodinger.StructureWriter) – The writer to use to write the structure
  • props (dict) – A dictionary of property/value pairs to add to the property dictionary of this object.
  • hierarchy (list) – The project group hierarchy for this result - each item is a str
writeInput(struct)

Write the input file

Parameters:or None struct (structure.Structure) – The structure to write. If None it will write the input file.