# WorkflowSchema

class `openff.evaluator.workflow.schemas.``WorkflowSchema`

  The schematic for a property estimation workflow.

  `__init__`()

    Initialize self. See help(type(self)) for accurate signature.

  Methods

  `__init__` | Initialize self.
  `from_json`(file_path) | Create this object from a JSON file.
  `get_attributes`([attribute_type]) | Returns all attributes of a specific attribute_type.
  `json`([file_path, format]) | Creates a JSON representation of this class.
  `parse_json`(string_contents[, encoding]) | Parses a typed json string into the corresponding class structure.
  `replace_protocol_types`(protocol_replacements) | Replaces protocols with given types with other protocols of specified replacements.
  `validate`([attribute_type]) | Validate the values of the attributes.

  Attributes

  `final_value_source` | A reference to which protocol output corresponds to the estimated value of the property.
  `gradients_sources` | A list of references the protcol outputs which correspond to the gradients of the estimated property with respect to specified force field parameters.
  `outputs_to_store` | A collection of data classes to populate ready to be stored by a StorageBackend.
  `protocol_replicators` | A set of replicators which will replicate parts of the workflow.
  `protocol_schemas` | The schemas for the protocols which will make up the workflow.

  `protocol_schemas`

    The schemas for the protocols which will make up the workflow. The default value of this attribute is `[]`.

    Type

      list

  `protocol_replicators`

    A set of replicators which will replicate parts of the workflow. The default value of this attribute is not set. This attribute is optional.

    Type

      list

  `final_value_source`

    A reference to which protocol output corresponds to the estimated value of the property. The default value of this attribute is not set. This attribute is optional.

    Type

      ProtocolPath

  `gradients_sources`

    A list of references the protcol outputs which correspond to the gradients of the estimated property with respect to specified force field parameters. The default value of this attribute is not set. This attribute is optional.

    Type

      list

  `outputs_to_store`

    A collection of data classes to populate ready to be stored by a StorageBackend. The default value of this attribute is not set. This attribute is optional.

    Type

      dict

  `replace_protocol_types`(protocol_replacements, protocol_group_schema=None)

    Replaces protocols with given types with other protocols of specified replacements. This is useful when replacing the default protocols with custom ones, or swapping out base protocols with actual implementations

    Warning

    This method is NOT fully implemented and is likely to fail in all but a few specific cases. This method should be used with extreme caution.

    Parameters

      - protocol_replacements (dict of str and str, None) – A dictionary with keys of the types of protocols which should be replaced with those protocols named by the values.

      - protocol_group_schema (ProtocolGroupSchema) – The protocol group to apply the replacements to. This is mainly used when applying this method recursively.

  `validate`(attribute_type=None)

    Validate the values of the attributes. If attribute_type is set, only attributes of that type will be validated.

    Parameters

      attribute_type (type of Attribute, optional) – The type of attribute to validate.

    Raises

      ValueError or AssertionError –

  classmethod `from_json`(file_path)

    Create this object from a JSON file.

    Parameters

      file_path (str) – The path to load the JSON from.

    Returns

      The parsed class.

    Return type

      cls

  classmethod `get_attributes`(attribute_type=None)

    Returns all attributes of a specific attribute_type.

    Parameters

      attribute_type (type of Attribute, optional) – The type of attribute to search for.

    Returns

      The names of the attributes of the specified type.

    Return type

      list of str

  `json`(file_path=None, format=False)

    Creates a JSON representation of this class.

    Parameters

      - file_path (str , optional) – The (optional) file path to save the JSON file to.

      - format (bool) – Whether to format the JSON or not.

    Returns

      The JSON representation of this class.

    Return type

      str

  classmethod `parse_json`(string_contents, encoding='utf8')

    Parses a typed json string into the corresponding class structure.

    Parameters

      - string_contents (str or bytes) – The typed json string.

      - encoding (str) – The encoding of the string_contents.

    Returns

      The parsed class.

    Return type

      Any