schrodinger.application.jaguar.macro_pka_input module¶
Functions and classes for defining the input to a Macro-pKa workflow.
Copyright Schrodinger, LLC. All rights reserved.
- class schrodinger.application.jaguar.macro_pka_input.MacroKaInput(inputfile: Optional[str] = None, keywords: Optional[dict] = None, jobname: Optional[str] = None)¶
Bases:
schrodinger.application.jaguar.workflow_input.WorkflowInput
A class to completely specify a Macro-pKa calculation.
Example usage:
input = MacroKaInput() # Set user-defined values input.setValue('integerKW', 3) input.setValue('floatKW', '7.0') input.setValue('stringKW', 'foo') # Print all keyword/value pairs. for keyword in input: print(keyword {keyword} has value {input[keyword]}) # Handling the case of trying to set an unsupported keyword try: input['mykeyword'] = 'value' except WorkflowKeywordException as e: print(e.allowed_keywords)
- input_file_keys = ['infile', 'autoconf_config', 'conformer_files']¶
- workflow_name = 'macro_pka'¶
- __init__(inputfile: Optional[str] = None, keywords: Optional[dict] = None, jobname: Optional[str] = None)¶
Create a MacroKaInput instance. If a keyword is specified in both ‘inputfile’ and ‘keywords’, then the values in ‘keywords’ will be set preferrentially.
- Parameters
inputfile – Path to a Macro-pKa input file
keywords – Macro-pKa keyword/value pairs
jobname – Name of job, if it is not None it will be set to the basename of the input file name.
- generate_keywords() dict ¶
Initialize dictionary of all possible Macro-pKa keywords
- getInputMolecule() schrodinger.structure._structure.Structure ¶
Return input molecule.
- Returns
input structure
- Raise
IOError if no input file found
- getConstraints()¶
Return the constraints defined in the input file
- Returns
a dict relating structure titles to constraints the constraints are given as a list of Coordinate instances and the titles refer to the titles of the input molecules.
- getDefault(keyword: str)¶
Return the default value for Workflow keyword ‘keyword’. The return type depends on the keyword.
- Parameters
keyword – name of keyword
:raise WorkflowKeywordError if no keyword found
- getFrozenAtoms() Dict[str, List[schrodinger.application.jaguar.autots_bonding.Coordinate]] ¶
Return the frozen atoms defined in the input file
- Returns
a dict relating structure titles to constraints the constraints are given as a list of Coordinate instances and the titles refer to the titles of the input molecules.
- getJaguarNonDefault() Dict[str, Any] ¶
Return a dictionary of all non-default Jaguar keys except ‘multip’ and ‘molchg’, which must be retrieved explicitly.
- getJaguarValue(key: str) Any ¶
Return the value for Jaguar keyword ‘key’. The return type depends on the keyword.
- Parameters
key – name of keyword
- getNonDefaultKeys()¶
Return a dictionary of all non-default-value WorkflowKeyword instances indexed by name.
- getValue(keyword: str)¶
Return the value for Workflow keyword. The return type depends on the keyword.
- Parameters
keyword – name of keyword
:raise WorkflowKeywordError if no keyword found
- get_input_files() Set[str] ¶
Return set of expected input files.
- have_constraints() bool ¶
Do we have internal coordinate constraints
- have_frozen_atoms() bool ¶
Do we have frozen atom constraints
- isNonDefault(keyword: str) bool ¶
Has the specified keyword been set to a non-default value?
- Parameters
keyword – The key to check
- Returns
True if the specified keyword is set to a non-default value. False otherwise.
- property keywords¶
- read(inputfile: str)¶
Read an existing Workflow input file.
Any keywords specified in the input file will override existing values in this WorkflowInput instance.
Jaguar &gen section keywords are defined like:
&JaguarKeywords key=val key=val ... &
Constraints can be defined with:
&Constraints st_title atom_index1 atom_index2... value &
- Parameters
inputfile – Path to a Workflow input file
- remove_input_file_paths()¶
Remove full paths from file specifications. A new input file is no longer written, if that is desired the user must call the save method.
- resetAll()¶
Reset all keywords to their default states.
- resetKey(keyword: str)¶
Reset keyword to default state.
- Parameters
keyword – name of keyword
- save(name: str)¶
Create a Workflow input file called ‘name’ in the current working directory based on this class instance. Only write the non-default keyword values.
- Parameters
name – Path to a Workflow input file
- setConstraints(constraints: Dict[str, List[schrodinger.application.jaguar.autots_bonding.Coordinate]])¶
Set the constraints.
- Parameters
constraints (dict of str: Coordinate instance) – dictionary relating structure title to a list of Coordinate instances which define the constraints
- setFrozenAtoms(frozen_atoms: Dict[str, List[schrodinger.application.jaguar.autots_bonding.Coordinate]])¶
Set the constraints.
- Parameters
frozen_atoms – dictionary relating structure title to a list of Coordinate instances which define the frozen atoms
- setJaguarValue(key: str, value: Any)¶
Set the Jaguar &gen section keyword ‘key’ to value ‘value’.
- Parameters
key – name of keyword
value – value of keyword
:raise JaguarKeywordException if keyword is invalid
- setJaguarValues(keywords: Dict[str, Any])¶
Set multiple Jaguar &gen section keywords.
- Parameters
keywords – Jaguar &gen section keyword/value pairs
- setJobname(jobname: str)¶
Set the attribute jobname.
- Parameters
jobname – input name of job. If jobname is None we try to use self._inputfile. If that is also None we assign a unique name.
- setValue(keyword: str, value: Any)¶
Set the Workflow keyword ‘keyword’ to value ‘value’. Note that there may be type-checking and conversion by the WorkflowKeyword class.
- Parameters
keyword – name of keyword
value – value of keyword. If ‘value’ is None, the keyword will be reset.
- Raises
WorkflowKeywordException – if no keyword found or there is an issue with the keyword or value
- setValues(keywords)¶
Set multiple Workflow keywords.
- Parameters
keywords (dict of string/anytype pairs) – keyword/value pairs
- update_input_file_paths()¶
Update full paths for file specifications to reflect the CWD. This is useful if running this job in a subdirectory or on a remote host.
- validate(validate_structs: bool = True)¶
Perform a self-consistency check of all currently set keywords.
- Parameters
validate_structs – Whether to validate input structures
:raise WorkflowKeywordConflictError if conflicting values found :raise WorkflowConservationError if charge/multiplicity unphysical
- validate_jaguar_keywords(sts: List[schrodinger.structure._structure.Structure])¶
Perform a check to ensure that Jaguar keywords are not set in a way that cannot be handled.
- Parameters
sts – Structures whose basis needs validating
- property values¶
Support access to WorkflowKeyword values via attribute syntax. e.g.:
wi = WorkflowInput() print wi.values.optimize # print 'optimize' keyword value