schrodinger.application.matsci.jwsteps module¶
Steps for use in Workflows
Copyright Schrodinger, LLC. All rights reserved.
-
schrodinger.application.matsci.jwsteps.
import_driver
(dpath)¶
-
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.
-
__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 successfully
Return type: bool Returns: True if the calculation finished and was successful, 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, **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_ADD_JOB_NAME
= True¶
-
FLAGS_ADD_TPP
= False¶
-
__init__
(*args, procs=1, tag=None, flags=None, archive=False, monitor_globs=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).
See parent class for additional documentation
-
writeInput
(struct)¶ Write the input structure file
Parameters: struct (structure.Structure) – The structure to write
-
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 Returns: The starting structure 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.
-
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
-
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 successfully
Return type: bool Returns: True if the calculation finished and was successful, 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
-
FLAGS_ADD_TPP
= False¶
-
PROCS
= 1¶
-
RESULTS_CLASS
¶ alias of
BaseResults
-
archiveSubDir
()¶ Archive this step’s subdirectory and add it to the backend for copy back
-
calcsDone
()¶ Check to see if the calculation finished successfully
Return type: bool Returns: True if the calculation finished and was successful, 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
-
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
-
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 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
-
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, **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
-
FLAGS_ADD_INPUT_NAME
= True¶
-
FLAGS_ADD_JOB_NAME
= True¶
-
FLAGS_ADD_TPP
= False¶
-
PROCS
= 1¶
-
RESULTS_CLASS
¶ alias of
BaseResults
-
__init__
(*args, procs=1, tag=None, flags=None, archive=False, monitor_globs=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).
See parent class for additional documentation
-
archiveSubDir
()¶ Archive this step’s subdirectory and add it to the backend for copy back
-
calcsDone
()¶ Check to see if the calculation finished successfully
Return type: bool Returns: True if the calculation finished and was successful, 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
-
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.
-
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 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
-
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 structure file
Parameters: struct (structure.Structure) – The structure to write
-
-
class
schrodinger.application.matsci.jwsteps.
BaseMetaJaguarWorkflowStep
(*args, procs=1, tag=None, flags=None, archive=False, monitor_globs=None, **kwargs)¶ Bases:
schrodinger.application.matsci.jwsteps.BaseStep
Base Step for MatSci workflows that themselves run Jaguar subjobs
-
FLAGS_ADD_TPP
= True¶
-
DRIVER_PATH
= 'driver_dir/driver.py'¶
-
FLAGS
= {}¶
-
FLAGS_ADD_INPUT_NAME
= True¶
-
FLAGS_ADD_JOB_NAME
= True¶
-
JOB_BASE
= 'base'¶
-
PROCS
= 1¶
-
RESULTS_CLASS
¶ alias of
BaseResults
-
STEP_NAME
= 'Base Step'¶
-
__init__
(*args, procs=1, tag=None, flags=None, archive=False, monitor_globs=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).
See parent class for additional documentation
-
archiveSubDir
()¶ Archive this step’s subdirectory and add it to the backend for copy back
-
calcsDone
()¶ Check to see if the calculation finished successfully
Return type: bool Returns: True if the calculation finished and was successful, 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
-
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
-
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 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
-
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 structure file
Parameters: struct (structure.Structure) – The structure to write
-
-
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'}¶
-
__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
-
FLAGS_ADD_INPUT_NAME
= True¶
-
FLAGS_ADD_JOB_NAME
= True¶
-
FLAGS_ADD_TPP
= True¶
-
PROCS
= 1¶
-
RESULTS_CLASS
¶ alias of
BaseResults
-
archiveSubDir
()¶ Archive this step’s subdirectory and add it to the backend for copy back
-
calcsDone
()¶ Check to see if the calculation finished successfully
Return type: bool Returns: True if the calculation finished and was successful, 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
-
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
-
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 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
-
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 structure file
Parameters: struct (structure.Structure) – The structure to write
-
-
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¶
-
__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
-
processOutput
(output)¶ Retrieve the heat of formation information from the output structure
Parameters: output (list) – A list with the output structure as the first item
-
FLAGS_ADD_INPUT_NAME
= True¶
-
FLAGS_ADD_TPP
= True¶
-
RESULTS_CLASS
¶ alias of
BaseResults
-
archiveSubDir
()¶ Archive this step’s subdirectory and add it to the backend for copy back
-
calcsDone
()¶ Check to see if the calculation finished successfully
Return type: bool Returns: True if the calculation finished and was successful, 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
-
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.
-
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 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
-
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 structure file
Parameters: struct (structure.Structure) – The structure to write
-
-
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
-
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
-
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
-
DRIVER_PATH
= 'driver_dir/driver.py'¶
-
FLAGS
= {}¶
-
FLAGS_ADD_INPUT_NAME
= True¶
-
FLAGS_ADD_JOB_NAME
= True¶
-
FLAGS_ADD_TPP
= False¶
-
JOB_BASE
= 'base'¶
-
PROCS
= 1¶
-
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 successfully
Return type: bool Returns: True if the calculation finished and was successful, 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
-
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.
-
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 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
-
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 structure file
Parameters: struct (structure.Structure) – The structure to write
-
-
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
-
FLAGS_ADD_INPUT_NAME
= True¶
-
FLAGS_ADD_JOB_NAME
= True¶
-
FLAGS_ADD_TPP
= False¶
-
PROCS
= 1¶
-
RESULTS_CLASS
¶ alias of
BaseDesmondResults
-
archiveSubDir
()¶ Archive this step’s subdirectory and add it to the backend for copy back
-
calcsDone
()¶ Check to see if the calculation finished successfully
Return type: bool Returns: True if the calculation finished and was successful, 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
-
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.
-
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 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
-
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 structure file
Parameters: struct (structure.Structure) – The structure to write
-
-
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
-
FLAGS_ADD_INPUT_NAME
= True¶
-
FLAGS_ADD_JOB_NAME
= True¶
-
FLAGS_ADD_TPP
= False¶
-
PROCS
= 1¶
-
RESULTS_CLASS
¶ alias of
BaseDesmondResults
-
archiveSubDir
()¶ Archive this step’s subdirectory and add it to the backend for copy back
-
calcsDone
()¶ Check to see if the calculation finished successfully
Return type: bool Returns: True if the calculation finished and was successful, 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
-
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.
-
getStructForWriting
()¶ Get the output Maestro structure derived from the output CMS system
Return type: schrodinger.Structure
Returns: The output Maestro 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 structure file
Parameters: struct (structure.Structure) – The structure to write
-
-
class
schrodinger.application.matsci.jwsteps.
MolecularDynamicsStep
(*args, analysis=False, **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¶
-
__init__
(*args, analysis=False, **kwargs)¶ Create a MolecularDynamicsStep object
Parameters: analysis (bool) – Whether to perform a trajectory analysis as the last stage 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
Parameters: struct (structure.Structure) – The structure to write
-
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_INPUT_NAME
= True¶
-
FLAGS_ADD_JOB_NAME
= True¶
-
FLAGS_ADD_TPP
= False¶
-
PROCS
= 1¶
-
RESULTS_CLASS
¶ alias of
BaseDesmondResults
-
archiveSubDir
()¶ Archive this step’s subdirectory and add it to the backend for copy back
-
calcsDone
()¶ Check to see if the calculation finished successfully
Return type: bool Returns: True if the calculation finished and was successful, 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
-
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
-
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 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
-
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.
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, '-gpu': None, '-job_order': 'max_first', '-load_temp_structure': 200.0, '-max_convergence_retries': 5, '-max_temp': 600, '-min_temp': 200, '-temp_step': 25}¶
-
FLAGS_ADD_INPUT_NAME
= False¶
-
FLAGS_ADD_JOB_NAME
= False¶
-
__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
-
FLAGS_ADD_TPP
= False¶
-
PROCS
= 1¶
-
RESULTS_CLASS
¶ alias of
BaseDesmondResults
-
archiveSubDir
()¶ Archive this step’s subdirectory and add it to the backend for copy back
-
calcsDone
()¶ Check to see if the calculation finished successfully
Return type: bool Returns: True if the calculation finished and was successful, 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
-
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
-
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 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
-
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. 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.
-
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
Parameters: struct (structure.Structure) – The structure to write
-