ts_ids_core.schema package¶
Subpackages¶
Submodules¶
- ts_ids_core.schema.datacube module
- ts_ids_core.schema.dimension module
- ts_ids_core.schema.ids_schema module
- ts_ids_core.schema.measure module
- ts_ids_core.schema.modifier module
- ts_ids_core.schema.parameter module
- ts_ids_core.schema.project module
- ts_ids_core.schema.related_file module
- ts_ids_core.schema.run module
- ts_ids_core.schema.sample module
- ts_ids_core.schema.system module
- ts_ids_core.schema.time_ module
- ts_ids_core.schema.user module
- ts_ids_core.schema.value_unit module
Module contents¶
- Model Assay[source]¶
Bases:
IdsElementAn Assay is an analytical measurement procedure that produces a detectable signal, allowing a process to be qualified and quantified.
Show JSON schema
{ "description": "An Assay is an analytical measurement procedure that produces a detectable signal, allowing a process to be qualified and quantified.", "type": "object", "properties": { "id": { "description": "Unique identifier assigned to an assay.", "type": [ "string", "null" ] }, "name": { "description": "A human-readable name given to the assay.", "type": [ "string", "null" ] }, "description": { "description": "A human-readable description given to the assay", "type": [ "string", "null" ] } }, "additionalProperties": false }
- Validators:
all_abstract_fields_implemented»all fields
- Model Batch[source]¶
Bases:
IdsElementA 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.
Show JSON schema
{ "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.", "type": "object", "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" ] } }, "additionalProperties": false }
- Validators:
all_abstract_fields_implemented»all fields
- Model Checksum[source]¶
Bases:
IdsElementChecksum value and algorithm associated with a file.
Show JSON schema
{ "description": "Checksum value and algorithm associated with a file.", "type": "object", "properties": { "value": { "description": "Checksum string value.", "type": "string" }, "algorithm": { "description": "Checksum algorithm, e.g. 'md5', 'sha256'.", "type": [ "string", "null" ] } }, "additionalProperties": false, "required": [ "value", "algorithm" ] }
- Validators:
all_abstract_fields_implemented»all fields
- Model Compound[source]¶
Bases:
IdsElementA 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).
Show JSON schema
{ "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).", "type": "object", "properties": { "id": { "description": "Unique identifier assigned to a compound.", "type": [ "string", "null" ] }, "name": { "description": "Compound name.", "type": [ "string", "null" ] } }, "additionalProperties": false }
- Validators:
all_abstract_fields_implemented»all fields
- Model DataCube[source]¶
Bases:
IdsElementTetraScience designed model for multi-dimensional data.
Show JSON schema
{ "description": "TetraScience designed model for multi-dimensional data.", "type": "object", "properties": { "name": { "type": [ "string", "null" ] }, "measures": { "items": { "$ref": "#/definitions/Measure" }, "maxItems": 1, "minItems": 1, "type": "array" }, "dimensions": { "items": { "$ref": "#/definitions/Dimension" }, "maxItems": 2, "minItems": 2, "type": "array" } }, "additionalProperties": false, "required": [ "name", "measures", "dimensions" ], "definitions": { "Dimension": { "additionalProperties": false, "description": "A dimension of a DataCube", "properties": { "name": { "type": [ "string", "null" ] }, "unit": { "type": [ "string", "null" ] }, "scale": { "items": { "type": [ "number", "null" ] }, "type": "array" } }, "required": [ "name", "unit", "scale" ], "type": "object" }, "Measure": { "additionalProperties": false, "description": "A measure of a DataCube", "properties": { "name": { "type": [ "string", "null" ] }, "unit": { "type": [ "string", "null" ] }, "value": { "items": { "items": { "type": [ "number", "null" ] }, "type": "array" }, "type": "array" } }, "required": [ "name", "unit", "value" ], "type": "object" } } }
- Validators:
all_abstract_fields_implemented»all fieldsconsistent_number_of_dimensions»all fields
- field dimensions: Required[Annotated[List[Dimension], fixed_length(2)]]¶
- Constraints:
min_length = 2
max_length = 2
- field measures: Required[Annotated[List[Measure], fixed_length(1)]]¶
- Constraints:
min_length = 1
max_length = 1
- validator consistent_number_of_dimensions » all fields[source]¶
Assert that the dimensionality of all DataCube.measures[*].value is consistent with DataCube.dimensions[*].scale.
For example, consider the following
DataCubeclass that describes one-dimensional data:from typing import List from pydantic import conlist from ts_ids_core.annotations import Required from ts_ids_core.schema import DataCube, Dimension, Measure class ExampleMeasure(Measure): # note that `value` is one-dimensional to be consistent with the # `fixed_length` in the definition of `ExampleDataCube.dimensions`. value: List[float] class ExampleDataCube(DataCube): measures: Required[Annotated[List[Measure], fixed_length(1)]] dimensions: Required[Annotated[List[Dimension], fixed_length(1)]]
The following would be a valid
ExampleDataCubeinstance:example = DataCube( dimensions=[ Dimension( name="time", unit="second", scale=[0, 1, 2, 3, 4, 5], ), ], measures=[ ExampleMeasure( name="electrical_current", unit="MilliAmp", value=[0, 10, 20, 30, 40, 50], ), ] )
It’s valid because
len(example.measures[0].value) == len(example.dimensions[0].scale).- Validates:
all fields
- Model DataCubeMetadata[source]¶
Bases:
IdsElementDataCube metadata, with a file ID referencing a file in the data lake which contains DataCube dimension and measure values.
Show JSON schema
{ "description": "DataCube metadata, with a file ID referencing a file in the data lake which contains\nDataCube dimension and measure values.", "type": "object", "properties": { "index": { "description": "Index which relates dimension and measure values in the external data file with the metadata stored in this model.", "type": "integer" }, "name": { "type": [ "string", "null" ] }, "measures": { "items": { "$ref": "#/definitions/MeasureMetadata" }, "maxItems": 1, "minItems": 1, "type": "array" }, "dimensions": { "items": { "$ref": "#/definitions/DimensionMetadata" }, "maxItems": 2, "minItems": 2, "type": "array" }, "file_id": { "description": "The `fileId` of the file in the data lake containing DataCube data", "type": "string" } }, "additionalProperties": false, "required": [ "index", "name", "measures", "dimensions", "file_id" ], "definitions": { "DimensionMetadata": { "additionalProperties": false, "description": "Metadata for a dimension of a DataCube", "properties": { "name": { "type": [ "string", "null" ] }, "unit": { "type": [ "string", "null" ] } }, "required": [ "name", "unit" ], "type": "object" }, "MeasureMetadata": { "additionalProperties": false, "description": "Metadata for a measure of a DataCube", "properties": { "name": { "type": [ "string", "null" ] }, "unit": { "type": [ "string", "null" ] } }, "required": [ "name", "unit" ], "type": "object" } } }
- Validators:
all_abstract_fields_implemented»all fields
- field dimensions: Required[Annotated[List[DimensionMetadata], fixed_length(2)]]¶
- Constraints:
min_length = 2
max_length = 2
- field index: Required[int]¶
Index which relates dimension and measure values in the external data file with the metadata stored in this model.
- field measures: Required[Annotated[List[MeasureMetadata], fixed_length(1)]]¶
- Constraints:
min_length = 1
max_length = 1
- Model Dimension[source]¶
Bases:
DimensionMetadataA dimension of a DataCube
Show JSON schema
{ "description": "A dimension of a DataCube", "type": "object", "properties": { "name": { "type": [ "string", "null" ] }, "unit": { "type": [ "string", "null" ] }, "scale": { "items": { "type": [ "number", "null" ] }, "type": "array" } }, "additionalProperties": false, "required": [ "name", "unit", "scale" ] }
- Validators:
all_abstract_fields_implemented»all fields
- Model DimensionMetadata[source]¶
Bases:
IdsElementMetadata for a dimension of a DataCube
Show JSON schema
{ "description": "Metadata for a dimension of a DataCube", "type": "object", "properties": { "name": { "type": [ "string", "null" ] }, "unit": { "type": [ "string", "null" ] } }, "additionalProperties": false, "required": [ "name", "unit" ] }
- Validators:
all_abstract_fields_implemented»all fields
- Model Experiment[source]¶
Bases:
IdsElementAn Experiment is a scientific procedure to investigate a specific hypothesis or a research question. The primary and derived scientific data is used to test the hypothesis, or to provide insight into a particular process. An Experimental entry typically contains additional context, such as purpose, materials, method, and conclusions.
Show JSON schema
{ "description": "An Experiment is a scientific procedure to investigate a specific hypothesis or a research question. The primary and derived scientific data is used to test the hypothesis, or to provide insight into a particular process. An Experimental entry typically contains additional context, such as purpose, materials, method, and conclusions.", "type": "object", "properties": { "id": { "description": "Unique identifier assigned to a specific experiment conducted within a project. Most often generated within an electronic laboratory notebook (ELN).", "type": [ "string", "null" ] }, "name": { "description": "A human-readable name given to the experiment.", "type": [ "string", "null" ] }, "description": { "description": "A human-readable description given to the experiment.", "type": [ "string", "null" ] } }, "additionalProperties": false }
- Validators:
all_abstract_fields_implemented»all fields
- Model Firmware[source]¶
Bases:
IdsElementSystem firmware metadata.
Show JSON schema
{ "description": "System firmware metadata.", "type": "object", "properties": { "name": { "description": "Firmware name.", "type": [ "string", "null" ] }, "version": { "description": "Firmware version.", "type": [ "string", "null" ] } }, "additionalProperties": false, "required": [ "name", "version" ] }
- Validators:
all_abstract_fields_implemented»all fields
- Model Holder[source]¶
Bases:
IdsElementA sample container such as a microplate or a vial.
Show JSON schema
{ "description": "A sample container such as a microplate or a vial.", "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" ] } }, "additionalProperties": false }
- Validators:
all_abstract_fields_implemented»all fields
- Model IdsElement[source]¶
Bases:
BaseModelBase class for IDS models.
Show JSON schema
{ "description": "Base class for IDS models.", "type": "object", "properties": {}, "additionalProperties": false }
- Validators:
all_abstract_fields_implemented»all fields
- validator all_abstract_fields_implemented » all fields[source]¶
Assert no fields are abstract before being populated, i.e. they have all been implemented.
- Validates:
all fields
- dict(*, include: IncEx = None, exclude: IncEx = None, by_alias: bool = True, exclude_unset: bool = True, exclude_defaults: bool = False, exclude_none: bool = False) DictStrAny[source]¶
Return the model instance as a dictionary.
This is an alias of the model_dump method which is Pydantic’s default name for this functionality.
- model_dump(*, mode: Literal['json', 'python'] | str = 'python', include: IncEx = None, exclude: IncEx = None, by_alias: bool = True, exclude_unset: bool = True, exclude_defaults: bool = False, exclude_none: bool = False, round_trip: bool = False, warnings: bool = True) DictStrAny[source]¶
Export to a Python dictionary, excluding any fields whose values are not defined.
For the other parameters, see
pydantic.main.BaseModel.model_dump().- Parameters:
exclude_unset – This parameter is not used but is maintained in order to preserve the parent class’ API.
- Raises:
NotImplementedError – If any value other than the default is passed to
exclude_unset. Theexclude_unsetparameter is only to keep the API consistent with the parent class’ method,pydantic.BaseModel.model_dump().
- model_dump_json(*, indent: int | None = None, include: IncEx = None, exclude: IncEx = None, by_alias: bool = True, exclude_unset: bool = True, exclude_defaults: bool = False, exclude_none: bool = False, round_trip: bool = False, warnings: bool = True) str[source]¶
Export to JSON.
For the other parameters, see
pydantic.main.BaseModel.model_dump_json().Note exclude_unset may not be used, IDS models always have to exclude unset values so that IDS_UNDEFINED is handled correctly.
- Parameters:
exclude_unset – This parameter is not used but is maintained in order to preserve the parent class’ API.
- Raises:
NotImplementedError – If any value other than the default is passed to
exclude_unset. Theexclude_unsetparameter is only to keep the API consistent with the parent class’ method,pydantic.BaseModel.model_dump_json().
- classmethod model_json_schema(by_alias: bool = True, ref_template: str = '#/definitions/{model}', schema_generator: ~typing.Type[~pydantic.json_schema.GenerateJsonSchema] = <class 'ts_ids_core.base.ids_element.IdsSchemaGenerator'>, mode: typing_extensions.Literal[validation, serialization] = 'validation') Dict[str, Any][source]¶
Generates a JSON schema for a model class.
- Parameters:
by_alias – Whether to use field aliases in the JSON Schema. Defaults to True.
ref_template – The
$reftemplate. Defaults to ‘#/definitions/{model}’, wheremodelis replaced with thets_ids_core.base.ids_element.IdsElement’s class name.
- Returns:
The JSON Schema, as described above.
- Raises:
UnimplementedAbstractField – One or more abstract field(s) are not implemented.
InvalidSchemaMetadata – One or more of the schema metadata fields specified in
ts_ids_core.base.ids_element.schema_extra_metadataare invalid values.
- classmethod schema(by_alias: bool = True, ref_template: str = '#/definitions/{model}') Dict[str, Any][source]¶
Return the JSON Schema as a Python object.
This is an alias of the model_json_schema method which is Pydantic’s default name for this functionality.
- classmethod schema_json(*, by_alias: bool = True, ref_template: str = '#/definitions/{model}', **dumps_kwargs: Any) str[source]¶
Dump schema to json string. This method preserves Pydantic’s v1 BaseModel.schema_json functionality.
- Parameters:
by_alias – Whether to use field aliases in the JSON Schema. Defaults to True.
ref_template – The
$reftemplate. Defaults to ‘#/definitions/{model}’, wheremodelis replaced with thets_ids_core.base.ids_element.IdsElement’s class name.dumps_kwargs – Key word arguments passed to IdsElement.model_json_schema
- Returns:
IdsElement schema as string
- schema_extra_metadata: ClassVar[SchemaExtraMetadataType] = {}¶
Key/value pairs to add to the JSON Schema. These values will not be in the output of method
dict()norjson(). That is, they won’t be in the IDS instance. To indicate that the key/value pair is abstract and thus expected to be overridden by the child class, set the value toNotImplemented. Note that in child classes thetyping.ClassVartype hint must be provided in order to indicate thatschema_extra_metadatais not an IDS Field.
- IdsField(default: Any = IdsUndefined, primary_key: str | None = None, **kwargs: Any) Any[source]¶
Wrap the
pydantic.Field()function such that, fields default to a sentinel value for undefined (a.k.a. unknown or missing) values. As such, the field definition is compatible with schema defined usingts_ids_core.base.ids_element.IdsElement.- Parameters:
default – The default value to use for the field. Default set to a global instance of
ts_ids_core.base.ids_undefined_type.IdsUndefinedTypethat’s intended to be used as a singleton.primary_key – A JSON pointer to the primary key which this foreign key links to. For example, IdsField(primary_key=”/properties/samples/items/properties/pk”) would be used to define a foreign key which points to samples[*].pk. This pointer is validated when the IdsElement.schema method is called, validation fails if the target primary key field is not in the schema.
kwargs – All other keyword arguments are passed to
pydantic.Field().
- Returns:
The resulting
pydantic.fields.FieldInfoproduced bypydantic.Field().
- Model IdsSchema[source]¶
Bases:
IdsElementBase top-level IDS.
Show JSON schema
{ "description": "Base top-level IDS.", "type": "object", "properties": { "@idsType": { "description": "Also known as IDS slug. Defined by TetraScience.", "type": "string" }, "@idsVersion": { "description": "IDS version. Defined by TetraScience.", "type": "string" }, "@idsNamespace": { "description": "IDS namespace. Defined by TetraScience.", "type": "string" } }, "$id": "NotImplemented", "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "required": [ "@idsType", "@idsVersion", "@idsNamespace" ] }
- Validators:
all_abstract_fields_implemented»all fields
- field ids_namespace: Abstract[Required[str]] (alias '@idsNamespace')¶
IDS namespace. Defined by TetraScience.
- field ids_type: Abstract[Required[str]] (alias '@idsType')¶
Also known as IDS slug. Defined by TetraScience.
- field ids_version: Abstract[Required[str]] (alias '@idsVersion')¶
IDS version. Defined by TetraScience.
- validator is_valid_version_string » ids_version[source]¶
Assert that the passed-in value conforms to semantic versioning if the value is not None.
- Parameters:
value – The passed-in value to be validated.
- Returns:
The passed-in value, unchanged.
- Validates:
- schema_extra_metadata: ClassVar[SchemaExtraMetadataType] = {'$id': NotImplemented, '$schema': 'http://json-schema.org/draft-07/schema#'}¶
Key/value pairs to add to the JSON Schema. These values will not be in the output of method
dict()norjson(). That is, they won’t be in the IDS instance. To indicate that the key/value pair is abstract and thus expected to be overridden by the child class, set the value toNotImplemented. Note that in child classes thetyping.ClassVartype hint must be provided in order to indicate thatschema_extra_metadatais not an IDS Field.
- Model Label[source]¶
Bases:
IdsElementA Label associated with a sample, along with metadata about the label including the source of the label and times associated with the label such as when it was created or looked up.
Show JSON schema
{ "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.", "type": "object", "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." } }, "additionalProperties": false, "required": [ "source", "name", "value", "time" ], "definitions": { "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" }, "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" } } }
- Validators:
all_abstract_fields_implemented»all fields
- field time: Required[SampleTime]¶
Time associated with the sample label.
- Model Location[source]¶
Bases:
IdsElementThe Location of the sample within the holder, such as the location of a well in a microplate.
Show JSON schema
{ "description": "The Location of the sample within the holder, such as the location of a well in a microplate.", "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/Holder", "description": "Sample holder information" } }, "additionalProperties": false, "definitions": { "Holder": { "additionalProperties": false, "description": "A sample container such as a microplate or a vial.", "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" ] } }, "type": "object" } } }
- Validators:
all_abstract_fields_implemented»all fields
- Model Measure[source]¶
Bases:
MeasureBaseA measure of a DataCube
Show JSON schema
{ "description": "A measure of a DataCube", "type": "object", "properties": { "name": { "type": [ "string", "null" ] }, "unit": { "type": [ "string", "null" ] }, "value": { "items": { "items": { "type": [ "number", "null" ] }, "type": "array" }, "type": "array" } }, "additionalProperties": false, "required": [ "name", "unit", "value" ] }
- Validators:
all_abstract_fields_implemented»all fieldsvalidate_value_shape»value
- Model MeasureMetadata[source]¶
Bases:
IdsElementMetadata for a measure of a DataCube
Show JSON schema
{ "description": "Metadata for a measure of a DataCube", "type": "object", "properties": { "name": { "type": [ "string", "null" ] }, "unit": { "type": [ "string", "null" ] } }, "additionalProperties": false, "required": [ "name", "unit" ] }
- Validators:
all_abstract_fields_implemented»all fields
- Model Modifier[source]¶
Bases:
IdsElementA model to capture the numeric value and prefix (modifier) for a prefixed numeric string (e.g. ‘>1.0’).
Show JSON schema
{ "description": "A model to capture the numeric value and prefix (modifier) for a prefixed numeric string (e.g. '>1.0').", "type": "object", "properties": { "value": { "description": "Modifier value.", "type": "number" }, "modifier": { "$ref": "#/definitions/ModifierType", "description": "Modifier type." } }, "additionalProperties": false, "definitions": { "ModifierType": { "description": "An enumeration of observed modifiers in the primary data.", "enum": [ "<", ">", "<=", ">=", null ], "type": [ "string", "null" ] } } }
- Validators:
all_abstract_fields_implemented»all fields
- field modifier: ModifierType¶
Modifier type.
- class ModifierType(value)[source]¶
Bases:
EnumAn enumeration of observed modifiers in the primary data.
- GREATER_THAN = '>'¶
- GREATER_THAN_OR_EQUAL = '>='¶
- LESS_THAN = '<'¶
- LESS_THAN_OR_EQUAL = '<='¶
- NULL = None¶
- Model Parameter[source]¶
Bases:
IdsElementA structure for capturing individual values with varying datatypes.
Show JSON schema
{ "description": "A structure for capturing individual values with varying datatypes.", "type": "object", "properties": { "key": { "description": "This is the property name.", "type": "string" }, "value": { "description": "The original string value of the parameter from the raw file.", "type": "string" }, "value_data_type": { "$ref": "#/definitions/ValueDataType", "description": "This is the true type of the original value." }, "string_value": { "description": "If string_value has a value, then numerical_value, numerical_value_unit and boolean_value have to be null.", "type": [ "string", "null" ] }, "numerical_value": { "description": "If numerical_value has a value, then string_value and boolean_value 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 have to be null.", "type": [ "boolean", "null" ] } }, "additionalProperties": false, "definitions": { "ValueDataType": { "description": "Allowed data type values.", "enum": [ "string", "number", "boolean" ], "type": "string" } } }
- Validators:
all_abstract_fields_implemented»all fields
- field boolean_value: Nullable[bool]¶
If boolean_value has a value, then numerical_value, numerical_value_unit and string_value have to be null.
- field numerical_value: Nullable[float]¶
If numerical_value has a value, then string_value and boolean_value have to be null.
- field string_value: Nullable[str]¶
If string_value has a value, then numerical_value, numerical_value_unit and boolean_value have to be null.
- field value_data_type: ValueDataType¶
This is the true type of the original value.
- Model Pointer[source]¶
Bases:
IdsElementA pointer stores the location metadata of the file on TDP.
Show JSON schema
{ "description": "A pointer stores the location metadata of the file on TDP.", "type": "object", "properties": { "fileKey": { "description": "AWS S3 file key.", "type": "string" }, "version": { "description": "AWS S3 file version number.", "type": "string" }, "bucket": { "description": "AWS S3 bucket.", "type": "string" }, "type": { "description": "Type of the file, e.g. 's3file', 'parquet'.", "type": "string" }, "fileId": { "description": "File ID (UUID) in TDP.", "type": "string" } }, "additionalProperties": false, "required": [ "fileKey", "version", "bucket", "type", "fileId" ] }
- Validators:
all_abstract_fields_implemented»all fields
- Model Project[source]¶
Bases:
IdsElementA Project is a scientific or business program or initiative. A Project ID can be used to associate with the entire set of primary and derived scientific data from every experiment performed to advance a particular initiative, such as the development of an assay or a drug product.
Show JSON schema
{ "description": "A Project is a scientific or business program or initiative. A Project ID can be used to associate with the entire set of primary and derived scientific data from every experiment performed to advance a particular initiative, such as the development of an assay or a drug product.", "type": "object", "properties": { "id": { "description": "Unique identifier assigned to a project.", "type": [ "string", "null" ] }, "name": { "description": "A human-readable name given to the project.", "type": [ "string", "null" ] }, "description": { "description": "A human-readable description given to the project.", "type": [ "string", "null" ] } }, "additionalProperties": false }
- Validators:
all_abstract_fields_implemented»all fields
- Model ProjectAttributes[source]¶
Bases:
IdsElementA set of fields which uniquely identify and describe a particular initiative and methodologies used to produce the data in a given IDS. These attributes are commonly found in ELN and LIMS applications and allow users to organize data to associate related datasets.
Show JSON schema
{ "description": "A set of fields which uniquely identify and describe a particular initiative and methodologies used to produce the data in a given IDS. These attributes are commonly found in ELN and LIMS applications and allow users to organize data to associate related datasets.", "type": "object", "properties": { "project": { "$ref": "#/definitions/Project", "description": "Project metadata." }, "experiment": { "$ref": "#/definitions/Experiment", "description": "Experiment metadata." }, "assay": { "$ref": "#/definitions/Assay", "description": "Assay metadata." } }, "additionalProperties": false, "definitions": { "Assay": { "additionalProperties": false, "description": "An Assay is an analytical measurement procedure that produces a detectable signal, allowing a process to be qualified and quantified.", "properties": { "id": { "description": "Unique identifier assigned to an assay.", "type": [ "string", "null" ] }, "name": { "description": "A human-readable name given to the assay.", "type": [ "string", "null" ] }, "description": { "description": "A human-readable description given to the assay", "type": [ "string", "null" ] } }, "type": "object" }, "Experiment": { "additionalProperties": false, "description": "An Experiment is a scientific procedure to investigate a specific hypothesis or a research question. The primary and derived scientific data is used to test the hypothesis, or to provide insight into a particular process. An Experimental entry typically contains additional context, such as purpose, materials, method, and conclusions.", "properties": { "id": { "description": "Unique identifier assigned to a specific experiment conducted within a project. Most often generated within an electronic laboratory notebook (ELN).", "type": [ "string", "null" ] }, "name": { "description": "A human-readable name given to the experiment.", "type": [ "string", "null" ] }, "description": { "description": "A human-readable description given to the experiment.", "type": [ "string", "null" ] } }, "type": "object" }, "Project": { "additionalProperties": false, "description": "A Project is a scientific or business program or initiative. A Project ID can be used to associate with the entire set of primary and derived scientific data from every experiment performed to advance a particular initiative, such as the development of an assay or a drug product.", "properties": { "id": { "description": "Unique identifier assigned to a project.", "type": [ "string", "null" ] }, "name": { "description": "A human-readable name given to the project.", "type": [ "string", "null" ] }, "description": { "description": "A human-readable description given to the project.", "type": [ "string", "null" ] } }, "type": "object" } } }
- Validators:
all_abstract_fields_implemented»all fields
- field experiment: Experiment¶
Experiment metadata.
- Model Property[source]¶
Bases:
IdsElementA property has a name and a value of any type, with metadata about the property including the source of the property and times associated with it such as when the property was created or looked up.
Show JSON schema
{ "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.", "type": "object", "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." } }, "additionalProperties": false, "required": [ "source", "name", "value", "value_data_type", "string_value", "numerical_value", "numerical_value_unit", "boolean_value", "time" ], "definitions": { "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" }, "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:
all_abstract_fields_implemented»all fields
- field boolean_value: Required[Nullable[bool]]¶
If boolean_value has a value, then numerical_value, numerical_value_unit, and string_value all have to be null.
- field numerical_value: Required[Nullable[float]]¶
If numerical_value has a value, then string_value and boolean_value both have to be null.
- field string_value: Required[Nullable[str]]¶
If string_value has a value, then numerical_value, numerical_value_unit, and boolean_value all have to be null.
- field time: Required[SampleTime]¶
Time associated with the sample property.
- field value_data_type: Required[ValueDataType]¶
This is the type of the original value.
- Model RawSampleTime[source]¶
Bases:
RawTimeThe base model for time associated with a specific sample.
Show JSON schema
{ "description": "The base model for time associated with a specific sample.", "type": "object", "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" ] } }, "additionalProperties": false, "required": [ "lookup" ] }
- Validators:
all_abstract_fields_implemented»all fields
- Model RawTime[source]¶
Bases:
IdsElementThe base model for capturing common time fields found in primary data.
Show JSON schema
{ "description": "The base model for capturing common time fields found in primary data.", "type": "object", "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" ] } }, "additionalProperties": false }
- Validators:
all_abstract_fields_implemented»all fields
- Model RawValueUnit[source]¶
Bases:
ValueUnitA value with a unit, including the raw representation of the value from the primary data.
Show JSON schema
{ "description": "A value with a unit, including the raw representation of the value from the primary data.", "type": "object", "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" ] } }, "additionalProperties": false, "required": [ "value", "unit", "raw_value" ] }
- Validators:
all_abstract_fields_implemented»all fields
- Model RelatedFile[source]¶
Bases:
IdsElementA reference to a file related to this IDS stored on the Tetra Data Platform.
Show JSON schema
{ "description": "A reference to a file related to this IDS stored on the Tetra Data Platform.", "type": "object", "properties": { "name": { "description": "File name.", "type": [ "string", "null" ] }, "path": { "description": "File path.", "type": [ "string", "null" ] }, "size": { "$ref": "#/definitions/ValueUnit", "description": "File size." }, "checksum": { "$ref": "#/definitions/Checksum", "description": "File checksum." }, "pointer": { "$ref": "#/definitions/Pointer", "description": "File pointer to location on TDP." } }, "additionalProperties": false, "required": [ "pointer" ], "definitions": { "Checksum": { "additionalProperties": false, "description": "Checksum value and algorithm associated with a file.", "properties": { "value": { "description": "Checksum string value.", "type": "string" }, "algorithm": { "description": "Checksum algorithm, e.g. 'md5', 'sha256'.", "type": [ "string", "null" ] } }, "required": [ "value", "algorithm" ], "type": "object" }, "Pointer": { "additionalProperties": false, "description": "A pointer stores the location metadata of the file on TDP.", "properties": { "fileKey": { "description": "AWS S3 file key.", "type": "string" }, "version": { "description": "AWS S3 file version number.", "type": "string" }, "bucket": { "description": "AWS S3 bucket.", "type": "string" }, "type": { "description": "Type of the file, e.g. 's3file', 'parquet'.", "type": "string" }, "fileId": { "description": "File ID (UUID) in TDP.", "type": "string" } }, "required": [ "fileKey", "version", "bucket", "type", "fileId" ], "type": "object" }, "ValueUnit": { "additionalProperties": false, "description": "A quantity, represented by a value with a unit.", "properties": { "value": { "description": "A numerical value.", "type": [ "number", "null" ] }, "unit": { "description": "Unit for the numerical value.", "type": [ "string", "null" ] } }, "required": [ "value", "unit" ], "type": "object" } } }
- Validators:
all_abstract_fields_implemented»all fields
- Model Run[source]¶
Bases:
IdsElementA Run refers to a discrete period of time in which a performed process generates one or more data points for either a single or several related samples or generates a physical product. A Run typically refers to a particular execution of an instrument.
Show JSON schema
{ "description": "A Run refers to a discrete period of time in which a performed process generates one or more data points for either a single or several related samples or generates a physical product. A Run typically refers to a particular execution of an instrument.", "type": "object", "properties": { "id": { "description": "Unique identifier assigned to a specific run (execution) of an experiment.", "type": [ "string", "null" ] }, "name": { "description": "Name assigned to a specific run (execution) of an experiment.", "type": [ "string", "null" ] }, "logs": { "description": "Log messages recorded during a specific run (execution) of an experiment.", "items": { "type": "string" }, "type": "array" } }, "additionalProperties": false }
- Validators:
all_abstract_fields_implemented»all fields
- Model RunStatus[source]¶
Bases:
IdsElementStatus for a run.
Show JSON schema
{ "description": "Status for a run.", "type": "object", "properties": { "name": { "description": "Name of the status.", "type": "string" }, "value": { "description": "Text-based status like 'completed', 'failed', 'aborted', 'error'.", "type": "string" } }, "additionalProperties": false }
- Validators:
all_abstract_fields_implemented»all fields
- Model Sample[source]¶
Bases:
IdsElementA Sample is a discrete entity being observed in an experiment. For example, Samples may be characterized for product quality and stability, or be measured for research purposes.
Show JSON schema
{ "description": "A Sample is a discrete entity being observed in an experiment. For example, Samples may be characterized for product quality and stability, or be measured for research purposes.", "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/Location", "description": "Sample location information." }, "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" } }, "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" }, "Holder": { "additionalProperties": false, "description": "A sample container such as a microplate or a vial.", "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" ] } }, "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" }, "Location": { "additionalProperties": false, "description": "The Location of the sample within the holder, such as the location of a well in a microplate.", "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/Holder", "description": "Sample holder information" } }, "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:
all_abstract_fields_implemented»all fields
- Model SampleTime[source]¶
Bases:
RawSampleTimeA model for experiment sample datetime values converted to a standard ISO format and their respective raw datetime values in the primary data.
Show JSON schema
{ "description": "A model for experiment sample datetime values converted to a standard ISO format\nand their respective raw datetime values in the primary data.", "type": "object", "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." } }, "additionalProperties": false, "required": [ "lookup" ], "definitions": { "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" } } }
- Validators:
all_abstract_fields_implemented»all fields
- field raw: RawSampleTime¶
Raw sample time values from primary data.
- Model Set[source]¶
Bases:
IdsElementA group of Samples.
Show JSON schema
{ "description": "A group of Samples.", "type": "object", "properties": { "id": { "description": "Unique identifier assigned to a set.", "type": [ "string", "null" ] }, "name": { "description": "Set name.", "type": [ "string", "null" ] } }, "additionalProperties": false }
- Validators:
all_abstract_fields_implemented»all fields
- Model Software[source]¶
Bases:
IdsElementSoftware application that most recently handled the data (file) or the application the data (file) is intended for. For example, applications can include Electronic Lab Notebooks (ELN), Instrument Control Software (ICS), Chromatography Data Systems (CDS), or instrument-specific analysis software.
Show JSON schema
{ "description": "Software application that most recently handled the data (file) or the application\nthe data (file) is intended for. For example, applications can include Electronic\nLab Notebooks (ELN), Instrument Control Software (ICS), Chromatography Data Systems\n(CDS), or instrument-specific analysis software.", "type": "object", "properties": { "name": { "description": "Software name.", "type": [ "string", "null" ] }, "version": { "description": "Software version.", "type": [ "string", "null" ] } }, "additionalProperties": false, "required": [ "name", "version" ] }
- Validators:
all_abstract_fields_implemented»all fields
- Model Source[source]¶
Bases:
IdsElementThe Source of information, such as a data file or a sample database.
Show JSON schema
{ "description": "The Source of information, such as a data file or a sample database.", "type": "object", "properties": { "name": { "description": "Source name.", "type": [ "string", "null" ] }, "type": { "description": "Source type.", "type": [ "string", "null" ] } }, "additionalProperties": false, "required": [ "name", "type" ] }
- Validators:
all_abstract_fields_implemented»all fields
- Model System[source]¶
Bases:
IdsElementMetadata regarding the equipment, software, and firmware used in a run of an instrument or experiment.
Show JSON schema
{ "description": "Metadata regarding the equipment, software, and firmware used in a run of an\ninstrument or experiment.", "type": "object", "properties": { "vendor": { "description": "The instrument vendor or manufacturer, like 'PerkinElmer' or 'Agilent'.", "type": [ "string", "null" ] }, "model": { "description": "A specific model instrument type from a vendor.", "type": [ "string", "null" ] }, "type": { "description": "Indicates the type of instrument that's generating data.", "type": [ "string", "null" ] } }, "additionalProperties": false, "required": [ "vendor", "model", "type" ] }
- Validators:
all_abstract_fields_implemented»all fields
- field type_: Required[Nullable[str]] (alias 'type')¶
Indicates the type of instrument that’s generating data.
- field vendor: Required[Nullable[str]]¶
The instrument vendor or manufacturer, like ‘PerkinElmer’ or ‘Agilent’.
- Model Firmware[source]¶
Bases:
IdsElementSystem firmware.
Show JSON schema
{ "description": "System firmware.", "type": "object", "properties": { "firmware": { "description": "System firmware metadata.", "items": { "$ref": "#/definitions/Firmware" }, "type": "array" } }, "additionalProperties": false, "definitions": { "Firmware": { "additionalProperties": false, "description": "System firmware metadata.", "properties": { "name": { "description": "Firmware name.", "type": [ "string", "null" ] }, "version": { "description": "Firmware version.", "type": [ "string", "null" ] } }, "required": [ "name", "version" ], "type": "object" } } }
- Validators:
all_abstract_fields_implemented»all fields
- field firmware: List[system.Firmware]¶
System firmware metadata.
- Model Id[source]¶
Bases:
IdsElementSystem ID.
Show JSON schema
{ "description": "System ID.", "type": "object", "properties": { "id": { "description": "Identifier for the system. This is usually defined by the system owner or user, for example this may be created with a laboratory information management system or asset management software. Typically, an ID will not change over time, so that it can be used to track a particular system, unlike the system name which may change.", "type": [ "string", "null" ] } }, "additionalProperties": false }
- Validators:
all_abstract_fields_implemented»all fields
- field id_: Nullable[str] (alias 'id')¶
Identifier for the system. This is usually defined by the system owner or user, for example this may be created with a laboratory information management system or asset management software. Typically, an ID will not change over time, so that it can be used to track a particular system, unlike the system name which may change.
- Model Name[source]¶
Bases:
IdsElementSystem name.
Show JSON schema
{ "description": "System name.", "type": "object", "properties": { "name": { "description": "Name for the system. This is usually a human-readable name defined by the system owner or user. It may be changed over time as the system is used for different purposes, unlike the ID which typically doesn't change.", "type": [ "string", "null" ] } }, "additionalProperties": false }
- Validators:
all_abstract_fields_implemented»all fields
- Model SerialNumber[source]¶
Bases:
IdsElementSystem serial number.
Show JSON schema
{ "description": "System serial number.", "type": "object", "properties": { "serial_number": { "description": "System serial number. Indicates a unique instrument identifier within the same model line from a specific vendor. This is provided by the system vendor, unlike an ID or name which are usually created by the system owner or user.", "type": [ "string", "null" ] } }, "additionalProperties": false }
- Validators:
all_abstract_fields_implemented»all fields
- Model Software[source]¶
Bases:
IdsElementSystem software.
Show JSON schema
{ "description": "System software.", "type": "object", "properties": { "software": { "description": "Software applications that most recently handled the data (file) or the applications the data (file) is intended for. For example, applications can include Electronic Lab Notebooks (ELN), Instrument Control Software (ICS), Chromatography Data Systems (CDS), or instrument-specific analysis software.", "items": { "$ref": "#/definitions/Software" }, "type": "array" } }, "additionalProperties": false, "definitions": { "Software": { "additionalProperties": false, "description": "Software application that most recently handled the data (file) or the application\nthe data (file) is intended for. For example, applications can include Electronic\nLab Notebooks (ELN), Instrument Control Software (ICS), Chromatography Data Systems\n(CDS), or instrument-specific analysis software.", "properties": { "name": { "description": "Software name.", "type": [ "string", "null" ] }, "version": { "description": "Software version.", "type": [ "string", "null" ] } }, "required": [ "name", "version" ], "type": "object" } } }
- Validators:
all_abstract_fields_implemented»all fields
- field software: List[system.Software]¶
Software applications that most recently handled the data (file) or the applications the data (file) is intended for. For example, applications can include Electronic Lab Notebooks (ELN), Instrument Control Software (ICS), Chromatography Data Systems (CDS), or instrument-specific analysis software.
- Model TetraDataSchema[source]¶
Bases:
IdsSchemaTop-level IDS designed to follow Tetra Data conventions.
Show JSON schema
{ "description": "Top-level IDS designed to follow Tetra Data conventions.", "type": "object", "properties": { "@idsType": { "description": "Also known as IDS slug. Defined by TetraScience.", "type": "string" }, "@idsVersion": { "description": "IDS version. Defined by TetraScience.", "type": "string" }, "@idsNamespace": { "description": "IDS namespace. Defined by TetraScience.", "type": "string" } }, "$id": "NotImplemented", "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "is_tetra_data_schema": true, "required": [ "@idsType", "@idsVersion", "@idsNamespace" ] }
- Validators:
all_abstract_fields_implemented»all fieldsis_valid_version_string»ids_version
- Model Time[source]¶
Bases:
RawTimeA model for datetime values converted to a standard ISO format and their respective raw datetime values in the primary data.
Show JSON schema
{ "description": "A model for datetime values converted to a standard ISO format and their\nrespective raw datetime values in the primary data.", "type": "object", "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." } }, "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" } } }
- Validators:
all_abstract_fields_implemented»all fields
- Model User[source]¶
Bases:
IdsElementMetadata of the user executing a run.
Show JSON schema
{ "description": "Metadata of the user executing a run.", "type": "object", "properties": { "id": { "description": "Unique identifier assigned to a user.", "type": [ "string", "null" ] }, "name": { "description": "User name.", "type": [ "string", "null" ] }, "type": { "description": "User type like 'admin', 'manager', 'power user', 'standard user'. This information is usually from the instrument software", "type": [ "string", "null" ] } }, "additionalProperties": false }
- Validators:
all_abstract_fields_implemented»all fields
- class ValueDataType(value)[source]¶
-
Allowed data type values.
- BOOLEAN = 'boolean'¶
- NUMBER = 'number'¶
- STRING = 'string'¶
- Model ValueUnit[source]¶
Bases:
IdsElementA quantity, represented by a value with a unit.
Show JSON schema
{ "description": "A quantity, represented by a value with a unit.", "type": "object", "properties": { "value": { "description": "A numerical value.", "type": [ "number", "null" ] }, "unit": { "description": "Unit for the numerical value.", "type": [ "string", "null" ] } }, "additionalProperties": false, "required": [ "value", "unit" ] }
- Validators:
all_abstract_fields_implemented»all fields