schrodinger.application.jaguar.autots_input module

Functions and classes for defining the input to a AutoTS workflow.

schrodinger.application.jaguar.autots_input.read_mae_files(fhlist: List[str], clean_st: bool, fileonly: bool = False, reset_bonding: bool = True) Union[List[schrodinger.structure._structure.Structure], List[str]]

Process a list of mae files and return extant file paths or associated Structure instances if requested.

Parameters
  • fhlist – list of filehandles

  • clean_st – if True, cleanup structure file by removing dummy atoms, etc.

  • fileonly – if True, return only file paths, else Structures.

  • reset_bonding – if True and clean_st is True, redefine bonding using mmjag.

Returns

Structures or file paths.

class schrodinger.application.jaguar.autots_input.AutoTSInput(inputfile: Optional[str] = None, keywords: Optional[dict] = None, jaguar_keywords: Optional[dict] = None, jobname: Optional[str] = None, add_autots_jaguar_defaults: bool = False)

Bases: schrodinger.application.jaguar.workflow_input.WorkflowInput

A class to completely specify a AutoTS calculation.

Example usage:

input = AutoTSInput()
# 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 = ['reactant', 'product', 'reactant_complex', 'product_complex', 'reference_reactant_complex', 'reference_product_complex', 'template_database_file', 'full_path_file', 'full_path_separated', 'conf_search_file', 'spectators']
workflow_name = 'AutoTS'
__init__(inputfile: Optional[str] = None, keywords: Optional[dict] = None, jaguar_keywords: Optional[dict] = None, jobname: Optional[str] = None, add_autots_jaguar_defaults: bool = False)

Create a AutoTSInput 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 AutoTS input file

  • keywords – AutoTS 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.

  • add_autots_jaguar_defaults – if True add some custom Jaguar defaults

property reaction_smarts: str

Reaction smarts identifying input reaction

generate_keywords() dict

Initialize dictionary of all possible AutoTS keywords

setJaguarValues(keywords: dict)

Set multiple Jaguar &gen section keywords.

Parameters

keywords – Jaguar &gen section keyword/value pairs

updateJaguarUserKeywords(keywords: dict)

Update the Jaguar &gen section keywords of the user-defined settings only if previous settings exist.

Parameters

keywords (dict of string/anytype pairs) – Jaguar &gen section keyword/value pairs

getReactants(fileonly: bool = False, clean_st: bool = False, reset_bonding: bool = True) Union[List[schrodinger.structure._structure.Structure], List[str]]

Return list of reactants. If no file(s) found, return empty list.

Parameters
  • fileonly – if True, return only file paths, else Structures.

  • clean_st – if True redefine bonding using mmlewis.

  • reset_bonding – if True and clean_st is True, redefine bonding using mmjag.

Returns

reactant Structures or file paths.

getProducts(fileonly: bool = False, clean_st: bool = False, reset_bonding: bool = True) Union[List[schrodinger.structure._structure.Structure], List[str]]

Return list of products. If no file(s) found, return empty list.

Parameters
  • fileonly – if True, return only file paths, else Structures.

  • clean_st – if True redefine bonding using mmlewis.

  • reset_bonding – if True and clean_st is True, redefine bonding using mmjag.

Returns

product Structures or file paths.

getReactantComplex(clean_st: bool = False, reset_bonding: bool = True) Optional[schrodinger.structure._structure.Structure]

Return Reactant Complex. If no file found, return NoneType.

Parameters
  • clean_st – if True redefine bonding using mmlewis.

  • reset_bonding – if True and clean_st is True, redefine bonding using mmjag.

Returns

Reactant Complex Structures or file path.

getProductComplex(clean_st: bool = False, reset_bonding: bool = True) Optional[schrodinger.structure._structure.Structure]

Return Product Complex. If no file found, return NoneType.

Parameters
  • clean_st – if True redefine bonding using mmlewis.

  • reset_bonding – if True and clean_st is True, redefine bonding using mmjag.

Returns

Product Complex Structures or file path.

getReferenceReactantComplex(fileonly: bool = False, clean_st: bool = False, reset_bonding: bool = True) Optional[Union[schrodinger.structure._structure.Structure, str]]

Return Reference Reactant Complex. If no file found, return NoneType.

Parameters
  • fileonly – if True, return only file paths, else Structures.

  • clean_st – if True redefine bonding using mmlewis.

  • reset_bonding – if True and clean_st is True, redefine bonding using mmjag.

Returns

Reactant Complex Structures or file path.

getReferenceProductComplex(fileonly: bool = False, clean_st: bool = False, reset_bonding: bool = True) Optional[Union[schrodinger.structure._structure.Structure, str]]

Return Reference Product Complex. If no file found, return NoneType.

Parameters
  • fileonly – if True, return only file paths, else Structures.

  • clean_st – if True redefine bonding using mmlewis.

  • reset_bonding – if True and clean_st is True, redefine bonding using mmjag.

Returns

Product Complex Structures or file path.

getSpectators(clean_st: bool = False) Optional[List[schrodinger.structure._structure.Structure]]

Return spectator. If no file found, return NoneType.

Parameters

clean_st – if True redefine bonding using mmlewis.

Returns

Reactant Complex Structures or file path.

validate()

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

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

validate_jaguar_keywords(strs)

Perform a check to ensure that Jaguar keywords are not set that AutoTS cannot handle.

setConstants()

Set any constants defined by keywords

read(inputfile: str)

Read an existing AutoTS input file. Any keywords specified in the input file will override existing values in this AutoTSInput 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 AutoTS input file

set_default_template_file()

If the default template file is not set and the keyword use_default_templates is True and that file exists, set the template file to the default one.

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
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

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
schrodinger.application.jaguar.autots_input.users_default_template_filename() str

Returns the name of the users template file that should be found in .schrodinger/autots_templates. The file may or may not exist.