Skip to content

Commit 8210ad7

Browse files
feat: Cytiva Biacore T200 Evaluation Module - initial implementation (#1075)
1 parent b016c5d commit 8210ad7

15 files changed

Lines changed: 4981 additions & 10 deletions

File tree

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.bme filter=lfs diff=lfs merge=lfs -text

.github/workflows/test.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ jobs:
1818

1919
steps:
2020
- uses: actions/checkout@v3
21+
with:
22+
lfs: true
2123
- uses: actions/setup-python@v4
2224
with:
2325
python-version: "3.10"
@@ -34,6 +36,8 @@ jobs:
3436

3537
steps:
3638
- uses: actions/checkout@v3
39+
with:
40+
lfs: true
3741
- uses: actions/setup-python@v4
3842
with:
3943
python-version: "3.11.9"
@@ -51,6 +55,8 @@ jobs:
5155

5256
steps:
5357
- uses: actions/checkout@v3
58+
with:
59+
lfs: true
5460
- uses: actions/setup-python@v4
5561
with:
5662
python-version: "3.12"
@@ -67,6 +73,8 @@ jobs:
6773

6874
steps:
6975
- uses: actions/checkout@v3
76+
with:
77+
lfs: true
7078
- uses: actions/setup-python@v4
7179
with:
7280
python-version: "3.11.9"
@@ -83,6 +91,8 @@ jobs:
8391

8492
steps:
8593
- uses: actions/checkout@v3
94+
with:
95+
lfs: true
8696
- name: Check PR title
8797
run: ./scripts/check_title
8898
env:

SUPPORTED_INSTRUMENT_SOFTWARE.adoc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@ The parsers follow maturation levels of: Recommended, Candidate Release, Working
1515
[cols="4*^.^"]
1616
|===
1717
|Instrument Category|Instrument Software|Release Status|Exported ASM Schema
18-
.2+|Binding Affinity Analyzer|Cytiva Biacore Insight|Recommended|WD/2024/12
18+
.3+|Binding Affinity Analyzer|Cytiva Biacore Insight|Recommended|WD/2024/12
1919
|Cytiva Biacore T200 Control|Recommended|WD/2024/12
20+
|Cytiva Biacore T200 Evaluation|Recommended|WD/2024/12
2021
.6+|Cell Counting|Beckman Coulter Vi-Cell BLU|Recommended|REC/2024/09
2122
|Beckman Coulter Vi-Cell XR|Recommended|REC/2024/09
2223
|ChemoMetec NC View|Recommended|REC/2024/09

src/allotropy/allotrope/schema_mappers/adm/binding_affinity_analyzer/benchling/_2024/_12/binding_affinity_analyzer.py

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ class Metadata:
7878
sensor_chip_type: str | None = None
7979
lot_number: str | None = None
8080
sensor_chip_custom_info: DictType | None = None
81+
data_system_custom_info: DictType | None = None
8182

8283

8384
@dataclass(frozen=True)
@@ -98,6 +99,7 @@ class DeviceControlDocument:
9899
flow_rate: float | None = None
99100
contact_time: float | None = None
100101
dilution: float | None = None
102+
detection_type: str | None = None
101103
sample_temperature_setting: float | None = None
102104
device_control_custom_info: DictType | None = None
103105

@@ -157,15 +159,18 @@ class Mapper(SchemaMapper[Data, Model]):
157159
def map_model(self, data: Data) -> Model:
158160
return Model(
159161
binding_affinity_analyzer_aggregate_document=BindingAffinityAnalyzerAggregateDocument(
160-
data_system_document=DataSystemDocument(
161-
ASM_file_identifier=data.metadata.asm_file_identifier,
162-
data_system_instance_identifier=data.metadata.data_system_instance_identifier,
163-
ASM_converter_name=self.converter_name,
164-
ASM_converter_version=ASM_CONVERTER_VERSION,
165-
file_name=data.metadata.file_name,
166-
UNC_path=data.metadata.unc_path,
167-
software_version=data.metadata.software_version,
168-
software_name=data.metadata.software_name,
162+
data_system_document=add_custom_information_document(
163+
DataSystemDocument(
164+
ASM_file_identifier=data.metadata.asm_file_identifier,
165+
data_system_instance_identifier=data.metadata.data_system_instance_identifier,
166+
ASM_converter_name=self.converter_name,
167+
ASM_converter_version=ASM_CONVERTER_VERSION,
168+
file_name=data.metadata.file_name,
169+
UNC_path=data.metadata.unc_path,
170+
software_version=data.metadata.software_version,
171+
software_name=data.metadata.software_name,
172+
),
173+
data.metadata.data_system_custom_info,
169174
),
170175
device_system_document=DeviceSystemDocument(
171176
device_identifier=data.metadata.device_identifier,
@@ -294,6 +299,7 @@ def _get_surface_plasmon_resonance_measurement_document(
294299
sample_identifier=measurement.sample_identifier,
295300
sample_role_type=measurement.sample_role_type,
296301
location_identifier=measurement.location_identifier,
302+
well_plate_identifier=measurement.well_plate_identifier,
297303
concentration=quantity_or_none(
298304
TQuantityValueNanomolar, measurement.concentration
299305
),

src/allotropy/parser_factory.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,9 @@
6363
from allotropy.parsers.cytiva_biacore_t200_control.cytiva_biacore_t200_control_parser import (
6464
CytivaBiacoreT200ControlParser,
6565
)
66+
from allotropy.parsers.cytiva_biacore_t200_evaluation.cytiva_biacore_t200_evaluation_parser import (
67+
CytivaBiacoreT200EvaluationParser,
68+
)
6669
from allotropy.parsers.cytiva_unicorn.cytiva_unicorn_parser import CytivaUnicornParser
6770
from allotropy.parsers.example_weyland_yutani.example_weyland_yutani_parser import (
6871
ExampleWeylandYutaniParser,
@@ -153,6 +156,7 @@ class Vendor(Enum):
153156
CTL_IMMUNOSPOT = "CTL_IMMUNOSPOT"
154157
CYTIVA_BIACORE_INSIGHT = "CYTIVA_BIACORE_INSIGHT"
155158
CYTIVA_BIACORE_T200_CONTROL = "CYTIVA_BIACORE_T200_CONTROL"
159+
CYTIVA_BIACORE_T200_EVALUATION = "CYTIVA_BIACORE_T200_EVALUATION"
156160
CYTIVA_UNICORN = "CYTIVA_UNICORN"
157161
EXAMPLE_WEYLAND_YUTANI = "EXAMPLE_WEYLAND_YUTANI"
158162
FLOWJO = "FLOWJO"
@@ -250,6 +254,7 @@ def get_parser(
250254
Vendor.CTL_IMMUNOSPOT: CtlImmunospotParser,
251255
Vendor.CYTIVA_BIACORE_INSIGHT: CytivaBiacoreInsightParser,
252256
Vendor.CYTIVA_BIACORE_T200_CONTROL: CytivaBiacoreT200ControlParser,
257+
Vendor.CYTIVA_BIACORE_T200_EVALUATION: CytivaBiacoreT200EvaluationParser,
253258
Vendor.CYTIVA_UNICORN: CytivaUnicornParser,
254259
Vendor.EXAMPLE_WEYLAND_YUTANI: ExampleWeylandYutaniParser,
255260
Vendor.FLOWJO: FlowjoParser,

src/allotropy/parsers/cytiva_biacore_t200_evaluation/__init__.py

Whitespace-only changes.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from allotropy.allotrope.models.shared.components.plate_reader import SampleRoleType
2+
3+
DEVICE_IDENTIFIER = "Biacore"
4+
PRODUCT_MANUFACTURER = "Cytiva"
5+
MODEL_NUMBER = "T200"
6+
DISPLAY_NAME = "Cytiva Biacore T200 Evaluation"
7+
SURFACE_PLASMON_RESONANCE = "surface plasmon resonance"
8+
DEVICE_TYPE = "binding affinity analyzer"
9+
10+
SAMPLE_ROLE_TYPE = {
11+
"blank role": SampleRoleType.blank_role.value,
12+
"sample role": SampleRoleType.sample_role.value,
13+
}

0 commit comments

Comments
 (0)