ts_ids_components.liquid_handler module#

This module contains components for liquid handler IDSs.

A liquid handler is an automated laboratory instrument designed for the precise manipulation and distribution of liquid volumes. It operates using a set of programmed instructions to aspirate (draw up) and dispense (release) liquid samples with high accuracy. Liquid handlers are instrumental in various scientific disciplines, such as genomics, drug discovery, and analytical chemistry, where handling precise quantities of liquids is crucial.

Liquid handlers employ robotic arms equipped with specialized tools, such as pipettes or probes, to perform various liquid-handling tasks. The system is typically programmed with specific protocols that dictate the volumes to be aspirated or dispensed, as well as the locations within well plates or other containers. The precision of liquid handlers is attributed to their ability to control factors like pipette speed, immersion depth, and dispensing rate. This level of precision is crucial in applications such as high-throughput screening, where numerous samples need consistent and accurate handling for reliable experimental outcomes. The automation provided by liquid handlers significantly enhances efficiency in laboratories, minimizing human error and facilitating complex liquid manipulations at a scale unattainable through manual methods.

Two significant aspects of data usage patterns in liquid handlers include sample/liquid transfers tracking and consumables usage tracking.

Sample tracking involves monitoring the movement and status of liquid samples throughout the liquid handling process. It helps track each sample from its original well position to the final destination well, along with all the intermediate wells it moves through throughout the process. It enables researchers to trace the history and handling of each sample, facilitates reproducibility and ensures the reliability of experimental results and provides a record for quality control and audit purposes.

Consumables usage tracking involves monitoring the usage of the liquid handler’s physical components, including pipettes, tips, and other accessories. It provides a detailed history of the types of pipettes and tips used, along with the frequency of their usage and unload events, enables precise tracking of consumables, such as pipette tips, facilitating inventory management, helps prevent contamination by tracking the usage of disposable components and supports compliance with regulatory requirements by maintaining thorough records of instrument performance and consumable usage.

Typically, a specific instrument IDS can have more fields than the ones present in these models. For example, if the instrument pipetting step has additional attributes, such as a pod name for example, this field can be added by inheriting from the PipettingStep class:

class CustomPipettingStep(PipettingStep):
    pod_name: Nullable[str]
Model LiquidHandlerHolder[source]#

Bases: Holder

Liquid handler holder with associated deck position

Show JSON schema
{
   "description": "Liquid handler holder with associated deck position",
   "type": "object",
   "properties": {
      "name": {
         "description": "Holder name.",
         "type": [
            "string",
            "null"
         ]
      },
      "type": {
         "description": "Holder type.",
         "type": [
            "string",
            "null"
         ]
      },
      "barcode": {
         "description": "Barcode assigned to a holder.",
         "type": [
            "string",
            "null"
         ]
      },
      "vendor": {
         "description": "Vendor of the holder",
         "type": [
            "string",
            "null"
         ]
      },
      "deck_position": {
         "description": "Position of the holder on a deck",
         "type": [
            "string",
            "null"
         ]
      }
   },
   "additionalProperties": false
}

Validators:

field deck_position: str | None#

Position of the holder on a deck

field vendor: str | None#

Vendor of the holder

Model LiquidHandlerLocation[source]#

Bases: Location

Liquid handler location in a liquid handler holder

Show JSON schema
{
   "description": "Liquid handler location in a liquid handler holder",
   "type": "object",
   "properties": {
      "position": {
         "description": "Raw position string.",
         "type": [
            "string",
            "null"
         ]
      },
      "row": {
         "description": "Row index of sample location in a plate or holder.",
         "type": [
            "number",
            "null"
         ]
      },
      "column": {
         "description": "Column index of sample location in a plate or holder.",
         "type": [
            "number",
            "null"
         ]
      },
      "index": {
         "description": "Index of sample location flattened to a single dimension.",
         "type": [
            "number",
            "null"
         ]
      },
      "holder": {
         "$ref": "#/definitions/LiquidHandlerHolder",
         "description": "Information about the holder to which the location belongs to"
      },
      "barcode": {
         "description": "Barcode associated with a tube location in a tube rack",
         "type": [
            "string",
            "null"
         ]
      }
   },
   "additionalProperties": false,
   "definitions": {
      "LiquidHandlerHolder": {
         "additionalProperties": false,
         "description": "Liquid handler holder with associated deck position",
         "properties": {
            "name": {
               "description": "Holder name.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "type": {
               "description": "Holder type.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "barcode": {
               "description": "Barcode assigned to a holder.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "vendor": {
               "description": "Vendor of the holder",
               "type": [
                  "string",
                  "null"
               ]
            },
            "deck_position": {
               "description": "Position of the holder on a deck",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      }
   }
}

Validators:

field barcode: str | None#

Barcode associated with a tube location in a tube rack

field holder: LiquidHandlerHolder#

Information about the holder to which the location belongs to

Model LiquidHandlerSample[source]#

Bases: Sample

Properties of a liquid handler sample at a specific location

Show JSON schema
{
   "description": "Properties of a liquid handler sample at a specific location",
   "type": "object",
   "properties": {
      "id": {
         "description": "Unique identifier assigned to a sample.",
         "type": [
            "string",
            "null"
         ]
      },
      "name": {
         "description": "Sample name.",
         "type": [
            "string",
            "null"
         ]
      },
      "barcode": {
         "description": "Barcode assigned to a sample.",
         "type": [
            "string",
            "null"
         ]
      },
      "batch": {
         "$ref": "#/definitions/Batch"
      },
      "set": {
         "$ref": "#/definitions/Set",
         "description": "Sample set."
      },
      "location": {
         "$ref": "#/definitions/LiquidHandlerLocation",
         "description": "Liquid handler sample location properties"
      },
      "compound": {
         "$ref": "#/definitions/Compound",
         "description": "Sample compound information."
      },
      "properties": {
         "type": "array",
         "items": {
            "$ref": "#/definitions/Property"
         },
         "description": "Sample properties."
      },
      "labels": {
         "description": "Sample labels.",
         "items": {
            "$ref": "#/definitions/Label"
         },
         "type": "array"
      },
      "liquid_class": {
         "description": "The broad category or group of the liquid sample, such as solvent, buffer, or reagent.",
         "type": [
            "string",
            "null"
         ]
      },
      "liquid_type": {
         "description": "The specific instance or formulation of the liquid sample within its liquid class",
         "type": [
            "string",
            "null"
         ]
      }
   },
   "additionalProperties": false,
   "definitions": {
      "Batch": {
         "additionalProperties": false,
         "description": "A Batch is the result of a single manufacturing run for a drug product that is made as specified groups or amounts,  within a specific time frame from the same raw materials that is intended to have uniform character and quality, within specified limits.",
         "properties": {
            "id": {
               "description": "Unique identifier assigned to a batch.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "name": {
               "description": "Batch name",
               "type": [
                  "string",
                  "null"
               ]
            },
            "barcode": {
               "description": "Barcode assigned to a batch",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "Compound": {
         "additionalProperties": false,
         "description": "A Compound is a specific chemical or biochemical structure or substance that is being investigated. A Compound may be any drug substance, drug product intermediate, or drug product across small molecules, and cell and gene therapy (CGT).",
         "properties": {
            "id": {
               "description": "Unique identifier assigned to a compound.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "name": {
               "description": "Compound name.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "Label": {
         "additionalProperties": false,
         "description": "A Label associated with a sample, along with metadata about the label including\nthe source of the label and times associated with the label such as when it was\ncreated or looked up.",
         "properties": {
            "source": {
               "$ref": "#/definitions/Source",
               "description": "Sample label data source information."
            },
            "name": {
               "description": "Sample label name.",
               "type": "string"
            },
            "value": {
               "description": "Sample label value.",
               "type": "string"
            },
            "time": {
               "$ref": "#/definitions/SampleTime",
               "description": "Time associated with the sample label."
            }
         },
         "required": [
            "source",
            "name",
            "value",
            "time"
         ],
         "type": "object"
      },
      "LiquidHandlerHolder": {
         "additionalProperties": false,
         "description": "Liquid handler holder with associated deck position",
         "properties": {
            "name": {
               "description": "Holder name.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "type": {
               "description": "Holder type.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "barcode": {
               "description": "Barcode assigned to a holder.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "vendor": {
               "description": "Vendor of the holder",
               "type": [
                  "string",
                  "null"
               ]
            },
            "deck_position": {
               "description": "Position of the holder on a deck",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "LiquidHandlerLocation": {
         "additionalProperties": false,
         "description": "Liquid handler location in a liquid handler holder",
         "properties": {
            "position": {
               "description": "Raw position string.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "row": {
               "description": "Row index of sample location in a plate or holder.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "column": {
               "description": "Column index of sample location in a plate or holder.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "index": {
               "description": "Index of sample location flattened to a single dimension.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "holder": {
               "$ref": "#/definitions/LiquidHandlerHolder",
               "description": "Information about the holder to which the location belongs to"
            },
            "barcode": {
               "description": "Barcode associated with a tube location in a tube rack",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "Property": {
         "additionalProperties": false,
         "description": "A property has a name and a value of any type, with metadata about the\nproperty including the source of the property and times associated with it\nsuch as when the property was created or looked up.",
         "properties": {
            "source": {
               "$ref": "#/definitions/Source",
               "description": "Sample property data source information."
            },
            "name": {
               "description": "Sample Property name.",
               "type": "string"
            },
            "value": {
               "description": "The original string value of the property.",
               "type": "string"
            },
            "value_data_type": {
               "$ref": "#/definitions/ValueDataType",
               "description": "This is the type of the original value."
            },
            "string_value": {
               "description": "If string_value has a value, then numerical_value, numerical_value_unit, and boolean_value all have to be null.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "numerical_value": {
               "description": "If numerical_value has a value, then string_value and boolean_value both have to be null.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "numerical_value_unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "boolean_value": {
               "description": "If boolean_value has a value, then numerical_value, numerical_value_unit, and string_value all have to be null.",
               "type": [
                  "boolean",
                  "null"
               ]
            },
            "time": {
               "$ref": "#/definitions/SampleTime",
               "description": "Time associated with the sample property."
            }
         },
         "required": [
            "source",
            "name",
            "value",
            "value_data_type",
            "string_value",
            "numerical_value",
            "numerical_value_unit",
            "boolean_value",
            "time"
         ],
         "type": "object"
      },
      "RawSampleTime": {
         "additionalProperties": false,
         "description": "The base model for time associated with a specific sample.",
         "properties": {
            "start": {
               "description": "Process/experiment/task start time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "created": {
               "description": "Data created time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "stop": {
               "description": "Process/experiment/task stop/finish time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "duration": {
               "description": "Process/experiment/task duration.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "last_updated": {
               "description": "Data last updated time of a file/method.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "acquired": {
               "description": "Data acquired/exported/captured time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "modified": {
               "description": "Data last modified/edited time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "lookup": {
               "description": "Raw sample data lookup time.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "lookup"
         ],
         "type": "object"
      },
      "SampleTime": {
         "additionalProperties": false,
         "description": "A model for experiment sample datetime values converted to a standard ISO format\nand their respective raw datetime values in the primary data.",
         "properties": {
            "start": {
               "description": "Process/experiment/task start time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "created": {
               "description": "Data created time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "stop": {
               "description": "Process/experiment/task stop/finish time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "duration": {
               "description": "Process/experiment/task duration.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "last_updated": {
               "description": "Data last updated time of a file/method.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "acquired": {
               "description": "Data acquired/exported/captured time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "modified": {
               "description": "Data last modified/edited time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "lookup": {
               "description": "Raw sample data lookup time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw": {
               "$ref": "#/definitions/RawSampleTime",
               "description": "Raw sample time values from primary data."
            }
         },
         "required": [
            "lookup"
         ],
         "type": "object"
      },
      "Set": {
         "additionalProperties": false,
         "description": "A group of Samples.",
         "properties": {
            "id": {
               "description": "Unique identifier assigned to a set.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "name": {
               "description": "Set name.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "Source": {
         "additionalProperties": false,
         "description": "The Source of information, such as a data file or a sample database.",
         "properties": {
            "name": {
               "description": "Source name.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "type": {
               "description": "Source type.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "name",
            "type"
         ],
         "type": "object"
      },
      "ValueDataType": {
         "description": "Allowed data type values.",
         "enum": [
            "string",
            "number",
            "boolean"
         ],
         "type": "string"
      }
   }
}

Validators:

field liquid_class: str | None#

The broad category or group of the liquid sample, such as solvent, buffer, or reagent.

field liquid_type: str | None#

The specific instance or formulation of the liquid sample within its liquid class

field location: LiquidHandlerLocation#

Liquid handler sample location properties

Model Tip[source]#

Bases: IdsElement

Properties of a tip used in a pipetting step

Show JSON schema
{
   "description": "Properties of a tip used in a pipetting step",
   "type": "object",
   "properties": {
      "id": {
         "description": "Identifier for the tip",
         "type": [
            "string",
            "null"
         ]
      },
      "type": {
         "description": "Type or model of the tip",
         "type": [
            "string",
            "null"
         ]
      },
      "vendor": {
         "description": "Vendor of the tip",
         "type": [
            "string",
            "null"
         ]
      },
      "number": {
         "description": "Index of the current tip",
         "type": [
            "integer",
            "null"
         ]
      }
   },
   "additionalProperties": false
}

Validators:

field id_: str | None (alias 'id')#

Identifier for the tip

field number: int | None#

Index of the current tip

field type_: str | None (alias 'type')#

Type or model of the tip

field vendor: str | None#

Vendor of the tip

Model PipettingStep[source]#

Bases: IdsElement

Pipetting step component

A pipetting step is a single aspirate or dispense event performed by a tip-based liquid handler. It is part of a liquid transfer operation, which can consist of multiple pipetting steps.

This class should almost always be used as part of a LiquidTransfer object and not on its own.

Show JSON schema
{
   "description": "Pipetting step component\n\nA pipetting step is a single aspirate or dispense event performed by a tip-based liquid handler.\nIt is part of a liquid transfer operation, which can consist of multiple pipetting steps.\n\nThis class should almost always be used as part of a LiquidTransfer object and not on its own.",
   "type": "object",
   "properties": {
      "time": {
         "$ref": "#/definitions/Time",
         "description": "The time when the pipetting step occurs"
      },
      "operation_type": {
         "description": "Pipetting step operation type, such as 'Aspirate' or 'Dispense'",
         "type": [
            "string",
            "null"
         ]
      },
      "device_name": {
         "description": "Device used for performing the pipetting step, such as a flexible channel arm or a multi-channel arm",
         "type": [
            "string",
            "null"
         ]
      },
      "volume": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "The liquid volume aspirated or dispensed during the pipetting step"
      },
      "flow_rate": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "The flow rate at which the liquid is aspirated or dispensed during the pipetting step"
      }
   },
   "additionalProperties": false,
   "definitions": {
      "RawTime": {
         "additionalProperties": false,
         "description": "The base model for capturing common time fields found in primary data.",
         "properties": {
            "start": {
               "description": "Process/experiment/task start time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "created": {
               "description": "Data created time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "stop": {
               "description": "Process/experiment/task stop/finish time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "duration": {
               "description": "Process/experiment/task duration.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "last_updated": {
               "description": "Data last updated time of a file/method.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "acquired": {
               "description": "Data acquired/exported/captured time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "modified": {
               "description": "Data last modified/edited time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "lookup": {
               "description": "Data lookup time.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      },
      "Time": {
         "additionalProperties": false,
         "description": "A model for datetime values converted to a standard ISO format and their\nrespective raw datetime values in the primary data.",
         "properties": {
            "start": {
               "description": "Process/experiment/task start time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "created": {
               "description": "Data created time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "stop": {
               "description": "Process/experiment/task stop/finish time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "duration": {
               "description": "Process/experiment/task duration.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "last_updated": {
               "description": "Data last updated time of a file/method.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "acquired": {
               "description": "Data acquired/exported/captured time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "modified": {
               "description": "Data last modified/edited time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "lookup": {
               "description": "Data lookup time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw": {
               "$ref": "#/definitions/RawTime",
               "description": "Raw time values from primary data."
            }
         },
         "type": "object"
      }
   }
}

Validators:

field device_name: str | None#

Device used for performing the pipetting step, such as a flexible channel arm or a multi-channel arm

field flow_rate: RawValueUnit#

The flow rate at which the liquid is aspirated or dispensed during the pipetting step

field operation_type: str | None#

Pipetting step operation type, such as ‘Aspirate’ or ‘Dispense’

field time: Time#

The time when the pipetting step occurs

field volume: RawValueUnit#

The liquid volume aspirated or dispensed during the pipetting step

Model LiquidTransfer[source]#

Bases: IdsElement

Liquid transfer component

Show JSON schema
{
   "description": "Liquid transfer component",
   "type": "object",
   "properties": {
      "id": {
         "description": "Unique identifier for the liquid transfer operation",
         "type": [
            "string",
            "null"
         ]
      },
      "time": {
         "$ref": "#/definitions/Time",
         "description": "The time when the liquid transfer starts and ends and the duration of the transfer. Although the pipetting steps have their own timestamps, the liquid transfer time is here to provide query convenience."
      },
      "transfer_mechanism": {
         "description": "The mechanism used for the liquid transfer, such as 'pipette' or 'acoustic'",
         "type": [
            "string",
            "null"
         ]
      },
      "tip": {
         "$ref": "#/definitions/Tip",
         "description": "Information about the tip used for the liquid transfer step"
      },
      "sample": {
         "$ref": "#/definitions/LiquidHandlerSample",
         "description": "Information about the liquid handler sample being transferred"
      },
      "source": {
         "$ref": "#/definitions/LiquidHandlerLocation",
         "description": "source location"
      },
      "destination": {
         "$ref": "#/definitions/LiquidHandlerLocation",
         "description": "destination location"
      },
      "volume": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "The volume of liquid being transferred"
      },
      "pipetting_steps": {
         "description": "List of pipetting steps involved in the liquid transfer",
         "items": {
            "$ref": "#/definitions/PipettingStep"
         },
         "type": "array"
      }
   },
   "additionalProperties": false,
   "definitions": {
      "Batch": {
         "additionalProperties": false,
         "description": "A Batch is the result of a single manufacturing run for a drug product that is made as specified groups or amounts,  within a specific time frame from the same raw materials that is intended to have uniform character and quality, within specified limits.",
         "properties": {
            "id": {
               "description": "Unique identifier assigned to a batch.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "name": {
               "description": "Batch name",
               "type": [
                  "string",
                  "null"
               ]
            },
            "barcode": {
               "description": "Barcode assigned to a batch",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "Compound": {
         "additionalProperties": false,
         "description": "A Compound is a specific chemical or biochemical structure or substance that is being investigated. A Compound may be any drug substance, drug product intermediate, or drug product across small molecules, and cell and gene therapy (CGT).",
         "properties": {
            "id": {
               "description": "Unique identifier assigned to a compound.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "name": {
               "description": "Compound name.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "Label": {
         "additionalProperties": false,
         "description": "A Label associated with a sample, along with metadata about the label including\nthe source of the label and times associated with the label such as when it was\ncreated or looked up.",
         "properties": {
            "source": {
               "$ref": "#/definitions/Source",
               "description": "Sample label data source information."
            },
            "name": {
               "description": "Sample label name.",
               "type": "string"
            },
            "value": {
               "description": "Sample label value.",
               "type": "string"
            },
            "time": {
               "$ref": "#/definitions/SampleTime",
               "description": "Time associated with the sample label."
            }
         },
         "required": [
            "source",
            "name",
            "value",
            "time"
         ],
         "type": "object"
      },
      "LiquidHandlerHolder": {
         "additionalProperties": false,
         "description": "Liquid handler holder with associated deck position",
         "properties": {
            "name": {
               "description": "Holder name.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "type": {
               "description": "Holder type.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "barcode": {
               "description": "Barcode assigned to a holder.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "vendor": {
               "description": "Vendor of the holder",
               "type": [
                  "string",
                  "null"
               ]
            },
            "deck_position": {
               "description": "Position of the holder on a deck",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "LiquidHandlerLocation": {
         "additionalProperties": false,
         "description": "Liquid handler location in a liquid handler holder",
         "properties": {
            "position": {
               "description": "Raw position string.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "row": {
               "description": "Row index of sample location in a plate or holder.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "column": {
               "description": "Column index of sample location in a plate or holder.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "index": {
               "description": "Index of sample location flattened to a single dimension.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "holder": {
               "$ref": "#/definitions/LiquidHandlerHolder",
               "description": "Information about the holder to which the location belongs to"
            },
            "barcode": {
               "description": "Barcode associated with a tube location in a tube rack",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "LiquidHandlerSample": {
         "additionalProperties": false,
         "description": "Properties of a liquid handler sample at a specific location",
         "properties": {
            "id": {
               "description": "Unique identifier assigned to a sample.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "name": {
               "description": "Sample name.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "barcode": {
               "description": "Barcode assigned to a sample.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "batch": {
               "$ref": "#/definitions/Batch"
            },
            "set": {
               "$ref": "#/definitions/Set",
               "description": "Sample set."
            },
            "location": {
               "$ref": "#/definitions/LiquidHandlerLocation",
               "description": "Liquid handler sample location properties"
            },
            "compound": {
               "$ref": "#/definitions/Compound",
               "description": "Sample compound information."
            },
            "properties": {
               "type": "array",
               "items": {
                  "$ref": "#/definitions/Property"
               },
               "description": "Sample properties."
            },
            "labels": {
               "description": "Sample labels.",
               "items": {
                  "$ref": "#/definitions/Label"
               },
               "type": "array"
            },
            "liquid_class": {
               "description": "The broad category or group of the liquid sample, such as solvent, buffer, or reagent.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "liquid_type": {
               "description": "The specific instance or formulation of the liquid sample within its liquid class",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "PipettingStep": {
         "additionalProperties": false,
         "description": "Pipetting step component\n\nA pipetting step is a single aspirate or dispense event performed by a tip-based liquid handler.\nIt is part of a liquid transfer operation, which can consist of multiple pipetting steps.\n\nThis class should almost always be used as part of a LiquidTransfer object and not on its own.",
         "properties": {
            "time": {
               "$ref": "#/definitions/Time",
               "description": "The time when the pipetting step occurs"
            },
            "operation_type": {
               "description": "Pipetting step operation type, such as 'Aspirate' or 'Dispense'",
               "type": [
                  "string",
                  "null"
               ]
            },
            "device_name": {
               "description": "Device used for performing the pipetting step, such as a flexible channel arm or a multi-channel arm",
               "type": [
                  "string",
                  "null"
               ]
            },
            "volume": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "The liquid volume aspirated or dispensed during the pipetting step"
            },
            "flow_rate": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "The flow rate at which the liquid is aspirated or dispensed during the pipetting step"
            }
         },
         "type": "object"
      },
      "Property": {
         "additionalProperties": false,
         "description": "A property has a name and a value of any type, with metadata about the\nproperty including the source of the property and times associated with it\nsuch as when the property was created or looked up.",
         "properties": {
            "source": {
               "$ref": "#/definitions/Source",
               "description": "Sample property data source information."
            },
            "name": {
               "description": "Sample Property name.",
               "type": "string"
            },
            "value": {
               "description": "The original string value of the property.",
               "type": "string"
            },
            "value_data_type": {
               "$ref": "#/definitions/ValueDataType",
               "description": "This is the type of the original value."
            },
            "string_value": {
               "description": "If string_value has a value, then numerical_value, numerical_value_unit, and boolean_value all have to be null.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "numerical_value": {
               "description": "If numerical_value has a value, then string_value and boolean_value both have to be null.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "numerical_value_unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "boolean_value": {
               "description": "If boolean_value has a value, then numerical_value, numerical_value_unit, and string_value all have to be null.",
               "type": [
                  "boolean",
                  "null"
               ]
            },
            "time": {
               "$ref": "#/definitions/SampleTime",
               "description": "Time associated with the sample property."
            }
         },
         "required": [
            "source",
            "name",
            "value",
            "value_data_type",
            "string_value",
            "numerical_value",
            "numerical_value_unit",
            "boolean_value",
            "time"
         ],
         "type": "object"
      },
      "RawSampleTime": {
         "additionalProperties": false,
         "description": "The base model for time associated with a specific sample.",
         "properties": {
            "start": {
               "description": "Process/experiment/task start time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "created": {
               "description": "Data created time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "stop": {
               "description": "Process/experiment/task stop/finish time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "duration": {
               "description": "Process/experiment/task duration.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "last_updated": {
               "description": "Data last updated time of a file/method.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "acquired": {
               "description": "Data acquired/exported/captured time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "modified": {
               "description": "Data last modified/edited time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "lookup": {
               "description": "Raw sample data lookup time.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "lookup"
         ],
         "type": "object"
      },
      "RawTime": {
         "additionalProperties": false,
         "description": "The base model for capturing common time fields found in primary data.",
         "properties": {
            "start": {
               "description": "Process/experiment/task start time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "created": {
               "description": "Data created time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "stop": {
               "description": "Process/experiment/task stop/finish time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "duration": {
               "description": "Process/experiment/task duration.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "last_updated": {
               "description": "Data last updated time of a file/method.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "acquired": {
               "description": "Data acquired/exported/captured time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "modified": {
               "description": "Data last modified/edited time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "lookup": {
               "description": "Data lookup time.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      },
      "SampleTime": {
         "additionalProperties": false,
         "description": "A model for experiment sample datetime values converted to a standard ISO format\nand their respective raw datetime values in the primary data.",
         "properties": {
            "start": {
               "description": "Process/experiment/task start time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "created": {
               "description": "Data created time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "stop": {
               "description": "Process/experiment/task stop/finish time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "duration": {
               "description": "Process/experiment/task duration.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "last_updated": {
               "description": "Data last updated time of a file/method.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "acquired": {
               "description": "Data acquired/exported/captured time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "modified": {
               "description": "Data last modified/edited time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "lookup": {
               "description": "Raw sample data lookup time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw": {
               "$ref": "#/definitions/RawSampleTime",
               "description": "Raw sample time values from primary data."
            }
         },
         "required": [
            "lookup"
         ],
         "type": "object"
      },
      "Set": {
         "additionalProperties": false,
         "description": "A group of Samples.",
         "properties": {
            "id": {
               "description": "Unique identifier assigned to a set.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "name": {
               "description": "Set name.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "Source": {
         "additionalProperties": false,
         "description": "The Source of information, such as a data file or a sample database.",
         "properties": {
            "name": {
               "description": "Source name.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "type": {
               "description": "Source type.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "name",
            "type"
         ],
         "type": "object"
      },
      "Time": {
         "additionalProperties": false,
         "description": "A model for datetime values converted to a standard ISO format and their\nrespective raw datetime values in the primary data.",
         "properties": {
            "start": {
               "description": "Process/experiment/task start time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "created": {
               "description": "Data created time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "stop": {
               "description": "Process/experiment/task stop/finish time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "duration": {
               "description": "Process/experiment/task duration.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "last_updated": {
               "description": "Data last updated time of a file/method.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "acquired": {
               "description": "Data acquired/exported/captured time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "modified": {
               "description": "Data last modified/edited time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "lookup": {
               "description": "Data lookup time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw": {
               "$ref": "#/definitions/RawTime",
               "description": "Raw time values from primary data."
            }
         },
         "type": "object"
      },
      "Tip": {
         "additionalProperties": false,
         "description": "Properties of a tip used in a pipetting step",
         "properties": {
            "id": {
               "description": "Identifier for the tip",
               "type": [
                  "string",
                  "null"
               ]
            },
            "type": {
               "description": "Type or model of the tip",
               "type": [
                  "string",
                  "null"
               ]
            },
            "vendor": {
               "description": "Vendor of the tip",
               "type": [
                  "string",
                  "null"
               ]
            },
            "number": {
               "description": "Index of the current tip",
               "type": [
                  "integer",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "ValueDataType": {
         "description": "Allowed data type values.",
         "enum": [
            "string",
            "number",
            "boolean"
         ],
         "type": "string"
      }
   }
}

Validators:

field destination: LiquidHandlerLocation#

destination location

field id_: str | None (alias 'id')#

Unique identifier for the liquid transfer operation

field pipetting_steps: List[PipettingStep]#

List of pipetting steps involved in the liquid transfer

field sample: LiquidHandlerSample#

Information about the liquid handler sample being transferred

field source: LiquidHandlerLocation#

source location

field time: Time#

The time when the liquid transfer starts and ends and the duration of the transfer. Although the pipetting steps have their own timestamps, the liquid transfer time is here to provide query convenience.

field tip: Tip#

Information about the tip used for the liquid transfer step

field transfer_mechanism: str | None#

The mechanism used for the liquid transfer, such as ‘pipette’ or ‘acoustic’

field volume: RawValueUnit#

The volume of liquid being transferred

Model TipEvent[source]#

Bases: IdsElement

Tip load/unload event

Show JSON schema
{
   "description": "Tip load/unload event",
   "type": "object",
   "properties": {
      "time": {
         "$ref": "#/definitions/Time",
         "description": "Timestamp indicating when the tip load/unload event occurred"
      },
      "tip_type": {
         "description": "Type or model of the loaded/unloaded tip",
         "type": [
            "string",
            "null"
         ]
      },
      "tip_count": {
         "description": "Number of tips loaded/unloaded during the event",
         "type": [
            "integer",
            "null"
         ]
      },
      "holder": {
         "$ref": "#/definitions/LiquidHandlerHolder",
         "description": "Information about the holder to which the tips are loaded/unloaded"
      }
   },
   "additionalProperties": false,
   "definitions": {
      "LiquidHandlerHolder": {
         "additionalProperties": false,
         "description": "Liquid handler holder with associated deck position",
         "properties": {
            "name": {
               "description": "Holder name.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "type": {
               "description": "Holder type.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "barcode": {
               "description": "Barcode assigned to a holder.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "vendor": {
               "description": "Vendor of the holder",
               "type": [
                  "string",
                  "null"
               ]
            },
            "deck_position": {
               "description": "Position of the holder on a deck",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "RawTime": {
         "additionalProperties": false,
         "description": "The base model for capturing common time fields found in primary data.",
         "properties": {
            "start": {
               "description": "Process/experiment/task start time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "created": {
               "description": "Data created time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "stop": {
               "description": "Process/experiment/task stop/finish time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "duration": {
               "description": "Process/experiment/task duration.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "last_updated": {
               "description": "Data last updated time of a file/method.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "acquired": {
               "description": "Data acquired/exported/captured time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "modified": {
               "description": "Data last modified/edited time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "lookup": {
               "description": "Data lookup time.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "Time": {
         "additionalProperties": false,
         "description": "A model for datetime values converted to a standard ISO format and their\nrespective raw datetime values in the primary data.",
         "properties": {
            "start": {
               "description": "Process/experiment/task start time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "created": {
               "description": "Data created time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "stop": {
               "description": "Process/experiment/task stop/finish time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "duration": {
               "description": "Process/experiment/task duration.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "last_updated": {
               "description": "Data last updated time of a file/method.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "acquired": {
               "description": "Data acquired/exported/captured time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "modified": {
               "description": "Data last modified/edited time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "lookup": {
               "description": "Data lookup time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw": {
               "$ref": "#/definitions/RawTime",
               "description": "Raw time values from primary data."
            }
         },
         "type": "object"
      }
   }
}

Validators:

field holder: LiquidHandlerHolder#

Information about the holder to which the tips are loaded/unloaded

field time: Time#

Timestamp indicating when the tip load/unload event occurred

field tip_count: int | None#

Number of tips loaded/unloaded during the event

field tip_type: str | None#

Type or model of the loaded/unloaded tip

Model TipUsage[source]#

Bases: IdsElement

Tip usage component

Show JSON schema
{
   "description": "Tip usage component",
   "type": "object",
   "properties": {
      "tip_type": {
         "description": "Type or model of the tip for which usage statistics are recorded",
         "type": [
            "string",
            "null"
         ]
      },
      "tip_events": {
         "description": "List of individual tip load/unload events",
         "items": {
            "$ref": "#/definitions/TipEvent"
         },
         "type": "array"
      },
      "total_tip_events": {
         "description": "Total count of tip load/unload events for the specified tip type",
         "type": [
            "integer",
            "null"
         ]
      },
      "total_tips": {
         "description": "Total count of tips loaded/unloaded for the specified tip type",
         "type": [
            "integer",
            "null"
         ]
      }
   },
   "additionalProperties": false,
   "definitions": {
      "LiquidHandlerHolder": {
         "additionalProperties": false,
         "description": "Liquid handler holder with associated deck position",
         "properties": {
            "name": {
               "description": "Holder name.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "type": {
               "description": "Holder type.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "barcode": {
               "description": "Barcode assigned to a holder.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "vendor": {
               "description": "Vendor of the holder",
               "type": [
                  "string",
                  "null"
               ]
            },
            "deck_position": {
               "description": "Position of the holder on a deck",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "RawTime": {
         "additionalProperties": false,
         "description": "The base model for capturing common time fields found in primary data.",
         "properties": {
            "start": {
               "description": "Process/experiment/task start time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "created": {
               "description": "Data created time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "stop": {
               "description": "Process/experiment/task stop/finish time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "duration": {
               "description": "Process/experiment/task duration.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "last_updated": {
               "description": "Data last updated time of a file/method.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "acquired": {
               "description": "Data acquired/exported/captured time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "modified": {
               "description": "Data last modified/edited time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "lookup": {
               "description": "Data lookup time.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "Time": {
         "additionalProperties": false,
         "description": "A model for datetime values converted to a standard ISO format and their\nrespective raw datetime values in the primary data.",
         "properties": {
            "start": {
               "description": "Process/experiment/task start time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "created": {
               "description": "Data created time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "stop": {
               "description": "Process/experiment/task stop/finish time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "duration": {
               "description": "Process/experiment/task duration.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "last_updated": {
               "description": "Data last updated time of a file/method.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "acquired": {
               "description": "Data acquired/exported/captured time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "modified": {
               "description": "Data last modified/edited time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "lookup": {
               "description": "Data lookup time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw": {
               "$ref": "#/definitions/RawTime",
               "description": "Raw time values from primary data."
            }
         },
         "type": "object"
      },
      "TipEvent": {
         "additionalProperties": false,
         "description": "Tip load/unload event",
         "properties": {
            "time": {
               "$ref": "#/definitions/Time",
               "description": "Timestamp indicating when the tip load/unload event occurred"
            },
            "tip_type": {
               "description": "Type or model of the loaded/unloaded tip",
               "type": [
                  "string",
                  "null"
               ]
            },
            "tip_count": {
               "description": "Number of tips loaded/unloaded during the event",
               "type": [
                  "integer",
                  "null"
               ]
            },
            "holder": {
               "$ref": "#/definitions/LiquidHandlerHolder",
               "description": "Information about the holder to which the tips are loaded/unloaded"
            }
         },
         "type": "object"
      }
   }
}

Validators:

field tip_events: List[TipEvent]#

List of individual tip load/unload events

field tip_type: str | None#

Type or model of the tip for which usage statistics are recorded

field total_tip_events: int | None#

Total count of tip load/unload events for the specified tip type

field total_tips: int | None#

Total count of tips loaded/unloaded for the specified tip type