schrodinger.application.xtb.keywords module

xTB keywords for xcontrol settings/input file, current as of version 6.6. (As of 6/29/2023, we are using a commit somewhere between 6.5 and 6.6, but there don’t seem to be any new additions to xcontrol in this gap.)

class schrodinger.application.xtb.keywords.XTBKeyword(name: str, valid_type: Union[list, Type[schrodinger.application.xtb.keywords.T], schrodinger.application.jaguar.workflow_keywords.Choices], default: schrodinger.application.xtb.keywords.T, description: str, section: str)

Bases: schrodinger.application.jaguar.workflow_keywords.WorkflowKeyword

xTB xcontrol is structured as a set of “instructions” which have either a value or a set of “options” with values. We will treat the individual options as keywords and the instructions as section. So we modify the WorkflowKeyword class to allow specifying a section for each keyword.

The one exceptional case is the instructions which take a value. We will keep these in a DUMMY_SECTION and treat them as keywords for validation. Any keyword in the dummy section will be written to the xcontrol file as an instruction with a value.

xcontrol allows for keywords with spaces, but for convenience of entering these on the commandline, we replace spaces with ‘_’. Duplicate keyword names are prefixed with the section name, e.g. ‘constrain_atoms’ and ‘fix_atoms’.

__init__(name: str, valid_type: Union[list, Type[schrodinger.application.xtb.keywords.T], schrodinger.application.jaguar.workflow_keywords.Choices], default: schrodinger.application.xtb.keywords.T, description: str, section: str)
Parameters
  • name – unique name for keyword

  • valid_type – keyword type e.g. bool, int

  • default – default keyword value

  • description – short description of what the keyword does

property default
property description
isNonDefault() bool

Return True if keyword user-value differs from default value. False otherwise.

property name
reset()

Reset user-value to NoneType.

setValue(value)

Set to user-defined value.

Parameters

value – user-defined value (e.g. from input file)

property valid_type
validate()

Raise MultipleInvalid or WorkflowKeywordException if keyword name/value don’t conform to the schema. (i.e. type check)

property value

Return user-set value. If None, return default value.

schrodinger.application.xtb.keywords.keyword(name: str, valid_type: Union[list, Type[schrodinger.application.xtb.keywords.T], schrodinger.application.jaguar.workflow_keywords.Choices], default: schrodinger.application.xtb.keywords.T, description: str, section: str)

Convenience function to create a dictionary of XTBKeywords

schrodinger.application.xtb.keywords.generate_all_keywords()