ScanEnumerator

class openff.qcsubmit.workflow_components.ScanEnumerator(*, type='ScanEnumerator', torsion_scans=[], double_torsion_scans=[], improper_scans=[])[source]

This module will tag any matching substructures for scanning, useful for torsiondrive datasets.

Parameters
Return type

None

__init__(**data)

Create a new model by parsing and validating input data from keyword arguments.

Raises ValidationError if the input data cannot be parsed to form a valid model.

Parameters

data (Any) –

Return type

None

Methods

__init__(**data)

Create a new model by parsing and validating input data from keyword arguments.

add_double_torsion(smarts1, smarts2[, ...])

Add a targeted 2D torsion scan to the scan enumerator.

add_improper_torsion(smarts, central_smarts)

Add a targeted Improper torsion to the scan enumerator.

add_torsion_scan(smarts[, scan_rage, ...])

Add a targeted 1D torsion scan to the scan enumerator.

apply(molecules, toolkit_registry[, ...])

This is the main feature of the workflow component which should accept a molecule, perform the component action and then return any resulting molecules.

construct([_fields_set])

Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data.

copy(*[, include, exclude, update, deep])

Duplicate a model, optionally choose which fields to include, exclude and change.

description()

Returns a friendly description of the workflow component.

dict(*[, include, exclude, by_alias, ...])

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

fail_reason()

Returns a friendly description of why a molecule would fail to pass the component.

from_orm(obj)

info()

Returns a dictionary of the friendly descriptions of the class.

is_available()

Check if any of the requested backend toolkits can be used.

json(*[, include, exclude, by_alias, ...])

Generate a JSON representation of the model, include and exclude arguments as per dict().

parse_file(path, *[, content_type, ...])

parse_obj(obj)

parse_raw(b, *[, content_type, encoding, ...])

properties()

Returns the runtime properties of the component such as parallel safe.

provenance(toolkit_registry)

This component calls the OFFTK to perform the task and logs information on the backend toolkit used.

schema([by_alias, ref_template])

schema_json(*[, by_alias, ref_template])

update_forward_refs(**localns)

Try to update ForwardRefs on fields based on this Model, globalns and localns.

validate(value)

Attributes

type

torsion_scans

double_torsion_scans

improper_scans

classmethod description()[source]

Returns a friendly description of the workflow component.

Return type

str

classmethod fail_reason()[source]

Returns a friendly description of why a molecule would fail to pass the component.

Return type

str

classmethod properties()[source]

Returns the runtime properties of the component such as parallel safe.

Return type

openff.qcsubmit.common_structures.ComponentProperties

add_torsion_scan(smarts, scan_rage=None, scan_increment=15)[source]

Add a targeted 1D torsion scan to the scan enumerator.

Parameters
  • smarts (str) – The numerically tagged SMARTs pattern that should be used to identify the torsion atoms.

  • scan_rage (Optional[Tuple[int, int]]) – The angle in degrees the torsion should be scanned between, from low to high

  • scan_increment (int) – The value in degrees between each grid point in the scan.

Return type

None

add_double_torsion(smarts1, smarts2, scan_range1=None, scan_range2=None, scan_increments=(15, 15))[source]

Add a targeted 2D torsion scan to the scan enumerator.

Parameters
  • smarts1 (str) – The numerically tagged SMARTs pattern that should be used to identify the first torsion atoms.

  • smarts2 (str) – The numerically tagged SMARTs pattern that should be used to identify the second torsion atoms.

  • scan_range1 (Optional[Tuple[int, int]]) – The angle in degrees the first torsion should be scanned between, from low to high

  • scan_range2 (Optional[Tuple[int, int]]) – The angle in degrees the second torsion should be scanned between, from low to high

  • scan_increments (List[int]) – A list of the values in degrees between each grid point in the scans.

Return type

None

add_improper_torsion(smarts, central_smarts, scan_range=None, scan_increment=15)[source]

Add a targeted Improper torsion to the scan enumerator.

Parameters
  • smarts (str) – The numerically tagged SMARTs pattern which describes the entire improper.

  • central_smarts (str) – The numerically tagged SMARTs pattern which identifies the central atom in the improper.

  • scan_range (Optional[Tuple[int, int]]) – The angles in degrees the improper should be scanned between, from low to high.

  • scan_increment (int) – The value in degrees between each grid point in the scan.

Return type

None

apply(molecules, toolkit_registry, processors=None, verbose=True)

This is the main feature of the workflow component which should accept a molecule, perform the component action and then return any resulting molecules.

Parameters
Returns

A component result class which handles collecting together molecules that pass and fail the component

Return type

openff.qcsubmit.workflow_components.utils.ComponentResult

classmethod info()

Returns a dictionary of the friendly descriptions of the class.

Return type

Dict[str, str]

classmethod is_available()

Check if any of the requested backend toolkits can be used.

Return type

bool

provenance(toolkit_registry)

This component calls the OFFTK to perform the task and logs information on the backend toolkit used.

Parameters

toolkit_registry (openff.toolkit.utils.toolkit_registry.ToolkitRegistry) – The openff.toolkit.utils.ToolkitRegistry which declares the available toolkits for the component.

Returns

A dictionary containing the version information about the backend toolkit called to perform the task.

Return type

Dict