Package schrodinger :: Package application :: Package matsci :: Module jaguarworkflows
[hide private]
[frames] | no frames]

Module jaguarworkflows

Workflow and Step classes to aid in running a series of Jaguar jobs.

For each molecule, a Workflow object is established. The Steps the Workflow will run depend on the options chosen. Some Steps depend on other Steps to finish before starting. It is the job of the Workflow to submit jobs when all the required dependencies have finished successfully.

Workflow objects submit jobs to a JobDJ queue.

Copyright Schrodinger, LLC. All rights reserved.

Classes [hide private]
  JaguarFailedException
An exception that is thrown when either reading the Jaguar output file fails for some reason, or a successful reading shows that Jaguar failed.
  RobustSubmissionJob
A JobControlJob object that will retry to submit multiple times for fizzled, jobs (if the queue setting is such) but will not attempt to retry a job that died.
  Results
A low memory results object - because the driver ends up holding on to results for a long time and can be simultaneously holding results for a large number of calculations, we want to keep the memory footprint of each result low.
  Step
Manages the start, monitoring and finish of a single step in a workflow
  FrozenStep
A step that does not perform geometry optimization but just runs a calculation at the geometry of the parent step.
  OptStep
A step that performs a geometry optimization
  WorkFlow
A class to hold the data for and shepherd a single structure through all the jobs required to gather its data.
Functions [hide private]
bool
is_ompi_allowed()
Check to see if the OMPI feature flag is enabled
int
get_jaguar_max_atoms()
Get maximum number of atoms currently supported by Jaguar
dict
keyword_string_to_dict(keystring)
Return a dictionary whose keys are keywords and values are keyword values
str
keyword_dict_to_string(keydict)
Return a string of keywords specified by keydict.
schrodinger.application.jaguar.output.JaguarOutput
get_jaguar_output(path, step_info='')
Get a JaguarOutput object for the given path
schrodinger.structure.Structure
get_jaguar_output_structure(path)
Get the structure associated with the .out results file indicated by path.
schrodinger.structure.Structure
get_jaguar_out_mae(path)
Get the output Maestro structure for the jaguar calculation given by path
 
add_jaguar_files_to_jc_backend(base_name, backend=None, spm=False, others=None, restart=True)
Add the typical jaguar files for a job to the backend so they are returned to the working directory.
jobclass
create_job(options, filename, jobclass=<class 'schrodinger.application.matsci.jaguarworkflows.RobustS..., serial_only=False)
Create a job of class jobclass that will run the Jaguar input file filename with options
schrodinger.job.queue.JobDJ
create_queue(options=None, host=None, **kwargs)
Create a JobDJ job with some default values and the given keyword arguments Current defaults:
bool
run_workflows(jobq, active_workflows, writer)
Run all the workflows and return when they are finished.
Variables [hide private]
  __doc__ = ...
  _version = '$Revision 0.0 $'
  UNFINISHED_JOB_STATES = set(['active', 'waiting'])
  HARTREE_TO_J = 4.35974465e-18
  HARTREE_TO_KCAL = 627.509473778
  HARTREE_TO_EV = 27.21138506
  GAS_PHASE_ENERGY_PROP = 'r_j_Gas_Phase_Energy'
  SOLUTION_ENERGY_PROP = 'r_j_Solution_Phase_Energy'
  GAS_EXCITED_ENERGY_PROP = 'r_j_Gas_Phase_Excited_Energy_1'
  SOL_EXCITED_ENERGY_PROP = 'r_j_Solution_Phase_Excited_Energy_1'
  AUTOHOST = 'autohost'
  __package__ = 'schrodinger.application.matsci'
Function Details [hide private]

is_ompi_allowed()

 

Check to see if the OMPI feature flag is enabled

Returns: bool
If the flag is enabled

get_jaguar_max_atoms()

 

Get maximum number of atoms currently supported by Jaguar

Returns: int
Maximum number of atoms

keyword_string_to_dict(keystring)

 

Return a dictionary whose keys are keywords and values are keyword values

Parameters:
  • keystring (str) - The keywords are taken from this string - keywords must be in the keyword=value format and whitespace delimited.
Returns: dict
Dictionary of keyword/value pairs
Raises:
  • ValueError - if any tokens do not match the keyword=value format

keyword_dict_to_string(keydict)

 

Return a string of keywords specified by keydict.

Parameters:
  • keydict (dict) - Dictionary - keys are Jaguar keywords, values are keyword values of str type
Returns: str
A string of space-separated keyword=value pairs

get_jaguar_output(path, step_info='')

 

Get a JaguarOutput object for the given path

Parameters:
  • path (str) - The path to the output file. May be just the base name of the output file (file instead of file.out)
  • step_info (str) - The step name - optional, and only used to create more informative error messages.
Returns: schrodinger.application.jaguar.output.JaguarOutput
The JaguarOutput object for path
Raises:

get_jaguar_output_structure(path)

 

Get the structure associated with the .out results file indicated by path.

Parameters:
  • path (str) - The path to the Jaguar output file - does not need to include the .out part of the output file name - can be absolute or relative
Returns: schrodinger.structure.Structure
The output structure object for the indicated .out file

get_jaguar_out_mae(path)

 

Get the output Maestro structure for the jaguar calculation given by path

Parameters:
  • path (str) - The path to the desired .mae file or the base name of the Jaguar job
Returns: schrodinger.structure.Structure
The output structure, or None if the file doesn't exist

add_jaguar_files_to_jc_backend(base_name, backend=None, spm=False, others=None, restart=True)

 

Add the typical jaguar files for a job to the backend so they are returned to the working directory.

Parameters:
  • base_name (str) - The base name of the files
  • backend (schrodinger.job.jobcontrol._Backend) - The jobcontrol backend (from jobcontrol.get_backend()). If not supplied, an attempt will be made to obtain one.
  • spm (bool) - Whether to add the _uvv_singlet.spm file
  • others (list) - List of additional extensions for files named base_name.extension that should be added to the job control backend. For example: others=['_vib.spm', '_vcd.spm'] will add base_name_vib.spm and basename_vcd.spm. Note that any extensions need to include the leading '.'.
  • restart (bool) - Whether to include the .0x.in file. These files are very large, so it's best not to keep them unless necessary.

create_job(options, filename, jobclass=<class 'schrodinger.application.matsci.jaguarworkflows.RobustS..., serial_only=False)

 

Create a job of class jobclass that will run the Jaguar input file filename with options

Parameters:
  • options (argparse.Namespace) - The input options.
  • filename (str) - The name of the input file
  • jobclass (schrodinger.job.JobControlJob) - The class used to create the job
  • serial_only (bool) - Whether to force the job to run in serial. If False (default), parallel options will be used if available in options.
Returns: jobclass
The created job

create_queue(options=None, host=None, **kwargs)

 

Create a JobDJ job with some default values and the given keyword arguments Current defaults:

  • verbosty: normal
  • max_failures: NOLIMIT
  • max_retries: 3
Parameters:
  • options (argparse Namespace object) - the hostlist will be formed from the options.host property if not supplied by the host argument
  • host (str) - The host string to use to create the queue

    All other keyword arguments will be passed on to the JobDJ object

Returns: schrodinger.job.queue.JobDJ
The JobDJ object

run_workflows(jobq, active_workflows, writer)

 

Run all the workflows and return when they are finished. At the end of this function, active_workflows will be empty. Returns True if at least one job did not fail (or there were no jobs to run), otherwise False.

Parameters:
Returns: bool
True if at least one job did not fail, otherwise False

Variables Details [hide private]

__doc__

Value:
"""
Workflow and Step classes to aid in running a series of Jaguar jobs.

For each molecule, a Workflow object is established. The Steps the Wor\
kflow will
run depend on the options chosen.  Some Steps depend on other Steps to\
 finish
before starting.  It is the job of the Workflow to submit jobs when al\
...