schrodinger.application.jaguar.esol_input module

Functions and classes for defining the input to a Esol workflow

class schrodinger.application.jaguar.esol_input.EsolInput(inputfile: Optional[str] = None, keywords: Optional[dict] = None, jaguar_keywords: Optional[dict] = None, jobname: Optional[str] = None)

Bases: schrodinger.application.jaguar.workflow_input.WorkflowInput

A class to completely specify an Esol calculation.

Example usage:

input = EsolInput()
# 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 '%s' has value %s" % (keyword, 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 = ['input']
workflow_name = 'Esol'
__init__(inputfile: Optional[str] = None, keywords: Optional[dict] = None, jaguar_keywords: Optional[dict] = None, jobname: Optional[str] = None)

Create a EsolInput instance. If a keyword is specified in both ‘inputfile’ and ‘keywords’, then the values in ‘keywords’ will be set preferrentially. This also applies to ‘jaguar_keywords’.

Parameters
  • inputfile – Path to a Esol input file

  • keywords – Esol keyword/value pairs

  • jaguar_keywords – Jaguar &gen section 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 Esol keywords

getInputMolecules() Optional[List[schrodinger.structure._structure.Structure]]

Return list of input molecules. If no file(s) found, return None.

Returns

esol Structures

validate_jaguar_keywords()

We currently don’t use JaguarKeywords in this workflow so don’t allow any to be set.

validate()

Perform a self-consistency check of all currently set keywords.

:raise WorkflowKeywordConflictError if conflicting values found :raise WorkflowConservationError if matter not conserved

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.

property values

Support access to WorkflowKeyword values via attribute syntax. e.g.:

wi = WorkflowInput()
print wi.values.optimize   # print 'optimize' keyword value