CustomWorkflowComponent

pydantic model openff.qcsubmit.workflow_components.CustomWorkflowComponent[source]

This is an abstract base class which should be used to create all workflow components, following the design of this class should allow users to easily create new work flow components with out needing to change any of the dataset factory code.

Show JSON schema
{
   "title": "CustomWorkflowComponent",
   "description": "This is an abstract base class which should be used to create all workflow components, following the design of this\nclass should allow users to easily create new work flow components with out needing to change any of the dataset\nfactory code.",
   "type": "object",
   "properties": {
      "type": {
         "title": "Type",
         "description": "The name of the component which should match the class name.",
         "default": "CustomWorkflowComponent",
         "enum": [
            "CustomWorkflowComponent"
         ],
         "type": "string"
      }
   }
}

Config
  • allow_mutation: bool = True

  • validate_assignment: bool = True

Fields
  • type (Literal['CustomWorkflowComponent'])

field type: Literal['CustomWorkflowComponent'] = 'CustomWorkflowComponent'

The name of the component which should match the class name.

abstract classmethod description()[source]

Returns a friendly description of the workflow component.

Return type

str

abstract classmethod fail_reason()[source]

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

Return type

str

abstract classmethod properties()[source]

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

Return type

openff.qcsubmit.common_structures.ComponentProperties

classmethod info()[source]

Returns a dictionary of the friendly descriptions of the class.

Return type

Dict[str, str]

abstract classmethod is_available()[source]

This method should identify if the component can be used by checking if the requirements are available.

Returns

True if the component can be used else False.

Return type

bool

apply(molecules, toolkit_registry, processors=None, verbose=True)[source]

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
  • molecules (List[openff.toolkit.topology.molecule.Molecule]) – The list of molecules to be processed by this component.

  • toolkit_registry (openff.toolkit.utils.toolkit_registry.ToolkitRegistry) – The openff.toolkit.utils.ToolkitRegistry which declares the available backend toolkits to be used.

  • processors (Optional[int]) – The number of processor the component can use to run the job in parallel across molecules, None will default to all cores.

  • verbose (bool) – If true a progress bar should be shown on screen.

Returns

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

Return type

openff.qcsubmit.workflow_components.utils.ComponentResult

abstract provenance(toolkit_registry)[source]

This function should detail the programs with version information and procedures called during activation of the workflow component.

Returns

A dictionary containing the information about the component and the functions called.

Parameters

toolkit_registry (openff.toolkit.utils.toolkit_registry.ToolkitRegistry) –

Return type

Dict