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