"""
This module documents all possible Hydrokinetic input keywords.
"""
# Contributors: Mark A. Watson
import schrodinger.application.jaguar.hydrokinetic_input_constants as constants
import schrodinger.application.jaguar.autots_input_constants as autots_constants
from schrodinger.application.jaguar.workflow_keywords import Choices, WorkflowKeyword
HYDROKINETIC_KEYWORDS = {}
#------------------------------------------------------------------------------
[docs]def keyword(name, valid_type, default, description):
"""
Convenience function to create a dictionary of HydrokineticKeyword's
"""
if name in HYDROKINETIC_KEYWORDS:
raise ValueError('keyword %s is duplicated' % name)
# Define all keywords in lower case
HYDROKINETIC_KEYWORDS[name.lower()] = WorkflowKeyword(
name=name.lower(),
valid_type=valid_type,
default=default,
description=description)
[docs]def generate_all_keywords():
#------------------------------------------------------------------------------
# Add new "list of int" Hydrokinetic keywords here
#------------------------------------------------------------------------------
keyword(name='protonatable_positions',
valid_type=[int],
default=[],
description='A list of atom indices to protonate.')
#------------------------------------------------------------------------------
# Add new "list of float" Hydrokinetic keywords here
#------------------------------------------------------------------------------
keyword(name='pHs',
valid_type=[float],
default=[5.0, 7.0, 9.0],
description=
'A list of pHs to consider for the determination of half-lives.')
#------------------------------------------------------------------------------
# Add new "boolean" Hydrokinetic keywords here
#------------------------------------------------------------------------------
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.')
keyword(name='debug',
valid_type=bool,
default=False,
description='Print extra debugging information.')
keyword(name='debug_autots',
valid_type=bool,
default=False,
description='Print extra debugging information in AutoTS subjobs.')
keyword(name='skip_pka',
valid_type=bool,
default=False,
description='Do not compute pKas of structures')
keyword(name='csrch',
valid_type=bool,
default=True,
description='Run conformational search in macro-pka calculation')
keyword(name='ph_aware_mechs',
valid_type=bool,
default=True,
description='Use the requested pHs to limit mechanisms considered '
'e.g. do not consider hydroxide catalyzed reactions at pH 3')
#------------------------------------------------------------------------------
# Add new "integer" Hydrokinetic 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.')
#------------------------------------------------------------------------------
# Add new "float" Hydrokinetic keywords here
#------------------------------------------------------------------------------
keyword(name='temp',
valid_type=float,
default=298.15,
description='Temperature of reactions.')
keyword(name='max_halflife',
valid_type=float,
default=315360000.0,
description=
'Maximum half-life to allow for further reactive elaboration.')
#------------------------------------------------------------------------------
# Add new "string" Hydrokinetic keywords here
#------------------------------------------------------------------------------
keyword(name=constants.JOBTYPE,
valid_type=Choices(*constants.JOBTYPE_CHOICES),
default=constants.JOBTYPE_STD,
description='Jobtype for Hydrokinetic to run.')
keyword(
name=constants.INPUT_MOLECULE,
valid_type=str,
default='',
description=
'Path to Maestro structure file containing an individual reactant molecule.'
)
keyword(name='pka_method',
valid_type=Choices(*constants.PKA_METHODS),
default=constants.MACRO_PKA,
description='The pka predictor to use for LogD calculations.')
keyword(
name='spectator_esp',
valid_type=Choices(*autots_constants.SPECTATOR_ESPS),
default=autots_constants.ESP_JAGUAR,
description=
'Methodology used to position spectator molecules in reactant and product complexes.'
)