SmartsFilter
- pydantic model openff.qcsubmit.workflow_components.SmartsFilter[source]
Filters molecules based on if they contain certain smarts substructures.
Note
The smarts tags used for filtering should be numerically tagged in order to work with the toolkit.
The options
allowed_substructures
andfiltered_substructures
are mutually exclusive.
Show JSON schema
{ "title": "SmartsFilter", "description": "Filters molecules based on if they contain certain smarts substructures.\n\nNote:\n * The smarts tags used for filtering should be numerically tagged in order to work with the toolkit.\n * The options ``allowed_substructures`` and ``filtered_substructures`` are mutually exclusive.", "type": "object", "properties": { "type": { "title": "Type", "default": "SmartsFilter", "enum": [ "SmartsFilter" ], "type": "string" }, "allowed_substructures": { "title": "Allowed Substructures", "description": "The list of allowed substructures which should be tagged with indices.", "type": "array", "items": { "type": "string" } }, "filtered_substructures": { "title": "Filtered Substructures", "description": "The list of substructures which should be filtered.", "type": "array", "items": { "type": "string" } } } }
- Config
allow_mutation: bool = True
validate_assignment: bool = True
- Fields
allowed_substructures (Optional[List[str]])
filtered_substructures (Optional[List[str]])
type (Literal['SmartsFilter'])
- Validators
_validate_mutually_exclusive
»all fields
check_environments
»allowed_substructures
check_environments
»filtered_substructures
- field allowed_substructures: Optional[List[str]] = None
The list of allowed substructures which should be tagged with indices.
- Validated by
_validate_mutually_exclusive
check_environments
- field filtered_substructures: Optional[List[str]] = None
The list of substructures which should be filtered.
- Validated by
_validate_mutually_exclusive
check_environments
- classmethod description()[source]
Returns a friendly description of the workflow component.
- Return type
- classmethod fail_reason()[source]
Returns a friendly description of why a molecule would fail to pass the component.
- Return type
- classmethod properties()[source]
Returns the runtime properties of the component such as parallel safe.
- 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
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
- 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