diff --git a/src/allotropy/allotrope/schema_mappers/adm/solution_analyzer/benchling/_2024/_09/solution_analyzer.py b/src/allotropy/allotrope/schema_mappers/adm/solution_analyzer/benchling/_2024/_09/solution_analyzer.py index 6fbe824f4a..51544e61cc 100644 --- a/src/allotropy/allotrope/schema_mappers/adm/solution_analyzer/benchling/_2024/_09/solution_analyzer.py +++ b/src/allotropy/allotrope/schema_mappers/adm/solution_analyzer/benchling/_2024/_09/solution_analyzer.py @@ -125,6 +125,10 @@ class Measurement: # Errors errors: list[Error] | None = None + # Custom information + custom_info: dict[str, Any] | None = None + device_control_custom_info: dict[str, Any] | None = None + @dataclass(frozen=True) class MeasurementGroup: @@ -302,7 +306,7 @@ def _get_measurement_document_item( metadata.sample_volume_setting, ), ), - None, + measurement.device_control_custom_info, ), ] ), @@ -355,7 +359,7 @@ def _get_sample_document(self, measurement: Measurement) -> SampleDocument: batch_identifier=measurement.batch_identifier, description=measurement.description, ), - None, + measurement.custom_info, ) def _create_analyte_document(self, analyte: Analyte) -> AnalyteDocument: diff --git a/src/allotropy/parsers/novabio_flex2/novabio_flex2_structure.py b/src/allotropy/parsers/novabio_flex2/novabio_flex2_structure.py index 87d362ef82..927e4d4ad5 100644 --- a/src/allotropy/parsers/novabio_flex2/novabio_flex2_structure.py +++ b/src/allotropy/parsers/novabio_flex2/novabio_flex2_structure.py @@ -30,6 +30,7 @@ from allotropy.parsers.utils.pandas import SeriesData from allotropy.parsers.utils.uuids import random_uuid_str from allotropy.parsers.utils.values import try_float_or_none +from allotropy.parsers.utils.warnings_tools import suppress_unused_keys_warning @dataclass(frozen=True) @@ -78,6 +79,8 @@ class Sample: viable_cell_count: float | None = None cell_type_processing_method: str | None = None cell_density_dilution_factor: float | None = None + custom_info: dict[str, Any] | None = None + device_control_custom_info: dict[str, Any] | None = None @classmethod def create(cls, units: SeriesData, data: SeriesData) -> Sample: @@ -85,6 +88,17 @@ def create(cls, units: SeriesData, data: SeriesData) -> Sample: if cell_density_dilution: cell_density_dilution = cell_density_dilution.split(":")[0] + unused_keys = { + "Sample Time", + "PCO2 @ Temp", + "PO2 @ Temp", + "pH @ Temp", + "Operator", + "Osm", + } + data.mark_read(unused_keys) + units.mark_read(unused_keys) + return Sample( identifier=data[str, "Sample ID"], sample_type=data[str, "Sample Type"], @@ -122,6 +136,17 @@ def create(cls, units: SeriesData, data: SeriesData) -> Sample: if cell_density_dilution else None, cell_density_dilution_factor=try_float_or_none(str(cell_density_dilution)), + device_control_custom_info=data.get_custom_keys( + { + "Sparging O2%", + "pH / Gas Flow Time", + "Vessel Pressure (psi)", + "Chemistry Flow Time", + "Valid Images", + "Cell Density Flow", + } + ), + custom_info={**data.get_unread(), **units.get_unread()}, ) @@ -165,6 +190,7 @@ def parse_units(units: SeriesData) -> SeriesData: return SeriesData(pd.Series(data)) @staticmethod + @suppress_unused_keys_warning def parse_data( raw_data: pd.DataFrame, ) -> tuple[SeriesData, list[SeriesData]]: @@ -198,6 +224,8 @@ def _create_measurement(sample: Sample, **kwargs: Any) -> Measurement: sample_identifier=sample.identifier, description=sample.sample_type, batch_identifier=sample.batch_identifier, + custom_info=sample.custom_info, + device_control_custom_info=sample.device_control_custom_info, **kwargs, ) diff --git a/src/allotropy/parsers/utils/warnings_tools.py b/src/allotropy/parsers/utils/warnings_tools.py new file mode 100644 index 0000000000..03f4a3a8a9 --- /dev/null +++ b/src/allotropy/parsers/utils/warnings_tools.py @@ -0,0 +1,27 @@ +from __future__ import annotations + +from collections.abc import Callable +import functools +import gc +import os +from typing import Any + + +def suppress_unused_keys_warning(func: Callable[..., Any]) -> Callable[..., Any]: + """ + Use when a class that warns for unread keys is created for a special one-off use that does not intend to read all keys, e.g. + to read a single value and return. + Not appropriate to use in the main use of the class where unread keys should be copied into custom data fields. + """ + + @functools.wraps(func) + def _wrapper(*args: Any, **kwargs: Any) -> Any: + previous_warn_unused_keys = os.environ.pop("WARN_UNUSED_KEYS", None) + try: + return func(*args, **kwargs) + finally: + gc.collect() + if previous_warn_unused_keys is not None: + os.environ["WARN_UNUSED_KEYS"] = previous_warn_unused_keys + + return _wrapper diff --git a/tests/parsers/novabio_flex2/testdata/SampleResults2022-06-28_142558.json b/tests/parsers/novabio_flex2/testdata/SampleResults2022-06-28_142558.json index 781801b557..2c77446542 100644 --- a/tests/parsers/novabio_flex2/testdata/SampleResults2022-06-28_142558.json +++ b/tests/parsers/novabio_flex2/testdata/SampleResults2022-06-28_142558.json @@ -10,7 +10,13 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "metabolite-detection" + "detection type": "metabolite-detection", + "custom information document": { + "Vessel Pressure (psi)": 0.0, + "Sparging O2%": 20.9, + "Chemistry Flow Time": 6.67, + "pH / Gas Flow Time": 3.65 + } } ] }, @@ -19,7 +25,12 @@ "sample document": { "sample identifier": "SMPL_1234", "batch identifier": "BATCH_123", - "description": "Spent Media" + "description": "Spent Media", + "custom information document": { + "Vessel ID": "3L Bioreactor", + "Chemistry Dilution Ratio": "1:1", + "Cell Type": "Workhog" + } }, "analyte aggregate document": { "analyte document": [ @@ -94,7 +105,13 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "blood-gas-detection" + "detection type": "blood-gas-detection", + "custom information document": { + "Vessel Pressure (psi)": 0.0, + "Sparging O2%": 20.9, + "Chemistry Flow Time": 6.67, + "pH / Gas Flow Time": 3.65 + } } ] }, @@ -103,7 +120,12 @@ "sample document": { "sample identifier": "SMPL_1234", "batch identifier": "BATCH_123", - "description": "Spent Media" + "description": "Spent Media", + "custom information document": { + "Vessel ID": "3L Bioreactor", + "Chemistry Dilution Ratio": "1:1", + "Cell Type": "Workhog" + } }, "pO2": { "value": 191.6, @@ -127,7 +149,13 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "ph-detection" + "detection type": "ph-detection", + "custom information document": { + "Vessel Pressure (psi)": 0.0, + "Sparging O2%": 20.9, + "Chemistry Flow Time": 6.67, + "pH / Gas Flow Time": 3.65 + } } ] }, @@ -136,7 +164,12 @@ "sample document": { "sample identifier": "SMPL_1234", "batch identifier": "BATCH_123", - "description": "Spent Media" + "description": "Spent Media", + "custom information document": { + "Vessel ID": "3L Bioreactor", + "Chemistry Dilution Ratio": "1:1", + "Cell Type": "Workhog" + } }, "pH": { "value": 7.4, @@ -159,7 +192,7 @@ "file name": "SampleResults2022-06-28_142558.csv", "UNC path": "tests/parsers/novabio_flex2/testdata/SampleResults2022-06-28_142558.csv", "ASM converter name": "allotropy_novabio_flex2", - "ASM converter version": "0.1.79", + "ASM converter version": "0.1.105", "software name": "NovaBio Flex" }, "device system document": { diff --git a/tests/parsers/novabio_flex2/testdata/SampleResultsDEVICE1232021-02-18_104838.json b/tests/parsers/novabio_flex2/testdata/SampleResultsDEVICE1232021-02-18_104838.json index 2a6d6258f7..5c290adae6 100644 --- a/tests/parsers/novabio_flex2/testdata/SampleResultsDEVICE1232021-02-18_104838.json +++ b/tests/parsers/novabio_flex2/testdata/SampleResultsDEVICE1232021-02-18_104838.json @@ -10,7 +10,15 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "metabolite-detection" + "detection type": "metabolite-detection", + "custom information document": { + "Chemistry Flow Time": 7.5, + "Vessel Pressure (psi)": 0.0, + "Cell Density Flow": 5.51, + "Valid Images": 47.0, + "Sparging O2%": 20.9, + "pH / Gas Flow Time": 3.94 + } } ] }, @@ -18,7 +26,12 @@ "measurement time": "2021-02-18T10:28:04+00:00", "sample document": { "sample identifier": "SAMPLE 0001", - "description": "Default" + "description": "Default", + "custom information document": { + "Chemistry Dilution Ratio": "1:1", + "Cell Inspection Type": "StandardCHO", + "Pre-Dilution Multiplier": 1.0 + } }, "analyte aggregate document": { "analyte document": [ @@ -93,7 +106,15 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "cell-counting" + "detection type": "cell-counting", + "custom information document": { + "Chemistry Flow Time": 7.5, + "Vessel Pressure (psi)": 0.0, + "Cell Density Flow": 5.51, + "Valid Images": 47.0, + "Sparging O2%": 20.9, + "pH / Gas Flow Time": 3.94 + } } ] }, @@ -101,7 +122,12 @@ "measurement time": "2021-02-18T10:28:04+00:00", "sample document": { "sample identifier": "SAMPLE 0001", - "description": "Default" + "description": "Default", + "custom information document": { + "Chemistry Dilution Ratio": "1:1", + "Cell Inspection Type": "StandardCHO", + "Pre-Dilution Multiplier": 1.0 + } }, "processed data aggregate document": { "processed data document": [ @@ -141,7 +167,15 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "blood-gas-detection" + "detection type": "blood-gas-detection", + "custom information document": { + "Chemistry Flow Time": 7.5, + "Vessel Pressure (psi)": 0.0, + "Cell Density Flow": 5.51, + "Valid Images": 47.0, + "Sparging O2%": 20.9, + "pH / Gas Flow Time": 3.94 + } } ] }, @@ -149,7 +183,12 @@ "measurement time": "2021-02-18T10:28:04+00:00", "sample document": { "sample identifier": "SAMPLE 0001", - "description": "Default" + "description": "Default", + "custom information document": { + "Chemistry Dilution Ratio": "1:1", + "Cell Inspection Type": "StandardCHO", + "Pre-Dilution Multiplier": 1.0 + } }, "pO2": { "value": 197.1, @@ -173,7 +212,15 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "osmolality-detection" + "detection type": "osmolality-detection", + "custom information document": { + "Chemistry Flow Time": 7.5, + "Vessel Pressure (psi)": 0.0, + "Cell Density Flow": 5.51, + "Valid Images": 47.0, + "Sparging O2%": 20.9, + "pH / Gas Flow Time": 3.94 + } } ] }, @@ -181,7 +228,12 @@ "measurement time": "2021-02-18T10:28:04+00:00", "sample document": { "sample identifier": "SAMPLE 0001", - "description": "Default" + "description": "Default", + "custom information document": { + "Chemistry Dilution Ratio": "1:1", + "Cell Inspection Type": "StandardCHO", + "Pre-Dilution Multiplier": 1.0 + } }, "osmolality": { "value": 300.0, @@ -193,7 +245,15 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "ph-detection" + "detection type": "ph-detection", + "custom information document": { + "Chemistry Flow Time": 7.5, + "Vessel Pressure (psi)": 0.0, + "Cell Density Flow": 5.51, + "Valid Images": 47.0, + "Sparging O2%": 20.9, + "pH / Gas Flow Time": 3.94 + } } ] }, @@ -201,7 +261,12 @@ "measurement time": "2021-02-18T10:28:04+00:00", "sample document": { "sample identifier": "SAMPLE 0001", - "description": "Default" + "description": "Default", + "custom information document": { + "Chemistry Dilution Ratio": "1:1", + "Cell Inspection Type": "StandardCHO", + "Pre-Dilution Multiplier": 1.0 + } }, "pH": { "value": 7.34, @@ -225,7 +290,15 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "metabolite-detection" + "detection type": "metabolite-detection", + "custom information document": { + "Chemistry Flow Time": 7.57, + "Vessel Pressure (psi)": 0.0, + "Cell Density Flow": 5.4, + "Valid Images": 47.0, + "Sparging O2%": 20.9, + "pH / Gas Flow Time": 4.0 + } } ] }, @@ -233,7 +306,12 @@ "measurement time": "2021-02-18T10:33:17+00:00", "sample document": { "sample identifier": "SAMPLE 0002", - "description": "Default" + "description": "Default", + "custom information document": { + "Chemistry Dilution Ratio": "1:1", + "Cell Inspection Type": "StandardCHO", + "Pre-Dilution Multiplier": 1.0 + } }, "analyte aggregate document": { "analyte document": [ @@ -308,7 +386,15 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "cell-counting" + "detection type": "cell-counting", + "custom information document": { + "Chemistry Flow Time": 7.57, + "Vessel Pressure (psi)": 0.0, + "Cell Density Flow": 5.4, + "Valid Images": 47.0, + "Sparging O2%": 20.9, + "pH / Gas Flow Time": 4.0 + } } ] }, @@ -316,7 +402,12 @@ "measurement time": "2021-02-18T10:33:17+00:00", "sample document": { "sample identifier": "SAMPLE 0002", - "description": "Default" + "description": "Default", + "custom information document": { + "Chemistry Dilution Ratio": "1:1", + "Cell Inspection Type": "StandardCHO", + "Pre-Dilution Multiplier": 1.0 + } }, "processed data aggregate document": { "processed data document": [ @@ -356,7 +447,15 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "blood-gas-detection" + "detection type": "blood-gas-detection", + "custom information document": { + "Chemistry Flow Time": 7.57, + "Vessel Pressure (psi)": 0.0, + "Cell Density Flow": 5.4, + "Valid Images": 47.0, + "Sparging O2%": 20.9, + "pH / Gas Flow Time": 4.0 + } } ] }, @@ -364,7 +463,12 @@ "measurement time": "2021-02-18T10:33:17+00:00", "sample document": { "sample identifier": "SAMPLE 0002", - "description": "Default" + "description": "Default", + "custom information document": { + "Chemistry Dilution Ratio": "1:1", + "Cell Inspection Type": "StandardCHO", + "Pre-Dilution Multiplier": 1.0 + } }, "pO2": { "value": 211.9, @@ -388,7 +492,15 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "osmolality-detection" + "detection type": "osmolality-detection", + "custom information document": { + "Chemistry Flow Time": 7.57, + "Vessel Pressure (psi)": 0.0, + "Cell Density Flow": 5.4, + "Valid Images": 47.0, + "Sparging O2%": 20.9, + "pH / Gas Flow Time": 4.0 + } } ] }, @@ -396,7 +508,12 @@ "measurement time": "2021-02-18T10:33:17+00:00", "sample document": { "sample identifier": "SAMPLE 0002", - "description": "Default" + "description": "Default", + "custom information document": { + "Chemistry Dilution Ratio": "1:1", + "Cell Inspection Type": "StandardCHO", + "Pre-Dilution Multiplier": 1.0 + } }, "osmolality": { "value": 303.0, @@ -408,7 +525,15 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "ph-detection" + "detection type": "ph-detection", + "custom information document": { + "Chemistry Flow Time": 7.57, + "Vessel Pressure (psi)": 0.0, + "Cell Density Flow": 5.4, + "Valid Images": 47.0, + "Sparging O2%": 20.9, + "pH / Gas Flow Time": 4.0 + } } ] }, @@ -416,7 +541,12 @@ "measurement time": "2021-02-18T10:33:17+00:00", "sample document": { "sample identifier": "SAMPLE 0002", - "description": "Default" + "description": "Default", + "custom information document": { + "Chemistry Dilution Ratio": "1:1", + "Cell Inspection Type": "StandardCHO", + "Pre-Dilution Multiplier": 1.0 + } }, "pH": { "value": 7.262, @@ -440,7 +570,13 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "metabolite-detection" + "detection type": "metabolite-detection", + "custom information document": { + "Chemistry Flow Time": 7.78, + "Vessel Pressure (psi)": 0.0, + "Sparging O2%": 20.9, + "pH / Gas Flow Time": 3.88 + } } ] }, @@ -448,7 +584,11 @@ "measurement time": "2021-02-18T10:38:33+00:00", "sample document": { "sample identifier": "SAMPLE 0003", - "description": "Simple" + "description": "Simple", + "custom information document": { + "Chemistry Dilution Ratio": "1:1", + "Pre-Dilution Multiplier": 1.0 + } }, "analyte aggregate document": { "analyte document": [ @@ -523,7 +663,13 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "blood-gas-detection" + "detection type": "blood-gas-detection", + "custom information document": { + "Chemistry Flow Time": 7.78, + "Vessel Pressure (psi)": 0.0, + "Sparging O2%": 20.9, + "pH / Gas Flow Time": 3.88 + } } ] }, @@ -531,7 +677,11 @@ "measurement time": "2021-02-18T10:38:33+00:00", "sample document": { "sample identifier": "SAMPLE 0003", - "description": "Simple" + "description": "Simple", + "custom information document": { + "Chemistry Dilution Ratio": "1:1", + "Pre-Dilution Multiplier": 1.0 + } }, "pO2": { "value": 182.0, @@ -555,7 +705,13 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "ph-detection" + "detection type": "ph-detection", + "custom information document": { + "Chemistry Flow Time": 7.78, + "Vessel Pressure (psi)": 0.0, + "Sparging O2%": 20.9, + "pH / Gas Flow Time": 3.88 + } } ] }, @@ -563,7 +719,11 @@ "measurement time": "2021-02-18T10:38:33+00:00", "sample document": { "sample identifier": "SAMPLE 0003", - "description": "Simple" + "description": "Simple", + "custom information document": { + "Chemistry Dilution Ratio": "1:1", + "Pre-Dilution Multiplier": 1.0 + } }, "pH": { "value": 7.288, @@ -587,7 +747,13 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "metabolite-detection" + "detection type": "metabolite-detection", + "custom information document": { + "Chemistry Flow Time": 7.72, + "Vessel Pressure (psi)": 0.0, + "Sparging O2%": 20.9, + "pH / Gas Flow Time": 3.83 + } } ] }, @@ -595,7 +761,11 @@ "measurement time": "2021-02-18T10:41:08+00:00", "sample document": { "sample identifier": "SAMPLE 0004", - "description": "Simple" + "description": "Simple", + "custom information document": { + "Chemistry Dilution Ratio": "1:1", + "Pre-Dilution Multiplier": 1.0 + } }, "analyte aggregate document": { "analyte document": [ @@ -670,7 +840,13 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "blood-gas-detection" + "detection type": "blood-gas-detection", + "custom information document": { + "Chemistry Flow Time": 7.72, + "Vessel Pressure (psi)": 0.0, + "Sparging O2%": 20.9, + "pH / Gas Flow Time": 3.83 + } } ] }, @@ -678,7 +854,11 @@ "measurement time": "2021-02-18T10:41:08+00:00", "sample document": { "sample identifier": "SAMPLE 0004", - "description": "Simple" + "description": "Simple", + "custom information document": { + "Chemistry Dilution Ratio": "1:1", + "Pre-Dilution Multiplier": 1.0 + } }, "pO2": { "value": 154.6, @@ -702,7 +882,13 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "ph-detection" + "detection type": "ph-detection", + "custom information document": { + "Chemistry Flow Time": 7.72, + "Vessel Pressure (psi)": 0.0, + "Sparging O2%": 20.9, + "pH / Gas Flow Time": 3.83 + } } ] }, @@ -710,7 +896,11 @@ "measurement time": "2021-02-18T10:41:08+00:00", "sample document": { "sample identifier": "SAMPLE 0004", - "description": "Simple" + "description": "Simple", + "custom information document": { + "Chemistry Dilution Ratio": "1:1", + "Pre-Dilution Multiplier": 1.0 + } }, "pH": { "value": 7.215, @@ -734,7 +924,13 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "metabolite-detection" + "detection type": "metabolite-detection", + "custom information document": { + "Chemistry Flow Time": 7.5, + "Vessel Pressure (psi)": 0.0, + "Sparging O2%": 20.9, + "pH / Gas Flow Time": 3.88 + } } ] }, @@ -742,7 +938,11 @@ "measurement time": "2021-02-18T10:43:33+00:00", "sample document": { "sample identifier": "SAMPLE 0005", - "description": "Simple" + "description": "Simple", + "custom information document": { + "Chemistry Dilution Ratio": "1:1", + "Pre-Dilution Multiplier": 1.0 + } }, "analyte aggregate document": { "analyte document": [ @@ -817,7 +1017,13 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "blood-gas-detection" + "detection type": "blood-gas-detection", + "custom information document": { + "Chemistry Flow Time": 7.5, + "Vessel Pressure (psi)": 0.0, + "Sparging O2%": 20.9, + "pH / Gas Flow Time": 3.88 + } } ] }, @@ -825,7 +1031,11 @@ "measurement time": "2021-02-18T10:43:33+00:00", "sample document": { "sample identifier": "SAMPLE 0005", - "description": "Simple" + "description": "Simple", + "custom information document": { + "Chemistry Dilution Ratio": "1:1", + "Pre-Dilution Multiplier": 1.0 + } }, "pO2": { "value": 158.3, @@ -849,7 +1059,13 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "ph-detection" + "detection type": "ph-detection", + "custom information document": { + "Chemistry Flow Time": 7.5, + "Vessel Pressure (psi)": 0.0, + "Sparging O2%": 20.9, + "pH / Gas Flow Time": 3.88 + } } ] }, @@ -857,7 +1073,11 @@ "measurement time": "2021-02-18T10:43:33+00:00", "sample document": { "sample identifier": "SAMPLE 0005", - "description": "Simple" + "description": "Simple", + "custom information document": { + "Chemistry Dilution Ratio": "1:1", + "Pre-Dilution Multiplier": 1.0 + } }, "pH": { "value": 7.252, @@ -881,7 +1101,13 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "metabolite-detection" + "detection type": "metabolite-detection", + "custom information document": { + "Chemistry Flow Time": 7.73, + "Vessel Pressure (psi)": 0.0, + "Sparging O2%": 20.9, + "pH / Gas Flow Time": 4.02 + } } ] }, @@ -889,7 +1115,11 @@ "measurement time": "2021-02-18T10:46:05+00:00", "sample document": { "sample identifier": "SAMPLE 0006", - "description": "Simple" + "description": "Simple", + "custom information document": { + "Chemistry Dilution Ratio": "1:1", + "Pre-Dilution Multiplier": 1.0 + } }, "analyte aggregate document": { "analyte document": [ @@ -964,7 +1194,13 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "blood-gas-detection" + "detection type": "blood-gas-detection", + "custom information document": { + "Chemistry Flow Time": 7.73, + "Vessel Pressure (psi)": 0.0, + "Sparging O2%": 20.9, + "pH / Gas Flow Time": 4.02 + } } ] }, @@ -972,7 +1208,11 @@ "measurement time": "2021-02-18T10:46:05+00:00", "sample document": { "sample identifier": "SAMPLE 0006", - "description": "Simple" + "description": "Simple", + "custom information document": { + "Chemistry Dilution Ratio": "1:1", + "Pre-Dilution Multiplier": 1.0 + } }, "pO2": { "value": 176.2, @@ -996,7 +1236,13 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "ph-detection" + "detection type": "ph-detection", + "custom information document": { + "Chemistry Flow Time": 7.73, + "Vessel Pressure (psi)": 0.0, + "Sparging O2%": 20.9, + "pH / Gas Flow Time": 4.02 + } } ] }, @@ -1004,7 +1250,11 @@ "measurement time": "2021-02-18T10:46:05+00:00", "sample document": { "sample identifier": "SAMPLE 0006", - "description": "Simple" + "description": "Simple", + "custom information document": { + "Chemistry Dilution Ratio": "1:1", + "Pre-Dilution Multiplier": 1.0 + } }, "pH": { "value": 7.278, @@ -1027,7 +1277,7 @@ "file name": "SampleResultsDEVICE1232021-02-18_104838.csv", "UNC path": "tests/parsers/novabio_flex2/testdata/SampleResultsDEVICE1232021-02-18_104838.csv", "ASM converter name": "allotropy_novabio_flex2", - "ASM converter version": "0.1.79", + "ASM converter version": "0.1.105", "software name": "NovaBio Flex" }, "device system document": { diff --git a/tests/parsers/novabio_flex2/testdata/SampleResultsT123456789C2020-01-01_162647.json b/tests/parsers/novabio_flex2/testdata/SampleResultsT123456789C2020-01-01_162647.json index cc262b164c..e2e4f954f6 100644 --- a/tests/parsers/novabio_flex2/testdata/SampleResultsT123456789C2020-01-01_162647.json +++ b/tests/parsers/novabio_flex2/testdata/SampleResultsT123456789C2020-01-01_162647.json @@ -10,7 +10,13 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "metabolite-detection" + "detection type": "metabolite-detection", + "custom information document": { + "Sparging O2%": 1.0, + "pH / Gas Flow Time": 1.0, + "Chemistry Flow Time": 1.0, + "Vessel Pressure (psi)": 1.0 + } } ] }, @@ -19,7 +25,13 @@ "sample document": { "sample identifier": "Test1", "batch identifier": "1.0", - "description": "Default" + "description": "Default", + "custom information document": { + "Chemistry Dilution Ratio": "1:01", + "Vessel ID": 1.0, + "Cell Inspection Type": "StandardCHO", + "Pre-Dilution Multiplier": 1.0 + } }, "analyte aggregate document": { "analyte document": [ @@ -94,7 +106,13 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "cell-counting" + "detection type": "cell-counting", + "custom information document": { + "Sparging O2%": 1.0, + "pH / Gas Flow Time": 1.0, + "Chemistry Flow Time": 1.0, + "Vessel Pressure (psi)": 1.0 + } } ] }, @@ -103,7 +121,13 @@ "sample document": { "sample identifier": "Test1", "batch identifier": "1.0", - "description": "Default" + "description": "Default", + "custom information document": { + "Chemistry Dilution Ratio": "1:01", + "Vessel ID": 1.0, + "Cell Inspection Type": "StandardCHO", + "Pre-Dilution Multiplier": 1.0 + } }, "processed data aggregate document": { "processed data document": [ @@ -136,7 +160,13 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "blood-gas-detection" + "detection type": "blood-gas-detection", + "custom information document": { + "Sparging O2%": 1.0, + "pH / Gas Flow Time": 1.0, + "Chemistry Flow Time": 1.0, + "Vessel Pressure (psi)": 1.0 + } } ] }, @@ -145,7 +175,13 @@ "sample document": { "sample identifier": "Test1", "batch identifier": "1.0", - "description": "Default" + "description": "Default", + "custom information document": { + "Chemistry Dilution Ratio": "1:01", + "Vessel ID": 1.0, + "Cell Inspection Type": "StandardCHO", + "Pre-Dilution Multiplier": 1.0 + } }, "pO2": { "value": 1.0, @@ -169,7 +205,13 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "osmolality-detection" + "detection type": "osmolality-detection", + "custom information document": { + "Sparging O2%": 1.0, + "pH / Gas Flow Time": 1.0, + "Chemistry Flow Time": 1.0, + "Vessel Pressure (psi)": 1.0 + } } ] }, @@ -178,7 +220,13 @@ "sample document": { "sample identifier": "Test1", "batch identifier": "1.0", - "description": "Default" + "description": "Default", + "custom information document": { + "Chemistry Dilution Ratio": "1:01", + "Vessel ID": 1.0, + "Cell Inspection Type": "StandardCHO", + "Pre-Dilution Multiplier": 1.0 + } }, "osmolality": { "value": 1.0, @@ -190,7 +238,13 @@ "device control document": [ { "device type": "solution-analyzer", - "detection type": "ph-detection" + "detection type": "ph-detection", + "custom information document": { + "Sparging O2%": 1.0, + "pH / Gas Flow Time": 1.0, + "Chemistry Flow Time": 1.0, + "Vessel Pressure (psi)": 1.0 + } } ] }, @@ -199,7 +253,13 @@ "sample document": { "sample identifier": "Test1", "batch identifier": "1.0", - "description": "Default" + "description": "Default", + "custom information document": { + "Chemistry Dilution Ratio": "1:01", + "Vessel ID": 1.0, + "Cell Inspection Type": "StandardCHO", + "Pre-Dilution Multiplier": 1.0 + } }, "pH": { "value": 1.0, @@ -222,7 +282,7 @@ "file name": "SampleResultsT123456789C2020-01-01_162647.csv", "UNC path": "tests/parsers/novabio_flex2/testdata/SampleResultsT123456789C2020-01-01_162647.csv", "ASM converter name": "allotropy_novabio_flex2", - "ASM converter version": "0.1.79", + "ASM converter version": "0.1.105", "software name": "NovaBio Flex" }, "device system document": {