"""
This module documents all possible AutoTS input keywords.
"""
# Contributors: Mark A. Watson
import schrodinger.application.jaguar.autots_constants as autots_constants
import schrodinger.application.jaguar.autots_input_constants as constants
from schrodinger.application.jaguar.workflow_keywords import Choices
from schrodinger.application.jaguar.workflow_keywords import WorkflowKeyword
from schrodinger.utils import mmutil
AUTOTS_KEYWORDS = {}
#------------------------------------------------------------------------------
[docs]def keyword(name, valid_type, default, description):
"""
Convenience function to create a dictionary of AutoTSKeyword's
"""
if name.lower() in AUTOTS_KEYWORDS:
raise ValueError('keyword %s is duplicated' % name)
# Define all keywords in lower case
AUTOTS_KEYWORDS[name.lower()] = WorkflowKeyword(name=name.lower(),
valid_type=valid_type,
default=default,
description=description)
[docs]def generate_all_keywords():
#------------------------------------------------------------------------------
# Add new "list of strings" AutoTS keywords here
#------------------------------------------------------------------------------
keyword(
name=constants.REACTANT,
valid_type=[str],
default=[],
description=
'A list of full paths to Maestro structure files containing individual reactant molecules.'
)
keyword(
name=constants.PRODUCT,
valid_type=[str],
default=[],
description=
'A list of full paths to Maestro structure files containing individual product molecules.'
)
keyword(
name=constants.SPECTATORS,
valid_type=[str],
default=[],
description=
'A list of paths to Maestro structure files containing individual spectator molecules.'
)
keyword(
name='reactant_bond',
valid_type=[str],
default=[],
description='Bond-breaking instructions for reactant molecules which '
'make reactant and product molecules conformers.'
'The syntax for breaking a bond between atom i in '
'molecule I and atom j in molecule J is i_I-j_J. '
'Indexing starts at 1. This setting only needs to be used '
'if the prediction of active bonds is incorrect.')
keyword(
name='product_bond',
valid_type=[str],
default=[],
description='Bond-breaking instructions for product molecules which \n'
'make reactant and product molecules conformers.\n'
'The syntax for breaking a bond between atom i in \n'
'molecule I and atom j in molecule J is i_I-j_J.\n'
'Indexing starts at 1. This setting only needs to be used '
'if the prediction of active bonds is incorrect.')
#------------------------------------------------------------------------------
# Add new "boolean" AutoTS keywords here
#------------------------------------------------------------------------------
keyword(name='sn2',
valid_type=bool,
default=True,
description='Apply an atom numbering correction to SN2 reactions. '
'This correction attempts to invert the chirality of '
'the electrophilic center by renumbering terminal atoms.')
keyword(
name='sn2_ignore_water',
valid_type=bool,
default=False,
description='Ignore waters when determining atom numbering corrections '
'for SN2 reactions.')
keyword(name='analytic_hessian',
valid_type=bool,
default=True,
description=
'Compute an analytic Hessian when performing frequency analysis.')
keyword(
name='optimize_inputs',
valid_type=bool,
default=True,
description='If True, optimize initial complexes. This parameter will '
'be automatically set to False if the parameters reactant_complex '
'and product_complex are set and use_complex_inputs is True.')
keyword(
name='optimize_outputs',
valid_type=bool,
default=True,
description=
'If True the final (determined by IRC) minimum energy structures are optimized.'
)
keyword(name='exit_after_path',
valid_type=bool,
default=False,
description='Exit job after constructing interpolated path.')
keyword(name='relax_path',
valid_type=bool,
default=False,
description='Use the relaxed string method (RSM) to improve path.')
keyword(name='check_alignment_stability',
valid_type=bool,
default=True,
description=
'If True, verify that alignment of reactant and product in complex'
'formation is stable.')
keyword(
name='form_rxn_complex',
valid_type=bool,
default=True,
description=
'Optimally position the geometry of the reactant (entrance) and product (exit) '
'complexes prior to path interpolation. If this is set to False the geometries '
'will be the result of the initial geometry optimization. This parameter '
'is automatically set to False if reactant_complex and product_complex are set '
'and use_complex_inputs is set to True.')
keyword(
name='use_complex_inputs',
valid_type=bool,
default=False,
description=
'If the user has specified files for reactant_complex and product_complex, we '
'will use those complexes rather than generate new ones in the workflow if this '
'variable is set to True. Otherwise, the workflow will ignore those files and '
'generate new complexes.')
keyword(
name='recompute_input_lewis_structure',
valid_type=bool,
default=False,
description=
'Recompute the Lewis structure of input structures for the purposes of '
'renumbering complexes.')
keyword(
name='localize_spectators',
valid_type=bool,
default=True,
description=
'If True, localize spectator molecules near the reaction center. Otherwise, '
'the entire input molecule will be considered for spectator interactions.'
)
keyword(
name='qst_endpoints_are_min',
valid_type=bool,
default=False,
description='Use minima instead of posed complexes as QST endpoints.')
keyword(name='skip_inf_sep',
valid_type=bool,
default=False,
description='Do not perform calculations to compute the '
'infinitely separated energy.')
keyword(name='free_energy',
valid_type=bool,
default=False,
description=
'Compute the Gibbs free energy of infinitely separated complexes.')
keyword(
name='use_template',
valid_type=bool,
default=True,
description=
'Use a transition state template if one matches the input reaction type.'
)
keyword(name='debug_templates',
valid_type=bool,
default=False,
description='Turn on extra printing for debugging template code.')
keyword(
name='neglect_qst_displacement',
valid_type=bool,
default=True,
description=
'Neglect displacement convergence criterion when optimizing the transition state guess.'
)
keyword(
name='eliminate_multiple_frequencies',
valid_type=bool,
default=False,
description=
'Employ techniques to remove multiple imaginary frequencies in transition state optimization.'
)
keyword(name='exit_on_unexpected_rxn',
valid_type=bool,
default=True,
description=
'Exit the calculation if an unexpected chemical reaction occurs '
'during the initial optimization. This indicates that the input '
'structures are not stable at the requested level of theory.')
keyword(name='debug',
valid_type=bool,
default=False,
description='Print extra debugging information.')
keyword(
name='mm_opt_only',
valid_type=bool,
default=False,
description=
'Use molecular mechanics (MM) to perform all geometry optimizations.')
keyword(
name='mm_relax_path',
valid_type=bool,
default=False,
description=
'Relax path by performing constrained optimizations with MM along interpolated path.'
)
keyword(
name='relax_ts_guess',
valid_type=bool,
default=True,
description=
'Relax TS guess with constrained optimization before TS optimization.')
keyword(
name='use_unrelaxed_ts_on_failure',
valid_type=bool,
default=False,
description=
'If relaxing the TS guess leads to a reaction or failure and this keyword is set to True, '
'use the unrelaxed TS guess as is. Otherwise, a new TS guess method will be used.'
)
keyword(
name='use_consistently_ordered_conformer_test',
valid_type=bool,
default=True,
description=
'Use a simplified method to determine whether or not two structures are conformers.'
)
keyword(
name='require_irc_success',
valid_type=bool,
default=False,
description=
'If True we require the IRC to succeed before accepting a transition state.'
)
keyword(
name='constrained_ts_search',
valid_type=bool,
default=False,
description=
'Freeze the non-reacting part of the molecule when optimizing the transition state. '
'This can enhance the success rate in large flexible systems.')
keyword(
name='ts_vet_with_constraints',
valid_type=bool,
default=True,
description=
'Project constraints out of Hessian when applying TS vetting. '
'This setting only applies when constrained_ts_search=True. '
'The alternative is to analyze the full Hessian which may contain eigenvectors '
'corresponding to degrees of freedom that were not optimized.')
keyword(name='ts_guess_only',
valid_type=bool,
default=False,
description='Exit job after constructing a transition state guess.')
keyword(
name='cut_bonds_to_renumber',
valid_type=bool,
default=False,
description=
'Allow cutting of bonds to perform renumbering of atoms by making '
'the products out of reactants or vice-versa. This is only '
'possible when all of the active bonds are on the reactant side '
'or all are on the product side. This setting tends not to conserve '
'stereochemistry and should not be applied to reactions where '
'precise stereochemistry is important.')
keyword(
name='use_default_templates',
valid_type=bool,
default=True,
description="If keyword %s is not set in the input file, use the user's "
"default set of templates in the user resources directory." %
constants.TEMPLATE_DATABASE_FILE)
keyword(
name='conf_search_gas_phase',
valid_type=bool,
default=False,
description=
'If True, MacroModel conformational search will be performed in gas phase.'
)
keyword(name='conf_search_filter_reactive_optimizations',
valid_type=bool,
default=True,
description=
'If True, remove any structures which undergo a chemical reaction '
'when performing a Jaguar optimization during the '
'conformational search workflow.')
keyword(
name='use_mm_ts_guess',
valid_type=bool,
default=False,
description=
'If True, guess a transition state by performing an MM constrained '
'optimization using intermediate bond distances. These intermediate '
'distances are defined by the keywords mm_ts_guess_b and mm_ts_guess_order.'
'The transition state guess which is optimized is the highest energy point along '
'a path passing through this point.')
keyword(
name='optimize_raw_complexes',
valid_type=bool,
default=False,
description=
'If True, optimize the initial complexes before computing path. Only for use with Hydrokinetic.'
)
keyword(name='generate_raw_path_only',
valid_type=bool,
default=False,
description='If True, do not spline initially generated path')
keyword(name='conf_search',
valid_type=bool,
default=False,
description=
'Perform a conformational search after locating transition states.')
keyword(
name='conf_search_reactants',
valid_type=bool,
default=True,
description='Perform a conformational search on reactant structures. '
'Requires conf_search to also be set to True.')
keyword(
name='conf_search_products',
valid_type=bool,
default=True,
description='Perform a conformational search on product structures. '
'Requires conf_search to also be set to True.')
keyword(name='conf_search_intermediates',
valid_type=bool,
default=True,
description=
'Perform a conformational search on intermediate structures. '
'Requires conf_search to also be set to True.')
keyword(name='conf_search_ts',
valid_type=bool,
default=True,
description=
'Perform conformational search on transition state structures. '
'Requires conf_search to also be set to True.')
keyword(
name='syn_renumbering',
valid_type=bool,
default=True,
description='Determines whether or not syn renumbering is performed.')
keyword(name='final_minimize_path',
valid_type=bool,
default=True,
description=
'Determines whether or not product/reactant realignment is run. '
'Principally for testing atom numbering.')
keyword(
name='minimize_indep_only',
valid_type=bool,
default=True,
description='Determines whether or not a non-redundant set of molecular '
'parameters are used to align the product and reactants.')
keyword(
name='accept_secondary_afir_path',
valid_type=bool,
default=True,
description='Determines whether or not an afir path is accepted if a '
'secondary reaction has occured.')
keyword(name='afir_minima_to_minima',
valid_type=bool,
default=bool(
mmutil.feature_flag_is_enabled(mmutil.JAGUAR_AUTOTS_WRAPUP)),
description='Determines whether or not an afir path from minima to '
'minima is done if all methods have failed.')
keyword(
name='store_autots_data',
valid_type=bool,
default=True,
description='Determines whether or not to send data to a server at the '
'end of the job. Only applicable if AutoTS server hostname and port are given'
)
keyword(
name='invert_reactive_stereocenters',
valid_type=bool,
default=False,
description=
'Generate an alternate stereochemical outcome of a stereogenic reaction '
'after locating transition states by inverting the chirality in the reaction '
'center, leaving all other chiral centers uninverted.')
keyword(
name='ignore_chirality_mismatch',
valid_type=bool,
default=False,
description=
'Ignore errors in chirality (mismatches) outside of the reaction center.'
'If False, AutoTS will exit if chirality mismatches are found.')
keyword(
name='repair_ts_guess_stereochem',
valid_type=bool,
default=True,
description=
'If the TS guess was found to be likely to lead to incorrect stereoisomeric '
'reactants/products, we can try and correct the guess automatically. '
'If True, AutoTS will attempt to repair the guess.')
keyword(
name='die_on_bad_ts_guess_stereochem',
valid_type=bool,
default=False,
description=
'If the TS guess was found to be likely to lead to incorrect stereoisomeric '
'reactants/products and we were unable to automatically repair the guess, '
'should the calculation proceed. '
'If True, AutoTS will exit if the TS guess could not be repaired.')
keyword(name='flexible_metal_coordination',
valid_type=bool,
default=False,
description=
'If True, ignore zero order bonds to metals during IRC analysis.')
keyword(
name="conf_search_cluster_conformers",
valid_type=bool,
default=False,
description=
'Choose conformers for QM optimization from different clusters.'
' This setting attempts to diversify the conformers optimized by the QM method'
' by choosing low energy conformers out of different clusters, grouped by'
' cartesian rmsd, requires a Canvas License.')
keyword(
name="water_wire",
valid_type=bool,
default=False,
description=
'Analyze inputs and attempt to label to encourage water wire formation')
keyword(
name="allow_disjoint_water_wire",
valid_type=bool,
default=False,
description=
'Adjust automatic water wire formation analysis to allow water wires that may be disjoint'
)
#------------------------------------------------------------------------------
# Add new "integer" AutoTS keywords here
#------------------------------------------------------------------------------
keyword(name='multiplicity',
valid_type=int,
default=1,
description='Overall spin multiplicity of reaction complex.')
keyword(name='charge',
valid_type=int,
default=0,
description='Overall charge of reaction complex.')
keyword(name='max_n_active_bonds',
valid_type=int,
default=5,
description='The maximum number of active bonds to consider '
'in a reaction. If a job fails because it could not find a '
'valid active bond set, increasing this may help but the job '
'runtime will be substantially increased.')
keyword(
name='bond_color',
valid_type=int,
default=1,
description='Color of active bonds. The predicted active bonds will be '
'colored in the Maestro file ending in _active_bonds.mae. '
'This is a useful diagnostic when troubleshooting a failing reaction.')
keyword(name='afir_min_fc',
valid_type=int,
default=40,
description='Minimum force constant for AFIR paths.')
keyword(
name='path_npts',
valid_type=int,
default=31,
description=
'Number of points to initially sample the reaction path (before interpolation).'
)
keyword(name='max_connections',
valid_type=int,
default=10,
description='Maximum number of connections to search for.')
keyword(
name='template_order',
valid_type=int,
default=1,
description='Order of the subset of atoms used to make constraints on '
'template based transition state guess. Order 1 uses only '
'reaction center atoms. Order 2 uses the reaction center '
'plus nearest neighbors, etc.')
keyword(
name='conf_search_max_qm_conformers',
valid_type=int,
default=10,
description=
'Maximum number of conformers to re-optimize with QM level of theory.')
keyword(
name='conf_search_max_mm_conformers',
valid_type=int,
default=200,
description=
'Maximum number of conformers to request from an initial MM based conformational search.'
)
keyword(
name='constrained_ts_search_order',
valid_type=int,
default=3,
description=
'Defines the size of the active region when constrained_ts_search=True. '
'The active region is the reaction center plus (order-1)th neighbors. '
'Meaningful values are positive integers.')
keyword(
name='pts_guess_with_ts',
valid_type=int,
default=0,
description='The number of points around each maximum energy point '
'along the interpolated reaction path used as a transition state guess. '
'If 0, only one point (the maximum energy) is considered. '
'Concretely, if there are n maximum points along the path, '
'then in total n*pts_guess_with_ts of points will be optimized if pts_guess_with is odd, '
'and n*pts_guess_with_ts + 1 of points will be returned if pts_guess_with_ts is even. '
'This setting will cause several TS optimizations to be run in parallel.'
)
keyword(
name='conf_search_numb_clusters',
valid_type=int,
default=0,
description='Number of conformational clusters requested if a value of '
'zero is requested then the number of clusters is determined automatically. '
'See also keyword conf_search_cluster_conformers. ')
keyword(name='conf_search_conf_per_clusters',
valid_type=int,
default=1,
description=
'Number of conformations to take from each conformational cluster. '
'See also keyword conf_search_cluster_conformers. ')
keyword(name='autots_server_port',
valid_type=int,
default=constants.AUTOTS_SERVER_DEFAULT_PORT,
description="port number for AutoTS server")
#------------------------------------------------------------------------------
# Add new "float" AutoTS keywords here
#------------------------------------------------------------------------------
keyword(
name='loose_opt_scaling',
valid_type=float,
default=3.0,
description=
'Scaling factor for convergence criterion when doing loose optimization. This includes AFIR path construction, initial optimization of reaction complexes and constrained optimization to prepare transition state guess geometries.'
)
keyword(
name='conf_search_loose_opt_scaling',
valid_type=float,
default=10.0,
description=
'Scaling factor for convergence criterion when doing loose optimization during conformational search stage. This includes constrained optimization used to prepare transition state guess geometries.'
)
keyword(
name='vdw_scale',
valid_type=float,
default=1.0,
description=
'Scales the vdw radii used to position individual molecules when making complexes.'
)
keyword(
name='path_dx',
valid_type=float,
default=0.2,
description=
'RMS difference between two structures along the interpolated path. '
'Increasing this value will increase the number of points along the path.'
)
keyword(
name='rms_thresh',
valid_type=float,
default=0.25,
description=
'Threshold for RMSD between two structures considered to be different.')
keyword(
name='irc_rms_thresh',
valid_type=float,
default=0.02,
description=
'RMS threshold for sanity check on IRC. This check ensures that '
'the IRC endpoints moved sufficiently far away from the transition state.'
)
keyword(name='ts_vet_max_freq',
valid_type=float,
default=0.0,
description='Maximum frequency (in cm-1) to consider '
'when vetting transition vectors of an optimized transition state. '
'For example, if this parametert is set to -20.0 only vibrational '
'modes with frequencies less than this value will be considered '
'as possible transition vectors. Note that this setting is '
'independent of the requirement that there is only '
'one negative eigenvalue of the Hessian, this latter requirement '
'is controlled by the setting ts_acceptance_strictness.')
keyword(
name='conf_search_energy_window',
valid_type=float,
default=10.0,
description='Energy window (kcal/mol) used in conformational search. '
'Only conformers with energies within this value of the '
'minimum energy conformer are kept.')
keyword(
name='conf_search_qm_energy_window',
valid_type=float,
default=10.0,
description='Energy window (kcal/mol) used in conformational search. '
'Only conformers with energies within this value of the '
'minimum energy conformer are kept after constrained optimization of '
'transition state (TS) geometries and before TS optimization')
keyword(
name='bond_stretch_fraction',
valid_type=float,
default=autots_constants.FRACTION_DIFFERENT,
description=
'Percent change allowed in a stretching bond before it is considered '
'broken when determining if two structure are conformers.')
keyword(name='mm_ts_guess_b',
valid_type=float,
default=constants.MM_TS_GUESS_B,
description='Value of the parameter b used to compute a guessed TS '
'bond length = b/((b-1)*o + 1), where o is the bond order. '
'The bond order is controled by the parameter mm_ts_guess_order.')
keyword(
name='mm_ts_guess_order',
valid_type=float,
default=constants.MM_TS_GUESS_ORDER,
description='Value of bond order (o) used to compute guess '
'TS bond length = b/((b-1)*o + 1). The parameter b is controlled by '
'mm_ts_guess_b.')
keyword(
name='conf_search_boltzmann_thresh',
valid_type=float,
default=0.005, # about 3 kcal/mol at room temp
description='Threshold on Boltzmann factor used to filter high energy '
'structures prior to frequency evaluation.')
keyword(name='frozen_atoms_rmsd_thresh',
valid_type=float,
default=0.3,
description=
'Threshold for ensuring that frozen atoms are initially aligned')
#------------------------------------------------------------------------------
# Add new "string" AutoTS keywords here
#------------------------------------------------------------------------------
keyword(name=constants.REACTANT_COMPLEX,
valid_type=str,
default='',
description='Full path to a Maestro structure file containing '
'the reactant (entrance) complex. If this is defined '
'the initial optimization and positioning of the reaction '
'complexes will be skipped.')
keyword(name=constants.PRODUCT_COMPLEX,
valid_type=str,
default='',
description='Full path to a Maestro structure file containing '
'the product (exit) complex. If this is defined '
'the initial optimization and positioning of the reaction '
'complexes will be skipped.')
keyword(
name=constants.REFERENCE_REACTANT_COMPLEX,
valid_type=str,
default='',
description=
'Full path to a Maestro structure file containing a reference reactant complex (for testing only).'
)
keyword(
name=constants.REFERENCE_PRODUCT_COMPLEX,
valid_type=str,
default='',
description=
'Full path to a Maestro structure file containing a reference product complex (for testing only).'
)
keyword(name='complex_formation',
valid_type=Choices(*constants.FORMATIONTYPES),
default=constants.FORM_TYPE_DISTANCE,
description=
'Methodology used to position molecules and orient torsion angles '
'of rotatable bonds in reactant and product complexes.')
keyword(
name='spectator_esp',
valid_type=Choices(*constants.SPECTATOR_ESPS),
default=constants.ESP_JAGUAR,
description=
'Methodology used to position spectator molecules in reactant and product complexes.'
)
keyword(name='interpolation',
valid_type=Choices(*constants.COORDINATE_CHOICES),
default=constants.DISTANCE,
description=
'Coordinate type used to perform reaction path interpolation.')
keyword(
name=constants.TEMPLATE_DATABASE_FILE,
valid_type=str,
default='',
description=
'Path to a Maestro structure file containing transition state templates. '
'This file should be prepared by the utility store_reaction_template.')
keyword(name='full_path_file',
valid_type=str,
default='',
description=
'Full path mae file produced by a previous, succesful AutoTS job. '
'To be used with jobtype=energy_correction or jobtype=conf_search.')
keyword(name='units',
valid_type=Choices(*constants.SUPPORTED_UNITS),
default=constants.UNIT_KCAL,
description='Units used for printing summary tables.')
keyword(
name='comparison_type',
valid_type=Choices(*constants.STRUCTURE_COMPARISON_CHOICES),
default=constants.COMPARISON_CONFORMERS_ONLY,
description='Method used to determine if two structures are different.')
keyword(name='irc_type',
valid_type=Choices(*constants.IRC_TYPE_CHOICES),
default=constants.IRC_TYPE_LQA,
description='Methods used to perform IRC.')
keyword(name='irc_path_type',
valid_type=Choices(*constants.IRC_PATH_TYPE_CHOICES),
default=constants.IRC_PATH_TYPE_MEP,
description='Type of path computed by IRC (IRC or MEP)')
keyword(name='jobtype',
valid_type=Choices(*constants.JOB_TYPE_CHOICES),
default=constants.JOB_TYPE_FULL,
description='Specifies the workflow.')
keyword(name='ts_acceptance_strictness',
valid_type=Choices(*constants.STRICTNESS_CHOICES),
default=constants.STRICTNESS_STD,
description=
'Strictness for verification of a candidate transition state.')
keyword(name='ts_vetting_type',
valid_type=Choices(*constants.VET_CHOICES),
default=constants.VET_BOTH,
description=
'Methodology used when verifying a candidate transition state.')
keyword(
name='conf_search_ts_vetting_type',
valid_type=Choices(*constants.VET_CHOICES),
default=constants.VET_DISTANCE,
description=
'Methodology used when verifying a candidate transition state in the conformational search stage.'
)
keyword(
name='conf_search_constraint_type',
valid_type=Choices(*constants.CONF_SEARCH_CONSTRAINT_CHOICES),
default=constants.CONF_SEARCH_CONSTRAINT_ATOMS,
description=
'Type of constraint to be used when performing MacroModel based conformational search on transition state geometries'
)
keyword(name='initial_hessian_type',
valid_type=Choices(*constants.HESSIAN_TYPE_CHOICES),
default=constants.HESSIAN_TYPE_REFINE,
description=
'Type of guess hessian used in transition state optimization.')
keyword(
name='ts_search_type',
valid_type=Choices(*constants.TS_SEARCH_TYPE_CHOICES),
default=constants.TS_SEARCH_TYPE_EIGENFOLLOW,
description='Algorithm used to perform transition state optimizations.')
keyword(
name='follow_eigenvector',
valid_type=Choices(*constants.FOLLOW_EIGENVECTOR_CHOICES),
default=constants.FOLLOW_EIGENVECTOR_ACTIVE,
description=
'Method to choose which eigenvector to follow in a transition state optimization step.'
)
keyword(
name='conf_search_mode',
valid_type=Choices(*constants.CONF_SEARCH_MODE_CHOICES),
default=constants.CONF_SEARCH_MODE_SEPARATED,
description=
'Conformational search can either be applied to reaction complexes or separated molecules.'
)
keyword(name='conf_search_accuracy_level',
valid_type=Choices(*constants.CONF_SEARCH_ACCURACY_CHOICES),
default=constants.CONF_SEARCH_ACCURACY_HIGH,
description='MacroModel conformational search accuracy level. '
'Acceptable values are 0 (low accuracy) and 1 (high accuracy).')
keyword(
name='irc_ts_vetting_type',
valid_type=Choices(*constants.IRC_TS_VETTING_CHOICES),
default=constants.IRC_TS_VETTING_RXN_OCCURRED,
description='Defines how the results of an IRC are used when verifying a '
'candidate transition state. Only applied if require_irc_success=True.')
keyword(name='ts_ranking_type',
valid_type=Choices(*constants.TS_RANKING_CHOICES),
default=constants.TS_RANKING_BARRIER,
description=
'Defines how to rank transition states when IRC was unsuccessful '
'or multiple incomplete paths exist.')
keyword(
name='path_ranking_type',
valid_type=Choices(*constants.PATH_RANKING_CHOICES),
default=constants.PATH_RANKING_BARRIER,
description=
'Defines how to rank paths when no fully connected paths were found.')
keyword(
name='path_type',
valid_type=Choices(*constants.PATH_TYPE_CHOICES),
default=constants.PATH_TYPE_AFIR,
description=
'Selects a method to compute a reaction path from reactants to products.'
)
keyword(name='autots_server_hostname',
valid_type=str,
default=constants.AUTOTS_SERVER_DEFAULT_HOSTNAME,
description="hostname for AutoTS server")