# ProtocolPath

class `propertyestimator.workflow.utils.``ProtocolPath`(property_name='', *protocol_ids)

  Represents a pointer to the output of another protocol.

  `__init__`(property_name='', *protocol_ids)

    Constructs a new ProtocolPath object.

    Parameters

      - property_name (str) – The property name referenced by the path.

      - protocol_ids (str) – An args list of protocol ids in the order in which they will appear in the path.

  Methods

  `__init__`([property_name]) | Constructs a new ProtocolPath object.
  `append_uuid`(uuid) | Appends a uuid to each of the protocol id’s in the path
  `from_string`(existing_path_string) |
  `pop_next_in_path`() | Pops and then returns the leading protocol id from the path.
  `prepend_protocol_id`(id_to_prepend) | Prepend a new protocol id onto the front of the path.
  `replace_protocol`(old_id, new_id) | Redirect the input to point at a new protocol.
  `to_components`(path_string) | Splits a protocol path string into the property name, and the individual protocol ids.
  `validate`(v) |

  Attributes

  `full_path` | The full path referenced by this object.
  `is_global` |
  `last_protocol` | The leading protocol id of the path.
  `path_separator` |
  `property_name` | The property name pointed to by the path.
  `property_separator` |
  `protocol_path` | The full path referenced by this object excluding the property name.
  `start_protocol` | The leading protocol id of the path.

  property `property_name`

    The property name pointed to by the path.

    Type

      str

  property `start_protocol`

    The leading protocol id of the path.

    Type

      str

  property `last_protocol`

    The leading protocol id of the path.

    Type

      str

  property `protocol_path`

    The full path referenced by this object excluding the property name.

    Type

      str

  property `full_path`

    The full path referenced by this object.

    Type

      str

  static `to_components`(path_string)

    Splits a protocol path string into the property name, and the individual protocol ids.

    Parameters

      path_string (str) – The protocol path to split.

    Returns

      A tuple of the property name, and a list of the protocol ids in the path.

    Return type

      str, list of str

  `prepend_protocol_id`(id_to_prepend)

    Prepend a new protocol id onto the front of the path.

    Parameters

      id_to_prepend (str) – The protocol id to prepend to the path

  `pop_next_in_path`()

    Pops and then returns the leading protocol id from the path.

    Returns

      The previously leading protocol id.

    Return type

      str

  `append_uuid`(uuid)

    Appends a uuid to each of the protocol id’s in the path

    Parameters

      uuid (str) – The uuid to append.

  `replace_protocol`(old_id, new_id)

    Redirect the input to point at a new protocol.

    The main use of this method is when merging multiple protocols into one.

    Parameters

      - old_id (str) – The id of the protocol to replace.

      - new_id (str) – The id of the new protocol to use.