Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add electrophoresis/BENCHLING/2024/09 schema and mapper and update Aglient Tapestation parser to use it. #715

Merged
merged 21 commits into from
Oct 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
6dcf90b
add electrophoresis rec 09/24 schema mapper
alejandro-salgado Oct 7, 2024
1741bc0
use rec 09/24 in tapestation parser
alejandro-salgado Oct 7, 2024
20c7faf
add electrophoresis benchling 09/24 schema and model
alejandro-salgado Oct 9, 2024
2e9f544
add mapper for electrophoresis benchling 09/24
alejandro-salgado Oct 9, 2024
68110e6
update electrophoresis benchling 09/24 schema and model
alejandro-salgado Oct 9, 2024
5bd2a73
use benchling 09/24 in tapestation parser
alejandro-salgado Oct 9, 2024
f364ef9
redefine processed data features as optional in benchling 09/24 mappe…
alejandro-salgado Oct 9, 2024
7595812
remove custom information from electrophoresis benchling 09/24
alejandro-salgado Oct 10, 2024
bc67977
remove electrophoresis rec 09/24
alejandro-salgado Oct 9, 2024
627ea08
fix linter issues
alejandro-salgado Oct 10, 2024
ca3b4f6
update tapestation test with 09/24 schema
alejandro-salgado Oct 10, 2024
fd696b8
update electrophoresis benchling 09/24 schema change notes
alejandro-salgado Oct 10, 2024
df49194
update changelog
alejandro-salgado Oct 4, 2024
c20a6e7
remove ProcessedDataDocument from electrophoresis benchling 09/24 schema
alejandro-salgado Oct 11, 2024
cf15bc7
update change notes of electrophoresis benchling 09/24
alejandro-salgado Oct 11, 2024
55bb661
Merge branch 'main' into tapestation-0924
alejandro-salgado Oct 11, 2024
ef385a7
update changelog
alejandro-salgado Oct 15, 2024
91a1398
Merge branch 'main' into tapestation-0924
alejandro-salgado Oct 15, 2024
261cd16
remove manual changes in changelog
alejandro-salgado Oct 15, 2024
7415f70
add processed data agg document to DeviceControlAggregateDocument in …
alejandro-salgado Oct 15, 2024
a5c4735
update change notes for electrophoresis benchling 09/24 schema
alejandro-salgado Oct 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading