Skip to content

Commit

Permalink
feat: Add electrophoresis/BENCHLING/2024/09 schema and mapper and upd…
Browse files Browse the repository at this point in the history
…ate Aglient Tapestation parser to use it. (#715)

- Move electrophoresis rec 09/24 as benchling 09/24 schema
- Implement schema mapper for electrophoresis benchling 09/24
- Update Agilent Tapestation Analysis parser to use electrophoresis
benchling 09/24 schema
  • Loading branch information
alejandro-salgado authored Oct 15, 2024
1 parent 0c6854e commit 17481d1
Show file tree
Hide file tree
Showing 11 changed files with 8,158 additions and 7,464 deletions.
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
# generated by datamodel-codegen:
# filename: electrophoresis.schema.json
# timestamp: 2024-10-07T20:16:06+00:00
# timestamp: 2024-10-15T14:18:09+00:00

from __future__ import annotations

from dataclasses import dataclass
from typing import Any

from allotropy.allotrope.models.shared.definitions.custom import (
TQuantityValueDegreeCelsius,
TQuantityValueKiloDalton,
TQuantityValueMilliAbsorbanceUnit,
TQuantityValueMilliAbsorbanceUnitTimesMilliliter,
TQuantityValueMilliAbsorbanceUnitTimesSecond,
Expand All @@ -16,8 +18,6 @@
TQuantityValueNumber,
TQuantityValuePercent,
TQuantityValueRelativeFluorescenceUnit,
TQuantityValueRelativeFluorescenceUnitTimesMilliliter,
TQuantityValueRelativeFluorescenceUnitTimesSecond,
TQuantityValueSecondTime,
TQuantityValueUnitless,
)
Expand Down Expand Up @@ -46,11 +46,6 @@ class AdmCoreREC202409ManifestSchema:
shapes: list[str] | None = None


@dataclass(kw_only=True)
class OrderedItem:
field_index: int | None = None


@dataclass(kw_only=True)
class CustomInformationDocumentItem:
scalar_double_datum: TDoubleValue | None = None
Expand All @@ -61,48 +56,13 @@ class CustomInformationDocumentItem:
datum_label: TStringValue | None = None


@dataclass(kw_only=True)
class CustomInformationAggregateDocument:
custom_information_document: list[CustomInformationDocumentItem]


@dataclass(kw_only=True)
class DataSourceDocumentItem:
data_source_identifier: TStringValue
data_source_feature: TStringValue | None = None
field_index: int | None = None


@dataclass(kw_only=True)
class DataSourceAggregateDocument:
data_source_document: list[DataSourceDocumentItem]


@dataclass(kw_only=True)
class ElectronicProjectRecord:
written_name: TStringValue
description: Any | None = None
start_time: TDateTimeValue | None = None


@dataclass(kw_only=True)
class ElectronicSignatureDocumentItem:
account_identifier: TStringValue
personal_name: TStringValue
signature_role_type: TStringValue
time: TStringValue
identifier: TStringValue | None = None
measurement_identifier: TStringValue | None = None
method_identifier: TStringValue | None = None
processed_data_identifier: TStringValue | None = None
field_index: int | None = None


@dataclass(kw_only=True)
class ElectronicSignatureAggregateDocument:
electronic_signature_document: list[ElectronicSignatureDocumentItem] | None = None


@dataclass(kw_only=True)
class ErrorDocumentItem:
error: TStringValue
Expand All @@ -125,15 +85,6 @@ class ImageAggregateDocument:
image_document: list[ImageDocumentItem] | None = None


@dataclass(kw_only=True)
class ProcessedDataAggregateDocument:
processed_data_document: list[ProcessedDataDocumentItem]
custom_information_aggregate_document: CustomInformationAggregateDocument | None = (
None
)
electronic_project_record: ElectronicProjectRecord | None = None


@dataclass(kw_only=True)
class StatisticsDocumentItem:
statistical_feature: TClass
Expand All @@ -157,6 +108,50 @@ class AnalysisSequenceDocument:
version_number: TStringValue | None = None


@dataclass(kw_only=True)
class CustomInformationAggregateDocument:
custom_information_document: list[CustomInformationDocumentItem]


@dataclass(kw_only=True)
class DataSourceDocumentItem:
data_source_identifier: TStringValue
data_source_feature: TStringValue | None = None
field_index: int | None = None


@dataclass(kw_only=True)
class DataSourceAggregateDocument:
data_source_document: list[DataSourceDocumentItem]


@dataclass(kw_only=True)
class ElectronicSignatureDocumentItem:
account_identifier: TStringValue
personal_name: TStringValue
signature_role_type: TStringValue
time: TStringValue
identifier: TStringValue | None = None
measurement_identifier: TStringValue | None = None
method_identifier: TStringValue | None = None
processed_data_identifier: TStringValue | None = None
field_index: int | None = None


@dataclass(kw_only=True)
class ElectronicSignatureAggregateDocument:
electronic_signature_document: list[ElectronicSignatureDocumentItem] | None = None


@dataclass(kw_only=True)
class ProcessedDataAggregateDocument:
processed_data_document: list[ProcessedDataDocumentItem] | None = None
custom_information_aggregate_document: CustomInformationAggregateDocument | None = (
None
)
electronic_project_record: ElectronicProjectRecord | None = None


@dataclass(kw_only=True)
class DataSystemDocument:
ASM_file_identifier: TStringValue
Expand Down Expand Up @@ -258,26 +253,42 @@ class DeviceControlAggregateDocument:
custom_information_aggregate_document: CustomInformationAggregateDocument | None = (
None
)
compartment_temperature: TQuantityValueDegreeCelsius | None = None
processed_data_aggregate_document: ProcessedDataAggregateDocument | None = None


@dataclass(kw_only=True)
class Peak:
custom_information_aggregate_document: CustomInformationAggregateDocument | None = (
None
)
peak_end: TQuantityValueMilliliter | TQuantityValueSecondTime | None = None
peak_end: TQuantityValueKiloDalton | TQuantityValueMilliliter | TQuantityValueNumber | TQuantityValueSecondTime | None = (
None
)
peak_position: TQuantityValueKiloDalton | TQuantityValueMilliliter | TQuantityValueNumber | TQuantityValueSecondTime | None = (
None
)
peak_name: TStringValue | None = None
identifier: TStringValue | None = None
relative_peak_height: TQuantityValuePercent | None = None
relative_peak_height: TQuantityValueKiloDalton | TQuantityValueNumber | TQuantityValuePercent | TQuantityValueSecondTime | None = (
None
)
written_name: TStringValue | None = None
peak_height: TQuantityValue | TQuantityValueMilliAbsorbanceUnit | None = None
peak_height: TQuantityValue | TQuantityValueMilliAbsorbanceUnit | TQuantityValueRelativeFluorescenceUnit | None = (
None
)
capacity_factor__chromatography_: TQuantityValueUnitless | None = None
peak_area: TQuantityValue | TQuantityValueMilliAbsorbanceUnitTimesMilliliter | TQuantityValueMilliAbsorbanceUnitTimesSecond | None = (
None
)
relative_peak_area: TQuantityValuePercent | None = None
relative_corrected_peak_area: TQuantityValuePercent | None = None
comment: TStringValue | None = None
retention_time: TQuantityValueSecondTime | None = None
retention_volume: TQuantityValueMilliliter | None = None
peak_start: TQuantityValueMilliliter | TQuantityValueSecondTime | None = None
peak_start: TQuantityValueKiloDalton | TQuantityValueMilliliter | TQuantityValueNumber | TQuantityValueSecondTime | None = (
None
)
peak_selectivity__chromatography_: TQuantityValueUnitless | None = None
chromatographic_peak_resolution: TQuantityValueUnitless | None = None
field_index: int | None = None
Expand Down Expand Up @@ -339,20 +350,25 @@ class PeakList:
custom_information_aggregate_document: CustomInformationAggregateDocument | None = (
None
)
peak: list[PeakItem] | list[Peak] | None = None
peak: list[Peak] | None = None


@dataclass(kw_only=True)
class DataRegionDocumentItem:
custom_information_aggregate_document: CustomInformationAggregateDocument | None = (
None
)
data_region_end: TQuantityValueMilliliter | TQuantityValueSecondTime | None = None
data_region_end: TQuantityValueKiloDalton | TQuantityValueMilliliter | TQuantityValueNumber | TQuantityValueSecondTime | None = (
None
)
data_region_identifier: TStringValue | None = None
data_region_name: TStringValue | None = None
data_region_area: TQuantityValue | None = None
relative_data_region_area: TQuantityValuePercent | None = None
data_region_start: TQuantityValueMilliliter | TQuantityValueSecondTime | None = None
comment: TStringValue | None = None
data_region_start: TQuantityValueKiloDalton | TQuantityValueMilliliter | TQuantityValueNumber | TQuantityValueSecondTime | None = (
None
)
field_index: int | None = None


Expand All @@ -369,21 +385,14 @@ class SampleDocument:
sample_identifier: TStringValue
batch_identifier: TStringValue | None = None
description: Any | None = None
location_identifier: TStringValue | None = None
sample_role_type: TClass | None = None
written_name: TStringValue | None = None
custom_information_aggregate_document: CustomInformationAggregateDocument | None = (
None
)


@dataclass(kw_only=True)
class PeakItem(OrderedItem):
peak_height: TQuantityValueRelativeFluorescenceUnit | None = None
peak_area: TQuantityValueRelativeFluorescenceUnitTimesMilliliter | TQuantityValueRelativeFluorescenceUnitTimesSecond | None = (
None
)


@dataclass(kw_only=True)
class CalculatedDataDocumentItem:
calculated_data_name: TStringValue
Expand Down Expand Up @@ -439,26 +448,23 @@ class MeasurementDocument:
measurement_time: TDateTimeStampValue | None = None
processed_data_aggregate_document: ProcessedDataAggregateDocument | None = None
statistics_aggregate_document: StatisticsAggregateDocument | None = None
compartment_temperature: TQuantityValueDegreeCelsius | None = None
absorption_profile_data_cube: TDatacube | None = None
chromatogram_data_cube: TDatacube | None = None
three_dimensional_ultraviolet_spectrum_data_cube: TDatacube | None = None
processed_data_document: ProcessedDataDocument | None = None
fluorescence_emission_profile_data_cube: TDatacube | None = None


@dataclass(kw_only=True)
class ProcessedDataDocument:
peak_list: PeakList | None = None
derived_electropherogram_data_cube: TDatacube | None = None


@dataclass(kw_only=True)
class MeasurementAggregateDocument:
measurement_document: list[MeasurementDocument]
calculated_data_aggregate_document: CalculatedDataAggregateDocument | None = None
custom_information_aggregate_document: CustomInformationAggregateDocument | None = (
None
)
analytical_method_identifier: TStringValue | None = None
method_version: TStringValue | None = None
experimental_data_identifier: TStringValue | None = None
diagnostic_trace_aggregate_document: DiagnosticTraceAggregateDocument | None = None
error_aggregate_document: ErrorAggregateDocument | None = None
image_aggregate_document: ImageAggregateDocument | None = None
Expand Down
Loading

0 comments on commit 17481d1

Please sign in to comment.