schrodinger.application.matsci.reaction_workflow_utils module

Utilities for reaction workflows.

Copyright Schrodinger, LLC. All rights reserved.

class schrodinger.application.matsci.reaction_workflow_utils.TempData(temp_start, temp_step, temp_n)

Bases: tuple

__contains__(key, /)

Return key in self.

__len__()

Return len(self).

count(value, /)

Return number of occurrences of value.

index(value, start=0, stop=9223372036854775807, /)

Return first index of value.

Raises ValueError if the value is not present.

temp_n

Alias for field number 2

temp_start

Alias for field number 0

temp_step

Alias for field number 1

class schrodinger.application.matsci.reaction_workflow_utils.PressData(press_start, press_step, press_n)

Bases: tuple

__contains__(key, /)

Return key in self.

__len__()

Return len(self).

count(value, /)

Return number of occurrences of value.

index(value, start=0, stop=9223372036854775807, /)

Return first index of value.

Raises ValueError if the value is not present.

press_n

Alias for field number 2

press_start

Alias for field number 0

press_step

Alias for field number 1

schrodinger.application.matsci.reaction_workflow_utils.get_idxs_marked_atoms(st, prop)

Return a list of indices of atoms in the given structure that have the given property defined.

Parameters
Return type

list

Returns

contains indices of atoms

schrodinger.application.matsci.reaction_workflow_utils.get_restrain_atom_idxs(st)

Return a list of indices of restrain atoms in the given structure.

Parameters

st (schrodinger.structure.Structure) – the structure

Return type

list

Returns

contains indices of restrain atoms

exception schrodinger.application.matsci.reaction_workflow_utils.InvalidInput

Bases: Exception

__init__(*args, **kwargs)

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

args
with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

schrodinger.application.matsci.reaction_workflow_utils.get_idx_groups(text)

Get index groups from the given string.

Parameters

text (str) – the string

Raise

InvalidInput if there is a formatting issue

Return type

list

Returns

contains list of indices

schrodinger.application.matsci.reaction_workflow_utils.get_restrain_distance_idxs(st)

Return a list of lists of indices of restrain distances in the given structure.

Parameters

st (schrodinger.structure.Structure) – the structure

Return type

list

Returns

contains lists of restrain distances

schrodinger.application.matsci.reaction_workflow_utils.get_restrain_angle_idxs(st)

Return a list of lists of indices of restrain angles in the given structure.

Parameters

st (schrodinger.structure.Structure) – the structure

Return type

list

Returns

contains lists of restrain angles

schrodinger.application.matsci.reaction_workflow_utils.get_restrain_dihedral_idxs(st)

Return a list of lists of indices of restrain dihedrals in the given structure.

Parameters

st (schrodinger.structure.Structure) – the structure

Return type

list

Returns

contains lists of restrain dihedrals

schrodinger.application.matsci.reaction_workflow_utils.get_idx_groups_str(idx_groups)

Get a string representation of the given index groups.

Parameters

idx_groups (list) – contains lists of indices

Return type

str

Returns

the string

schrodinger.application.matsci.reaction_workflow_utils.get_jaguar_keywords_list(jaguar_keywords_dict)

Return the Jaguar keywords list from the given dict.

Parameters

jaguar_keywords_dict (OrderedDict) – the Jaguar keywords dict

Return type

list

Returns

the Jaguar keywords list

schrodinger.application.matsci.reaction_workflow_utils.type_cast_seed(seed)

Type cast the seed.

Parameters

seed (str or unicode) – seed for random number generator

Return type

int

Returns

the seed

schrodinger.application.matsci.reaction_workflow_utils.type_cast_jaguar_keywords(jaguar_keywords, reserved_keys={'ifreq', 'igeopt', 'itrvec', 'molchg', 'multip', 'nhesref', 'npress', 'ntemp', 'press', 'press_step', 'tmpini', 'tmpstp'}, exception_type=<class 'argparse.ArgumentTypeError'>)

Type cast the Jaguar keywords.

Parameters
  • jaguar_keywords (str or unicode or list) – the Jaguar keywords, a whitespace delimited string of ‘<key>=<value>’ tokens or a list of such tokens

  • reserved_keys (set) – contains reserved Jaguar keys

  • exception_type (type) – the exception type to raise if invalid

Return type

OrderedDict

Returns

the Jaguar keywords OrderedDict

schrodinger.application.matsci.reaction_workflow_utils.check_ff_assignment(sts, ffld_name='S-OPLS')

Check the assignment of the given force field to the given structures.

Parameters
  • sts (list) – contains schrodinger.structure.Structure

  • ffld_name (str) – the force field name

Raises

ValueError – if invalid

schrodinger.application.matsci.reaction_workflow_utils.get_molecular_weight(st, idxs=None)

Return the molecular weight (amu) taken over the given atom indices in the given structure.

Parameters
Return type

float

Returns

the molecular weight (amu)

schrodinger.application.matsci.reaction_workflow_utils.check_conformers(conformers, conformers_group_hash)

Check conformers. If the given structures are conformers then their atom numberings are all changed in place so that they are equivalent to that of the first of the given conformers.

Parameters
  • conformers (list) – contains schrodinger.structure.Structure of conformers

  • conformers_group_hash (str) – a group hash

Raises

ValueError – if invalid

schrodinger.application.matsci.reaction_workflow_utils.check_reaction_wf_structures(rxn_sts, ffld_name=None, mass_conserved=False, keep_atoms_only=False)

Check the given reaction workflow structues.

Parameters
  • rxn_sts (str or list) – the reaction workflow structures, a file name or list of schrodinger.structure.Structure

  • ffld_name (str) – the force field name to use when optionally checking its assignment to the given structures

  • mass_conserved (bool) – check that mass is conserved (see also keep_atoms_only kwarg)

  • keep_atoms_only (bool) – specifies that only keep atoms be considered when checking if mass is conserved (see also mass_conserved kwarg)

Raises

ValueError – if invalid

schrodinger.application.matsci.reaction_workflow_utils.type_cast_reaction_wf_input(reaction_wf_input, exception_type=<class 'argparse.ArgumentTypeError'>, mass_conserved=False)

Type cast the reaction workflow input.

Parameters
  • reaction_wf_input (str or unicode or list) – the reaction workflow input, a file name or list of schrodinger.structure.Structure

  • exception_type (type) – the exception type to raise if invalid

  • mass_conserved (bool) – check that mass is conserved

Return type

str or list

Returns

the reaction workflow input, a file name or list of schrodinger.structure.Structure

schrodinger.application.matsci.reaction_workflow_utils.bin_structures_by_property(sts, key='s_matsci_Reaction_Workflow_Conformers_Group', inner_key=None)

Return a dictionary of structures binned by a property with the given key. If inner_key is provided then return a dictionary of dictionaries of structures with the inner dictionaries keyed by inner_key and outer dictionaries keyed by key.

Parameters
  • sts (list) – the structures

  • key (str) – the key for the property by which to bin

  • inner_key (str) – additionally bin by this inner_key

Return type

dict or dict of dict

Returns

dictionary where keys are properties and values are lists of structures or dictionary of dictionaries where the outer dictionary is keyed by key and inner dictionary is keyed by inner_key and values of the inner dictionary are lists of structures

schrodinger.application.matsci.reaction_workflow_utils.append_unique_conformers(sts, unique_sts, rmsd_thresh=0.1, n_conformers=None)

Append any unique conformers found in the given structures to the given unique structures.

Parameters
  • sts (list) – schrodinger.structure.Structure candidate conformers

  • unique_sts (list) – schrodinger.structure.Structure unique conformers

  • rmsd_thresh (float) – the maximum allowable RMSD (Ang.) between two structures before they can be considered different conformers

  • n_conformers (int or None) – number of sought conformers or None if there isn’t one

schrodinger.application.matsci.reaction_workflow_utils.get_conformers(sts, n_conformers, pp_rel_energy_thresh=None, rmsd_thresh=0.1)

Return either (1) at most the given number of conformers or (2) all conformers with relative energies less than the given value. If (2) then an attempt is made to return at least the given number of conformers even if that means having relative energies larger than the given value.

Parameters
  • sts (list) – schrodinger.structure.Structure conformers

  • n_conformers (int) – either the maximum number of conformers if pp_rel_energy_thresh is None or a target minimum number of conformers if pp_rel_energy_thresh is given

  • pp_rel_energy_thresh (None or float) – relative energy threshold in kJ/mol, if None then only the n_conformers lowest energy conformers are returned

  • rmsd_thresh (float) – the maximum allowable RMSD (Ang.) between two structures before they can be considered different conformers

Return type

list

Returns

schrodinger.structure.Structure conformers

Postprocess a MacroModel conformational search. Rewrite the given MacroModel out *mae file so that the conformers in it have properly updated properties.

Parameters
  • conformer (schrodinger.structure.Structure) – a representative conformer that seeded the search being postprocessed

  • out_mae_path (str) – the file path to the MacroModel out *mae file

Perform a restrained MacroModel conformational search seeded with the given conformers.

Parameters
  • conformers (list) – schrodinger.structure.Structure conformers used to seed the search

  • n_conformers (int) – number of sought conformers

  • restrain_idxs (list) – indices to restrain

  • seed (int) – seed for random number generator

  • launch_dir (str) – a launch subdirectory to use for the job

  • base_name (str) – a base name to use for file and job naming

  • job_dj (queue.JobDJ) – if an instance is given then add the current job and return

  • clean (bool) – if not given a job_dj then this option controls cleaning up after the job that was run

  • ffld_name (str) – the force field name

  • rel_energy_thresh (float) – relative energy threshold in kJ/mol, structures with energies (relative to that of the global minimum structure) greater than this value are not considered conformers, used in MacroModel

  • rmsd_thresh (float) – the maximum allowable RMSD (Ang.) between two structures before they can be considered different conformers

  • pp_rel_energy_thresh (None or float) – relative energy threshold in kJ/mol, if None then only the n_conformers lowest energy conformers are returned, used in postprocessing MacroModel results

Raises

RuntimeError – if the MacroModel job fails

Return type

list

Returns

schrodinger.structure.Structure conformers, could be less than n_conformers

schrodinger.application.matsci.reaction_workflow_utils.get_int_tuples_from_str_property(st, key, separator=';')

Return a list of tuples of integers from the given string structure property.

Parameters
  • st (schrodinger.structure.Structure) – the structure

  • key (str) – the property key

  • separator (str) – the tuple separator used for the given property

Return type

list

Returns

contains tuples of integers

schrodinger.application.matsci.reaction_workflow_utils.update_index_properties(st, old_to_new)

Update the index properties of the given structure.

Parameters
  • st (structure.Structure) – the structure

  • old_to_new (dict) – a map of old-to-new atom indices

schrodinger.application.matsci.reaction_workflow_utils.get_core_idxs(st)

Return a set of atom indices for the core of the given structure.

Parameters

st (schrodinger.structure.Structure) – the structure

Return type

set

Returns

core atom indices

schrodinger.application.matsci.reaction_workflow_utils.representative_conformers(sibling_conformers_dict, specific_sibling_group=None)

Generator over representative conformers.

Parameters
  • sibling_conformers_dict (dict) – dictionary of dictionaries where the outer dictionary is keyed by sibling and inner dictionary is keyed by conformer and values of the inner dictionary are lists of structures

  • specific_sibling_group (str or None) – if not None then restrict conformers to be generated only over this sibling group

Return type

tuple

Returns

the sibling and conformer group names and the representative conformer or None if one doesn’t exist

class schrodinger.application.matsci.reaction_workflow_utils.RepresentativeConformersMixin

Bases: object

representativeConformers(sibling_conformers_dict=None, specific_sibling_group=None)

Generator over representative conformers.

Parameters
  • sibling_conformers_dict (dict or None) – dictionary of dictionaries where the outer dictionary is keyed by sibling and inner dictionary is keyed by conformer and values of the inner dictionary are lists of structures, if None then the class attr is used

  • specific_sibling_group (str or None) – if not None then restrict conformers to be generated only over this sibling group

Return type

tuple

Returns

the sibling and conformer group names and the representative conformer

class schrodinger.application.matsci.reaction_workflow_utils.ReactionWorkflowFile(rxnwf_file)

Bases: schrodinger.application.matsci.reaction_workflow_utils.RepresentativeConformersMixin

Manage a reaction workflow file.

__init__(rxnwf_file)

Create an instance.

Parameters

rxnwf_file (str) – the reaction workflow file

getReactantsSiblingGroupName()

Return the reactants sibling group name.

Return type

str

Returns

the reactants sibling group name

getReactantsConformersDict()

Return the reactants conformers dictionary.

Return type

dict

Returns

keys are conformer group names, values are lists of structure.Structure

representativeConformers(sibling_conformers_dict=None, specific_sibling_group=None)

Generator over representative conformers.

Parameters
  • sibling_conformers_dict (dict or None) – dictionary of dictionaries where the outer dictionary is keyed by sibling and inner dictionary is keyed by conformer and values of the inner dictionary are lists of structures, if None then the class attr is used

  • specific_sibling_group (str or None) – if not None then restrict conformers to be generated only over this sibling group

Return type

tuple

Returns

the sibling and conformer group names and the representative conformer

class schrodinger.application.matsci.reaction_workflow_utils.ReactionWorkflowEnergyAnalysis(rxnwf_file, energy_keys)

Bases: schrodinger.application.matsci.reaction_workflow_utils.ReactionWorkflowFile

Manage a reaction workflow energy analysis.

__init__(rxnwf_file, energy_keys)

Create an instance.

Parameters
  • rxnwf_file (str) – the reaction workflow file

  • energy_keys (list) – structure property energy keys to consider, if it is temperature dependent then include the temperature (K) as a number followed by ‘K’ in the key and the corresponding energy must be in supported units (au, kcal/mol, eV, kJ/mol) and must be present in the key as ‘(<units>)’

static getHeader(energy_key)

Return a header for the given energy key.

Parameters

energy_key (str) – structure property energy key

Return type

str

Returns

the header

static getTemperature(energy_key)

Return the temperature (K) for the given energy key.

Parameters

energy_key (str) – structure property energy key

Return type

float, None

Returns

the temperature (K) if there is one

static getUnits(energy_key)

Return the units for the given energy key.

Parameters

energy_key (str) – structure property energy key

Return type

str, None

Returns

the units if there is one

static getKcalPerMolConversion(energy_key)

Return the kcal/mol conversion factor for the given energy key.

Parameters

energy_key (str) – structure property energy key

Return type

float, None

Returns

the kcal/mol conversion factor if there is one

getConfAvgRelEnergies(include_x_terms=True, only_lowest_energy=False)

Return the conformationally averaged energies relative to that of the reactants.

Parameters
  • include_x_terms (bool) – whether to include cross terms in the conformational averaging

  • only_lowest_energy (bool) – use only the lowest energy conformer rather than averaging over conformers

Raises

ReactionWorkflowException – if there is an issue

Return type

dict

Returns

keys are sibling group names, values are dicts with energy keys as keys and energy values as values

getGraph()

Return a NetworkX directed graph of the reaction workflow energy level diagram.

Return type

networkx.DiGraph

Returns

nodes are sibling group names and have energy dictionary kwargs, edges are directed (parent, child) pairs

static getOrderedNodeNames(graph)

Return an ordered list of node names from the given graph.

Parameters

graph (networkx.DiGraph) – nodes are sibling group names and have energy dictionary kwargs, edges are directed (parent, child) pairs

Return type

list

Returns

contains ordered node names

writeDataFiles()

Write data files.

getReactantsConformersDict()

Return the reactants conformers dictionary.

Return type

dict

Returns

keys are conformer group names, values are lists of structure.Structure

getReactantsSiblingGroupName()

Return the reactants sibling group name.

Return type

str

Returns

the reactants sibling group name

representativeConformers(sibling_conformers_dict=None, specific_sibling_group=None)

Generator over representative conformers.

Parameters
  • sibling_conformers_dict (dict or None) – dictionary of dictionaries where the outer dictionary is keyed by sibling and inner dictionary is keyed by conformer and values of the inner dictionary are lists of structures, if None then the class attr is used

  • specific_sibling_group (str or None) – if not None then restrict conformers to be generated only over this sibling group

Return type

tuple

Returns

the sibling and conformer group names and the representative conformer

schrodinger.application.matsci.reaction_workflow_utils.get_stage_idx(astr)

Return the stage index from the given string.

Parameters

astr (str) – the string

Return type

int

Returns

the stage index

schrodinger.application.matsci.reaction_workflow_utils.check_TS_vetting(out_file)

Return False if TS vetting failed in the given Jaguar out file.

Parameters

out_file (str) – Jaguar out file

Return type

bool

Returns

False if TS vetting failed

schrodinger.application.matsci.reaction_workflow_utils.get_sub_host_str(obj, sub_host_attr, n_procs_attr)

Return the command line -HOST argument for using a subhost.

Parameters
  • obj (object) – the object, possibly having the given attributes defined

  • sub_host_attr (str) – the attribute for the subhost

  • n_procs_attr (str) – the attribute for the number of processors

exception schrodinger.application.matsci.reaction_workflow_utils.ConformationalSearchException

Bases: Exception

__init__(*args, **kwargs)

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.reaction_workflow_utils.ConformationalSearchMixin

Bases: object

Manage a MacroModel conformational search.

static genEtaRotamers(sibling_conformers_dict, only_rings=True)

Generate eta-rotamers.

Parameters
  • sibling_conformers_dict (dict) – dictionary of dictionaries where the outer dictionary is keyed by sibling and inner dictionary is keyed by conformer and values of the inner dictionary are lists of structures

  • only_rings (bool) – if True then only allow rotation of eta-bound rings, if False then also allow rotation of ligands where the eta-bound motif is acyclic, for example ethene, etc.

Return type

dict

Returns

dictionary of dictionaries where the outer dictionary is keyed by sibling and inner dictionary is keyed by conformer and values of the inner dictionary are lists of structures, for eta-complexes incoming conformers have been replaced with all possible rotamers

createConformers(sts)

Create the conformers.

Parameters

sts (list) – contains schrodinger.structure.Structure, the structures for which to create conformers, each unique type of structure should have a unique conformer group structure property keyed by CONFORMERS_GROUP_KEY, structures sharing the same CONFORMERS_GROUP_KEY should be conformers of the same structure and are used to seed the conformational search, an additional optional SIBLING_GROUP_KEY can be used to distinguish related groups of conformers, atoms marked with the property RESTRAINED_ATOM_KEY will be restrained

Raises

ConformationalSearchException – if there is an issue

exception schrodinger.application.matsci.reaction_workflow_utils.JMSWFException

Bases: Exception

__init__(*args, **kwargs)

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.reaction_workflow_utils.JMSWFMixin

Bases: schrodinger.application.matsci.reaction_workflow_utils.RepresentativeConformersMixin

Manage a Jaguar multistage workflow.

runJMSWF()

Run the Jaguar multistage workflow.

Raises

JMSWFException – if there is an issue

prepareJMSWFOutput()

Prepare Jaguar multistage workflow output.

checkJMSWFOutputs(out_files)

Return False if any of the given Jaguar out files should be treated as a failure.

Parameters

out_files (list) – contains Jaguar output files

Return type

bool

Returns

False if any of the given Jaguar out files should be treated as a failure

setRepresentatives()

Associated with each structure is output data from potentially multiple Jaguar multistage workflow stages. Pick representative structures to carry the data for all stages.

Raises

JMSWFException – if there is an issue

finalizeJMSWFOutput()

Finalize the Jaguar multistage workflow output.

Return type

str

Returns

the Jaguar multistage workflow output file

representativeConformers(sibling_conformers_dict=None, specific_sibling_group=None)

Generator over representative conformers.

Parameters
  • sibling_conformers_dict (dict or None) – dictionary of dictionaries where the outer dictionary is keyed by sibling and inner dictionary is keyed by conformer and values of the inner dictionary are lists of structures, if None then the class attr is used

  • specific_sibling_group (str or None) – if not None then restrict conformers to be generated only over this sibling group

Return type

tuple

Returns

the sibling and conformer group names and the representative conformer

class schrodinger.application.matsci.reaction_workflow_utils.DescriptorsMixin

Bases: object

Manage running descriptors.

DEFAULT_JOB_NAME = 'automatic_reaction_workflow'
runDescriptors(files)

Run descriptors.

Parameters

files (list) – the files on which to run descriptors

exception schrodinger.application.matsci.reaction_workflow_utils.ReactionWorkflowException

Bases: Exception

__init__(*args, **kwargs)

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.reaction_workflow_utils.ReactionWorkflow(reaction_wf_input_sts, n_conformers=5, pp_rel_energy_thresh=None, seed=1234, only_rings=True, return_csearch_files=False, jaguar_keywords={'basis': 'LACVP**', 'dftname': 'B3LYP', 'iuhf': '1'}, temp_data=None, press_data=None, return_jaguar_files=False, anharm=False, return_anharm_files=False, anharm_max_freq=300, anharm_factor_data=None, rate_constants=False, return_rate_constant_files=False, wigner_tunnel_corr=False, extra_stages_file=None, max_i_freq=0, n_jmswf_subjobs=1, subhost=None, tpp=1, logger=None)

Bases: schrodinger.application.matsci.reaction_workflow_utils.ConformationalSearchMixin, schrodinger.application.matsci.reaction_workflow_utils.JMSWFMixin

Manage a reaction workflow.

__init__(reaction_wf_input_sts, n_conformers=5, pp_rel_energy_thresh=None, seed=1234, only_rings=True, return_csearch_files=False, jaguar_keywords={'basis': 'LACVP**', 'dftname': 'B3LYP', 'iuhf': '1'}, temp_data=None, press_data=None, return_jaguar_files=False, anharm=False, return_anharm_files=False, anharm_max_freq=300, anharm_factor_data=None, rate_constants=False, return_rate_constant_files=False, wigner_tunnel_corr=False, extra_stages_file=None, max_i_freq=0, n_jmswf_subjobs=1, subhost=None, tpp=1, logger=None)

Create an instance.

Parameters
  • reaction_wf_input_sts (list) – reaction workflow input structures

  • n_conformers (int) – number of conformers to search for

  • pp_rel_energy_thresh (None or float) – relative energy threshold in kJ/mol, if None then only the n_conformers lowest energy conformers are returned

  • seed (int) – seed for random number generator

  • only_rings (bool) – if True then only allow rotation of eta-bound rings, if False then also allow rotation of ligands where the eta-bound motif is acyclic, for example ethene, etc.

  • return_csearch_files (bool) – whether to return all output files from the conformational search subjobs

  • jaguar_keywords (OrderedDict) – Jaguar keywords

  • temp_data (TempData) – the temperature data for thermochemical properties

  • press_data (PressData) – the pressure data for thermochemical properties

  • return_jaguar_files (bool) – whether to return all output files from the Jaguar subjobs

  • anharm (bool) – whether to run the anharmonic workflow

  • return_anharm_files (bool) – whether to return all output files from the anharmonic workflow

  • anharm_max_freq (float) – anharmonic potentials are created for normal modes with harmonic frequencies less than this value in wavenumbers (cm^-1)

  • anharm_factor_data (anharmonic.SeqData or None) – unitless factor data for factors that multiply a normal mode displacement, if None then the defaults are used, the number of points is in the positive direction only, excluding zero and the negative direction, for example using a value of 4 in turn means 2 * 4 + 1 = 9 points total

  • rate_constants (bool) – whether to report rate constant(s) for the rate determining step of the reaction using canonical transition state theory

  • return_rate_constant_files (bool) – whether to return all output files from the rate constant subjobs

  • wigner_tunnel_corr (bool) – whether to include the Wigner tunneling correction when computinig rate constant(s)

  • extra_stages_file (str) – the name of a file containing extra stages for a Jaguar Multistage Workflow subjob that will be performed on all output structures from the reaction workflow, the first of these extra stages is always skipped so as to allow analysis to potentially be the first extra stage

  • max_i_freq (float) – tolerate small imaginary frequencies less than this value in wavenumbers (cm^-1)

  • n_jmswf_subjobs (int) – the maximum number of simultaneous Jaguar multistage workflow subjobs

  • subhost (str) – the host to use for subjobs

  • tpp (int) – the number of threads to use for Jaguar subjobs, i.e. -TPP (threads-per-process)

  • logger (logging.Logger or None) – output logger or None if there isn’t one

validateRateConstants()

Validate rate constants.

Raises

ReactionWorkflowException – if there is an issue

validateAnharmonic()

Validate anharmonic.

Raises

ReactionWorkflowException – if there is an issue

validateSubhost()

Validate subhost.

Raises

ReactionWorkflowException – if there is an issue

validate()

Validate.

Raises

ReactionWorkflowException – if there is an issue

runAnharmonic()

Run the anharmonic workflow.

processAnharmonic()

Process the anharmonic workflow.

Raises

ReactionWorkflowException – if there is an issue

runCTST()

Run canonical transition state theory calculations to determine rate constant(s) for the rate determining step of the reaction.

prepareCTSTOutput()

Prepare CTST output.

Raises

ReactionWorkflowException – if there is an issue

run()

Run the reaction workflow.

Raises

ReactionWorkflowException – if there is an issue

checkJMSWFOutputs(out_files)

Return False if any of the given Jaguar out files should be treated as a failure.

Parameters

out_files (list) – contains Jaguar output files

Return type

bool

Returns

False if any of the given Jaguar out files should be treated as a failure

createConformers(sts)

Create the conformers.

Parameters

sts (list) – contains schrodinger.structure.Structure, the structures for which to create conformers, each unique type of structure should have a unique conformer group structure property keyed by CONFORMERS_GROUP_KEY, structures sharing the same CONFORMERS_GROUP_KEY should be conformers of the same structure and are used to seed the conformational search, an additional optional SIBLING_GROUP_KEY can be used to distinguish related groups of conformers, atoms marked with the property RESTRAINED_ATOM_KEY will be restrained

Raises

ConformationalSearchException – if there is an issue

finalizeJMSWFOutput()

Finalize the Jaguar multistage workflow output.

Return type

str

Returns

the Jaguar multistage workflow output file

static genEtaRotamers(sibling_conformers_dict, only_rings=True)

Generate eta-rotamers.

Parameters
  • sibling_conformers_dict (dict) – dictionary of dictionaries where the outer dictionary is keyed by sibling and inner dictionary is keyed by conformer and values of the inner dictionary are lists of structures

  • only_rings (bool) – if True then only allow rotation of eta-bound rings, if False then also allow rotation of ligands where the eta-bound motif is acyclic, for example ethene, etc.

Return type

dict

Returns

dictionary of dictionaries where the outer dictionary is keyed by sibling and inner dictionary is keyed by conformer and values of the inner dictionary are lists of structures, for eta-complexes incoming conformers have been replaced with all possible rotamers

prepareJMSWFOutput()

Prepare Jaguar multistage workflow output.

representativeConformers(sibling_conformers_dict=None, specific_sibling_group=None)

Generator over representative conformers.

Parameters
  • sibling_conformers_dict (dict or None) – dictionary of dictionaries where the outer dictionary is keyed by sibling and inner dictionary is keyed by conformer and values of the inner dictionary are lists of structures, if None then the class attr is used

  • specific_sibling_group (str or None) – if not None then restrict conformers to be generated only over this sibling group

Return type

tuple

Returns

the sibling and conformer group names and the representative conformer

runJMSWF()

Run the Jaguar multistage workflow.

Raises

JMSWFException – if there is an issue

setRepresentatives()

Associated with each structure is output data from potentially multiple Jaguar multistage workflow stages. Pick representative structures to carry the data for all stages.

Raises

JMSWFException – if there is an issue