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 and filtered_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 type: Literal['SmartsFilter'] = 'SmartsFilter'
Validated by
  • _validate_mutually_exclusive

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

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

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