ts_ids_components.chromatography package#
Submodules#
Module contents#
This module contains the schema for chromatography IDSs.
Chromatography IDSs contain information about the chromatography system, modules, columns, methods, mobile phases, gradient steps, detector channels, peaks and datacubes.#
The chromatography common component is designed to store data about the following use cases:
A common data usage pattern in chromatography is analyzing measurement data or the chromatogram produced by each detector channel as the sample is eluted through the column and separated or purified. When a compound is detected at a concentration above the detection limit, a peak appears in the chromatogram. Chromatogram peak data provides insights into compound identification, concentration, separation efficiency, and sample purity.
Each element in the results array represents peak data for a single detector channel and can be linked
back to the raw chromatogram data stored in the datacubes array. The peak characteristics found in each
detector channel’s results[*].peaks array are often analyzed alongside the methods, modules, and systems
used to elute the sample through the column.
The detector_channels array contains information about the settings in a detector channel for a
single injection/chromatography run. The mobile_phases and gradient_steps arrays contain information
about how the sample was separated. Additionally, the columns array, when analyzed alongside peaks,
can help identify maintenance needs for specific instruments or instrument modules.
All of these entities are related via UUID primary key
field, named pk, along with their respective foreign keys.
This level of granularity allows data from multiple chromatography systems and runs to be stored in a consistent format, simplifying downstream data access and integration.
Below is an example of defining a schema that inherits from
ChromatographySchema and populating it in Python.
In this example, the data is manually populated within the script, but in typical usage,
it would be parsed from a raw data file.
Click to expand
from typing import ClassVar
from ts_ids_core.annotations import Required
from ts_ids_core.schema import IdsField, SchemaExtraMetadataType
from typing_extensions import Literal
from ts_ids_components.chromatography import ChromatographySchema, Peak, Result
# Define a chromatography model which only uses the defaults provided by ChromatographySchema
class ChromatographyDemoModel(ChromatographySchema):
schema_extra_metadata: ClassVar[SchemaExtraMetadataType] = {
"$id": "https://ids.tetrascience.com/common/chromatography_demo/v1.0.0/schema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
}
ids_type: Required[Literal["chromatography_demo"]] = IdsField(
default="chromatography_demo", alias="@idsType"
)
ids_version: Required[Literal["v1.0.0"]] = IdsField(
default="v1.0.0", alias="@idsVersion"
)
ids_namespace: Required[Literal["common"]] = IdsField(
default="common", alias="@idsNamespace"
)
# Example UUIDs - these would come from a UUID generator in a task script
uuid1 = "abc00000-0000-0000-0000-000000000001"
uuid2 = "abc00000-0000-0000-0000-000000000002"
uuid3 = "abc00000-0000-0000-0000-000000000003"
uuid4 = "abc00000-0000-0000-0000-000000000004"
uuid5 = "abc00000-0000-0000-0000-000000000005"
uuid6 = "abc00000-0000-0000-0000-000000000006"
uuid7 = "abc00000-0000-0000-0000-000000000007"
uuid8 = "abc00000-0000-0000-0000-000000000008"
# Populate the model with example data
instance = ChromatographyDemoModel(
systems=[
System(
vendor="Thermofisher Scientific",
model="Ultimate 3000",
pk=uuid1,
type=ChromatographyType.HPLC.value,
)
],
modules=[
Module(
pk=uuid2,
fk_system=uuid1,
name="UV_VIS Detector",
manufacturer="Thermofisher Scientific",
type="Detector",
detector_type=DetectorType.UV_VIS.value,
part_number="123456",
serial_number="ABC123",
firmware_version="1.0.0",
driver_version="1.2.3",
),
Module(
pk=uuid7,
fk_system=uuid1,
name="Mass Spec Detector",
manufacturer="Thermofisher Scientific",
type="Detector",
detector_type=DetectorType.MASS_SPECTROMETER.value,
),
Module(
pk=uuid3,
fk_system=uuid1,
name="Column Compartment",
manufacturer="Thermofisher Scientific",
type="Column Compartment",
part_number="567",
serial_number="DEF123",
firmware_version="1.0.0",
driver_version="1.2.3",
),
Module(
pk=uuid8,
fk_system=uuid1,
name="Pump678",
manufacturer="Thermofisher Scientific",
type="Pump",
part_number="567",
),
],
columns=[
Column(
pk=uuid4,
fk_system=uuid1,
fk_module=uuid3,
name="Column 1",
product_number="789",
serial_number="GHI123",
batch_number="1",
void_volume=RawValueUnit(value=1.0, unit="mL", raw_value="1.0 mL"),
length=RawValueUnit(value=100.0, unit="mm", raw_value="100.0 mm"),
diameter=RawValueUnit(value=4.6, unit="mm", raw_value="4.6 mm"),
max_pressure=RawValueUnit(
value=400.0, unit="bar", raw_value="400.0 bar"
),
max_temperature=RawValueUnit(
value=40.0, unit="Celsius", raw_value="40.0 Celsius"
),
)
],
methods=[
Method(
pk=uuid5,
name="UV_VIS Method",
creation=MethodEvent(
computer="computer_1",
comment="test comment",
time=TimeWithRaw(
value="2021-01-01T00:00:00Z",
raw_value="2021-01-01T00:00:00Z",
),
user="scientist 123",
),
sample_introduction=SampleIntroduction(
washes=[
Wash(
repeat_count=3,
timing="Pre-Run",
solvent="Acetonitrile",
volume=RawValueUnit(
value=30.0, unit="uL", raw_value="30.0 uL"
),
)
],
dilution_factor=RawValueUnit(
value=10.0, unit=None, raw_value="10:1"
),
injection=Injection(
mode="Partial",
time=TimeWithRaw(
value="2021-01-01T00:00:00Z",
raw_value="2021-01-01T00:00:00Z",
),
volume=RawValueUnit(value=30.0, unit="uL", raw_value="30.0 uL"),
sample_temperature=RawValueUnit(
value=25.0, unit="Celsius", raw_value="25.0 Celsius"
),
),
draw_speed=RawValueUnit(
value=1.0, unit="mL/s", raw_value="1.0 mL/s"
),
dispense_speed=RawValueUnit(
value=2.0, unit="mL/s", raw_value="2.0 mL/s"
),
),
run_duration=RawValueUnit(
value=10.0, unit="minute", raw_value="10.0 minute"
),
compartment=Compartment(
fk_module=uuid3,
heaters=[
Heater(
location="Left Front Heater",
temperature=RawValueUnit(
value=40.0, unit="Celsius", raw_value="40.0 Celsius"
),
)
],
),
)
],
mobile_phases=[
MobilePhase(
pk=uuid6,
fk_method=uuid5,
name="Mobile Phase A",
id="123A",
solvent_a=Solvent(
name="Solvent A", description="Acetonitrile", used=True
),
solvent_b=Solvent(name="Solvent B", description="Water", used=True),
solvent_c=Solvent(name="Solvent C", description="Methanol", used=True),
solvent_d=Solvent(
name="Solvent D", description="Isopropanol", used=False
),
used=True,
),
],
mobile_phase_gradient_steps=[
MobilePhaseGradientStep(
fk_mobile_phase=uuid6,
percent_a_start=RawValueUnit(
value=100.0, unit="percent", raw_value="100.0 %"
),
percent_a_end=RawValueUnit(
value=100.0, unit="percent", raw_value="100.0 %"
),
percent_b_start=RawValueUnit(
value=0.0, unit="percent", raw_value="0.0 %"
),
percent_b_end=RawValueUnit(
value=0.0, unit="percent", raw_value="0.0 %"
),
flow=RawValueUnit(value=1.0, unit="mL/min", raw_value="1.0 mL/min"),
curve="5",
duration=RawValueUnit(
value=10.0, unit="MinuteTime", raw_value="10.0 minute"
),
retention_time=RawValueUnit(
value=2.0, unit="MinuteTime", raw_value="2.0 minute"
),
),
MobilePhaseGradientStep(
fk_mobile_phase=uuid6,
percent_a_start=RawValueUnit(
value=10.0, unit="percent", raw_value="10.0 %"
),
percent_a_end=RawValueUnit(
value=10.0, unit="percent", raw_value="10.0 %"
),
percent_b_start=RawValueUnit(
value=90.0, unit="percent", raw_value="90.0 %"
),
percent_b_end=RawValueUnit(
value=90.0, unit="percent", raw_value="90.0 %"
),
flow=RawValueUnit(value=1.0, unit="mL/min", raw_value="1.0 mL/min"),
curve="3",
duration=RawValueUnit(
value=6.0, unit="MinuteTime", raw_value="6.0 minute"
),
retention_time=RawValueUnit(
value=12.0, unit="MinuteTime", raw_value="12.0 minute"
),
),
],
detector_channels=[
DetectorChannel(
name="UV_VIS_1",
description="UV_VIS_1_254nm",
data_collection_rate=RawValueUnit(
value=10.0, unit="Hz", raw_value="10.0 Hz"
),
fk_module=uuid2,
fk_method=uuid5,
detector_type=DetectorType.UV_VIS.value,
uv_vis=UvVisSettings(
wavelength=RawValueUnit(
value=254.0, unit="nm", raw_value="254.0 nm"
),
bandwidth=RawValueUnit(value=20.0, unit="nm", raw_value="20.0 nm"),
reference_used=False,
reference_wavelength=RawValueUnit(
value=254.0, unit="nm", raw_value="254.0 nm"
),
reference_bandwidth=RawValueUnit(
value=20.0, unit="nm", raw_value="20.0 nm"
),
),
),
DetectorChannel(
name="UV_VIS_2",
description="UV_VIS_2_280nm",
data_collection_rate=RawValueUnit(
value=10.0, unit="Hz", raw_value="10.0 Hz"
),
fk_module=uuid2,
fk_method=uuid5,
detector_type=DetectorType.UV_VIS.value,
uv_vis=UvVisSettings(
wavelength=RawValueUnit(
value=280.0, unit="nm", raw_value="280.0 nm"
),
bandwidth=RawValueUnit(value=20.0, unit="nm", raw_value="20.0 nm"),
reference_used=False,
reference_wavelength=RawValueUnit(
value=280.0, unit="nm", raw_value="280.0 nm"
),
reference_bandwidth=RawValueUnit(
value=20.0, unit="nm", raw_value="20.0 nm"
),
),
),
DetectorChannel(
name="MSD_1",
description="MSD_1_100-1000m/z",
data_collection_rate=RawValueUnit(
value=10.0, unit="Hz", raw_value="10.0 Hz"
),
fk_module=uuid7,
fk_method=uuid5,
detector_type=DetectorType.MASS_SPECTROMETER.value,
mass_spectrometer=MassSpectrometerSettings(
source=MassSpecSource(
type="ESI",
positive=Electrode(
voltage=RawValueUnit(
value=100.0, unit="V", raw_value="100 V"
),
current=RawValueUnit(
value=10.0, unit="A", raw_value="10 A"
),
),
negative=Electrode(
voltage=RawValueUnit(
value=-100.0, unit="V", raw_value="-100 V"
),
current=RawValueUnit(
value=-10.0, unit="A", raw_value="-10 A"
),
),
),
mass_range=MassRange(
minimum=RawValueUnit(
value=100, unit="m/z", raw_value="100-1000 m/z"
),
maximum=RawValueUnit(
value=1000, unit="m/z", raw_value="100-1000 m/z"
),
),
selected_ions=[
SelectedIon(
mass_charge_ratio=RawValueUnit(
value=100.0, unit="m/z", raw_value="100 m/z"
),
)
],
full_scan_duration=RawValueUnit(
value=10.0, unit="minute", raw_value="10.0 minute"
),
polarity="Positive",
),
),
],
results=[
Result(
name="UV_VIS_2",
peaks=[
Peak(
amount=Amount(
value=20.0,
unit="mAU",
raw_value="20.0 mAU",
percent=AmountPercent(
total=RawValueUnit(
value=100.0,
unit="percent",
raw_value="100.0 percent",
),
deviation=RawValueUnit(
value=0.1, unit="percent", raw_value="0.1 percent"
),
),
from_extinction_coeff=True,
deviation=ValuePair(value=6, raw_value="6"),
),
analyte="Sample Analyte",
area=Area(
raw_value="200.0 unit",
value=200.0,
unit="unit",
percent=AreaPercent(
value=50.0,
unit="percent",
raw_value="50.0 percent",
adjusted=RawValueUnit(
value=50.0, unit="percent", raw_value="50.0 percent"
),
capillary_electrophoresis=RawValueUnit(
value=30.0, unit="percent", raw_value="30.0 percent"
),
),
corrected=RawValueUnit(
value=200.0, unit="unit", raw_value="200.0 unit"
),
capillary_electrophoresis=RawValueUnit(
value=150.0, unit="unit", raw_value="150.0 unit"
),
),
assigned=True,
asymmetry=[Asymmetry(percent_height=10.0, is_squared=False)],
baseline=BaselineValues(
start=ValuePair(value=0.0, raw_value="0.0"),
end=ValuePair(value=10.0, raw_value="10.0"),
max=ValuePair(value=5.0, raw_value="5.0"),
unit=ValuePair(value=None, raw_value="unit"),
model="Linear",
slope=RawValueUnit(
value=0.5, unit="unit/min", raw_value="0.5 unit/min"
),
channel_name="Channel 1",
),
calibration_curve=CalibrationCurve(
id="curve_1",
mode="Mode 1",
entered_x_value=ValuePair(value=10.0, raw_value="10.0"),
type_="Linear",
weight="1/Amount",
retention=ValuePair(value=5.0, raw_value="5.0"),
detection_limit=ValuePair(value=0.1, raw_value="0.1"),
r=ValuePair(value=0.99, raw_value="0.99"),
r_squared=ValuePair(value=0.98, raw_value="0.98"),
adjusted_r_squared=ValuePair(value=0.97, raw_value="0.97"),
number_of_disabled_calibration_points=0,
x_unit="mg/mL",
y_unit="mAU",
injection_volume=ValuePair(value=20.0, raw_value="20.0"),
rf=ValuePair(value=1.0, raw_value="1.0"),
variance=ValuePair(value=0.01, raw_value="0.01"),
variance_coefficient=ValuePair(
value=0.02, raw_value="0.02"
),
standard_deviation=ValuePair(value=0.1, raw_value="0.1"),
),
capacity_factor=ValuePair(value=2.0, raw_value="2.0"),
channel=Channel(group="Group 1", name="Channel 1"),
component_type="Type 1",
concentration=Concentration(
value=16,
unit="mg/mL",
raw_value="16",
from_extinction_coeff=True,
),
conductivity=Conductivity(
average=RawValueUnit(
value=1.0, unit="mS/cm", raw_value="1.0 mS/cm"
),
end=RawValueUnit(
value=1.5, unit="mS/cm", raw_value="1.5 mS/cm"
),
max=RawValueUnit(
value=2.0, unit="mS/cm", raw_value="2.0 mS/cm"
),
start=RawValueUnit(
value=0.5, unit="mS/cm", raw_value="0.5 mS/cm"
),
),
control_value=ValuePair(value=100.0, raw_value="100.0"),
description="Sample peak description",
end=StartEndAttributes(
height=RawValueUnit(
value=10.0, unit="unit", raw_value="10.0 unit"
),
signal=RawValueUnit(
value=20.0, unit="unit", raw_value="20.0 unit"
),
),
extinction_coefficient=0.1,
f_at_5=ValuePair(value=5.0, raw_value="5.0"),
fraction_tube=FractionTube(
end=RawValueUnit(
value=1.0, unit="unit", raw_value="1.0 unit"
),
start=RawValueUnit(
value=0.5, unit="unit", raw_value="0.5 unit"
),
max=RawValueUnit(
value=1.5, unit="unit", raw_value="1.5 unit"
),
),
group=PeakGroup(
name="Group 1",
amount=ValuePair(value=100.0, raw_value="100.0"),
area=RawValueUnit(
value=200.0, unit="unit", raw_value="200.0 unit"
),
height=RawValueUnit(
value=50.0, unit="unit", raw_value="50.0 unit"
),
),
height=Height(
value=10.0,
unit="unit",
raw_value="10.0 unit",
percent=RawValueUnit(
value=10.0, unit="percent", raw_value="10.0 percent"
),
),
impurity_type="Impurity 1",
integration_type="Integration 1",
kav=0.5,
label="Peak 1",
level=Level(
value="Level 1",
check="Pass",
tolerance=LevelTolerance(
amount=Tolerance(
high=ValuePair(value=1.0, raw_value="1.0"),
low=ValuePair(value=0.5, raw_value="0.5"),
),
response=Tolerance(
high=ValuePair(value=2.0, raw_value="2.0"),
low=ValuePair(value=1.0, raw_value="1.0"),
),
),
),
manipulated=True,
name="Peak 1",
number=1,
offset=ValuePair(value=0.1, raw_value="0.1"),
plate_count=PlateCounts(
ep=ValuePair(value=1000, raw_value="1000"),
jp=ValuePair(value=900, raw_value="900"),
jp_14=ValuePair(value=800, raw_value="800"),
usp=ValuePair(value=1100, raw_value="1100"),
five_sigma=ValuePair(value=1200, raw_value="1200"),
four_sigma=ValuePair(value=1300, raw_value="1300"),
three_sigma=ValuePair(value=1400, raw_value="1400"),
two_sigma=ValuePair(value=1500, raw_value="1500"),
foley_dorsey=ValuePair(value=1600, raw_value="1600"),
variance=ValuePair(value=1700, raw_value="1700"),
unspecified=RawValueUnit(
value=1800, unit="unit", raw_value="1800 unit"
),
per_meter=RawValueUnitMeter(
raw_value="1900", value=1900, unit="Meter"
),
),
points_across_peak=ValuePair(value=20, raw_value="20"),
processing_codes=[
ProcessingCode(code="Code 1", category="baseline")
],
peak_valley_ratio=PeakValleyRatio(
start=ValuePair(value=1.0, raw_value="1.0"),
end=ValuePair(value=2.0, raw_value="2.0"),
max=ValuePair(value=3.0, raw_value="3.0"),
),
resolution=Resolution(
value=1.5,
raw_value="1.5",
unit="resolution unit",
usp=USPResolution(
tangent=RawValueUnit(
value=1.0, unit="unit", raw_value="1.0 unit"
),
half_height=RawValueUnit(
value=1.1, unit="unit", raw_value="1.1 unit"
),
five_sigma=RawValueUnit(
value=1.2, unit="unit", raw_value="1.2 unit"
),
half_width=RawValueUnit(
value=1.3, unit="unit", raw_value="1.3 unit"
),
statistical=RawValueUnit(
value=1.4, unit="unit", raw_value="1.4 unit"
),
),
ep_jp=RawValueUnit(
value=1.6, unit="unit", raw_value="1.6 unit"
),
),
retention=Retention(
time=RetentionTime(
value=5,
unit="Min",
raw_value="5 min",
relative=RelativeRetentionTime(
raw_value="0.5",
unit="MinuteTIme",
value=0.5,
usp=RawValueUnit(
value=0.6, unit="unit", raw_value="0.6 unit"
),
ep=RawValueUnit(
value=0.7, unit="unit", raw_value="0.7 unit"
),
jp=RawValueUnit(
value=0.8, unit="unit", raw_value="0.8 unit"
),
),
ratio=ValuePair(value=1.0, raw_value="1.0"),
centroid=RawValueUnit(
value=1.1, unit="unit", raw_value="1.1 unit"
),
corrected=RawValueUnit(
value=1.2, unit="unit", raw_value="1.2 unit"
),
),
signal=RawValueUnit(
value=1.3, unit="unit", raw_value="1.3 unit"
),
deviation=RawValueUnit(
value=1.4, unit="unit", raw_value="1.4 unit"
),
index=ValuePair(value=1.5, raw_value="1.5"),
window_width=RawValueUnit(
value=1.6, unit="unit", raw_value="1.6 unit"
),
selectivity=ValuePair(value=1.7, raw_value="1.7"),
),
signal_to_noise=SignalToNoise(
usp=ValuePair(value=1.0, raw_value="1.0")
),
start=StartEndAttributes(
height=RawValueUnit(
value=10.0, unit="unit", raw_value="10.0 unit"
),
signal=RawValueUnit(
value=20.0, unit="unit", raw_value="20.0 unit"
),
),
statistic=Statistic(
moment_0=0.0,
moment_1=1.0,
moment_2=2.0,
moment_3=3.0,
moment_4=4.0,
unspecified_moment=ValuePair(value=5.0, raw_value="5.0"),
skewness=ValuePair(value=6.0, raw_value="6.0"),
kurtosis=ValuePair(value=7.0, raw_value="7.0"),
excess_kurtosis=ValuePair(value=8.0, raw_value="8.0"),
symmetry=0.9,
),
symmetry_factor=ValuePair(value=1.0, raw_value="1.0"),
type="Type 1",
usp_tailing_factor=ValuePair(value=1.1, raw_value="1.1"),
widths=[
Width(
value=17,
unit="unit",
raw_value="17 unit",
percent_height=10.0,
span="Tangent",
location="Percent Height",
pharmacopeia="USP",
type="Full",
)
],
)
],
)
],
datacubes=[
DataCube(
name="Test DataCube",
measures=[
Measure(
name="UV_VIS_1",
value=[[1.0, 2.0], [4.0, 5.0], [7.0, 8.0]],
unit="AbsorbanceUnit",
)
],
dimensions=[
Dimension(
name="Wavelength",
scale=[200.0, 210.0, 220.0],
unit="NanoMeter",
),
Dimension(
name="Time",
scale=[1.0, 2.0],
unit="MinuteTime",
),
],
)
],
processing_methods=[
ProcessingBase(
fk_method=uuid5,
name="Peak Detection",
algorithm="Peak Detection Algorithm",
creation=MethodEvent(
computer="computer_1",
comment="test comment",
time=TimeWithRaw(
value="2021-01-04T00:00:00Z",
raw_value="2021-01-04T00:00:00Z",
),
user="scientist 456",
),
)
],
)
The data can then be exported to JSON by calling instance.model_dump_json(indent=2)
The resulting IDS JSON looks like this:
Click to expand
{
"@idsType": "chromatography_demo",
"@idsVersion": "v1.0.0",
"@idsNamespace": "common",
"systems": [
{
"vendor": "Thermofisher Scientific",
"model": "Ultimate 3000",
"type": "High Performance Liquid Chromatography",
"pk": "abc00000-0000-0000-0000-000000000001"
}
],
"modules": [
{
"pk": "abc00000-0000-0000-0000-000000000002",
"fk_system": "abc00000-0000-0000-0000-000000000001",
"name": "UV_VIS Detector",
"manufacturer": "Thermofisher Scientific",
"type": "Detector",
"detector_type": "UV-vis",
"part_number": "123456",
"serial_number": "ABC123",
"firmware_version": "1.0.0",
"driver_version": "1.2.3"
},
{
"pk": "abc00000-0000-0000-0000-000000000007",
"fk_system": "abc00000-0000-0000-0000-000000000001",
"name": "Mass Spec Detector",
"manufacturer": "Thermofisher Scientific",
"type": "Detector",
"detector_type": "Mass spectrometer"
},
{
"pk": "abc00000-0000-0000-0000-000000000003",
"fk_system": "abc00000-0000-0000-0000-000000000001",
"name": "Column Compartment",
"manufacturer": "Thermofisher Scientific",
"type": "Column Compartment",
"part_number": "567",
"serial_number": "DEF123",
"firmware_version": "1.0.0",
"driver_version": "1.2.3"
},
{
"pk": "abc00000-0000-0000-0000-000000000008",
"fk_system": "abc00000-0000-0000-0000-000000000001",
"name": "Pump678",
"manufacturer": "Thermofisher Scientific",
"type": "Pump",
"part_number": "567"
}
],
"columns": [
{
"pk": "abc00000-0000-0000-0000-000000000004",
"fk_system": "abc00000-0000-0000-0000-000000000001",
"fk_module": "abc00000-0000-0000-0000-000000000003",
"name": "Column 1",
"product_number": "789",
"serial_number": "GHI123",
"batch_number": "1",
"void_volume": {
"value": 1.0,
"unit": "mL",
"raw_value": "1.0 mL"
},
"length": {
"value": 100.0,
"unit": "mm",
"raw_value": "100.0 mm"
},
"diameter": {
"value": 4.6,
"unit": "mm",
"raw_value": "4.6 mm"
},
"max_pressure": {
"value": 400.0,
"unit": "bar",
"raw_value": "400.0 bar"
},
"max_temperature": {
"value": 40.0,
"unit": "Celsius",
"raw_value": "40.0 Celsius"
}
}
],
"methods": [
{
"pk": "abc00000-0000-0000-0000-000000000005",
"name": "UV_VIS Method",
"creation": {
"computer": "computer_1",
"comment": "test comment",
"time": {
"value": "2021-01-01T00:00:00Z",
"raw_value": "2021-01-01T00:00:00Z"
},
"user": "scientist 123"
},
"sample_introduction": {
"washes": [
{
"repeat_count": 3,
"timing": "Pre-Run",
"solvent": "Acetonitrile",
"volume": {
"value": 30.0,
"unit": "uL",
"raw_value": "30.0 uL"
}
}
],
"dilution_factor": {
"value": 10.0,
"unit": null,
"raw_value": "10:1"
},
"injection": {
"mode": "Partial",
"time": {
"value": "2021-01-01T00:00:00Z",
"raw_value": "2021-01-01T00:00:00Z"
},
"volume": {
"value": 30.0,
"unit": "uL",
"raw_value": "30.0 uL"
},
"sample_temperature": {
"value": 25.0,
"unit": "Celsius",
"raw_value": "25.0 Celsius"
}
},
"draw_speed": {
"value": 1.0,
"unit": "mL/s",
"raw_value": "1.0 mL/s"
},
"dispense_speed": {
"value": 2.0,
"unit": "mL/s",
"raw_value": "2.0 mL/s"
}
},
"run_duration": {
"value": 10.0,
"unit": "minute",
"raw_value": "10.0 minute"
},
"compartment": {
"fk_module": "abc00000-0000-0000-0000-000000000003",
"heaters": [
{
"location": "Left Front Heater",
"temperature": {
"value": 40.0,
"unit": "Celsius",
"raw_value": "40.0 Celsius"
}
}
]
}
}
],
"processing_methods": [
{
"fk_method": "abc00000-0000-0000-0000-000000000005",
"name": "Peak Detection",
"algorithm": "Peak Detection Algorithm",
"creation": {
"computer": "computer_1",
"comment": "test comment",
"time": {
"value": "2021-01-04T00:00:00Z",
"raw_value": "2021-01-04T00:00:00Z"
},
"user": "scientist 456"
}
}
],
"mobile_phases": [
{
"pk": "abc00000-0000-0000-0000-000000000006",
"fk_method": "abc00000-0000-0000-0000-000000000005",
"solvent_a": {
"name": "Solvent A",
"description": "Acetonitrile",
"used": true
},
"solvent_b": {
"name": "Solvent B",
"description": "Water",
"used": true
},
"solvent_c": {
"name": "Solvent C",
"description": "Methanol",
"used": true
},
"solvent_d": {
"name": "Solvent D",
"description": "Isopropanol",
"used": false
},
"id": "123A",
"name": "Mobile Phase A",
"used": true
}
],
"mobile_phase_gradient_steps": [
{
"fk_mobile_phase": "abc00000-0000-0000-0000-000000000006",
"percent_a_start": {
"value": 100.0,
"unit": "percent",
"raw_value": "100.0 %"
},
"percent_b_start": {
"value": 0.0,
"unit": "percent",
"raw_value": "0.0 %"
},
"percent_a_end": {
"value": 100.0,
"unit": "percent",
"raw_value": "100.0 %"
},
"percent_b_end": {
"value": 0.0,
"unit": "percent",
"raw_value": "0.0 %"
},
"flow": {
"value": 1.0,
"unit": "mL/min",
"raw_value": "1.0 mL/min"
},
"curve": "5",
"duration": {
"value": 10.0,
"unit": "MinuteTime",
"raw_value": "10.0 minute"
},
"retention_time": {
"value": 2.0,
"unit": "MinuteTime",
"raw_value": "2.0 minute"
}
},
{
"fk_mobile_phase": "abc00000-0000-0000-0000-000000000006",
"percent_a_start": {
"value": 10.0,
"unit": "percent",
"raw_value": "10.0 %"
},
"percent_b_start": {
"value": 90.0,
"unit": "percent",
"raw_value": "90.0 %"
},
"percent_a_end": {
"value": 10.0,
"unit": "percent",
"raw_value": "10.0 %"
},
"percent_b_end": {
"value": 90.0,
"unit": "percent",
"raw_value": "90.0 %"
},
"flow": {
"value": 1.0,
"unit": "mL/min",
"raw_value": "1.0 mL/min"
},
"curve": "3",
"duration": {
"value": 6.0,
"unit": "MinuteTime",
"raw_value": "6.0 minute"
},
"retention_time": {
"value": 12.0,
"unit": "MinuteTime",
"raw_value": "12.0 minute"
}
}
],
"results": [
{
"name": "UV_VIS_2",
"peaks": [
{
"amount": {
"value": 20.0,
"unit": "mAU",
"raw_value": "20.0 mAU",
"percent": {
"total": {
"value": 100.0,
"unit": "percent",
"raw_value": "100.0 percent"
},
"deviation": {
"value": 0.1,
"unit": "percent",
"raw_value": "0.1 percent"
}
},
"from_extinction_coeff": true,
"deviation": {
"raw_value": "6",
"value": 6.0
}
},
"analyte": "Sample Analyte",
"area": {
"value": 200.0,
"unit": "unit",
"raw_value": "200.0 unit",
"percent": {
"value": 50.0,
"unit": "percent",
"raw_value": "50.0 percent",
"adjusted": {
"value": 50.0,
"unit": "percent",
"raw_value": "50.0 percent"
},
"capillary_electrophoresis": {
"value": 30.0,
"unit": "percent",
"raw_value": "30.0 percent"
}
},
"corrected": {
"value": 200.0,
"unit": "unit",
"raw_value": "200.0 unit"
},
"capillary_electrophoresis": {
"value": 150.0,
"unit": "unit",
"raw_value": "150.0 unit"
}
},
"assigned": true,
"asymmetry": [
{
"percent_height": 10.0,
"is_squared": false
}
],
"baseline": {
"start": {
"raw_value": "0.0",
"value": 0.0
},
"end": {
"raw_value": "10.0",
"value": 10.0
},
"max": {
"raw_value": "5.0",
"value": 5.0
},
"unit": {
"raw_value": "unit",
"value": null
},
"model": "Linear",
"slope": {
"value": 0.5,
"unit": "unit/min",
"raw_value": "0.5 unit/min"
},
"channel_name": "Channel 1"
},
"calibration_curve": {
"id": "curve_1",
"mode": "Mode 1",
"entered_x_value": {
"raw_value": "10.0",
"value": 10.0
},
"type": "Linear",
"weight": "1/Amount",
"retention": {
"raw_value": "5.0",
"value": 5.0
},
"detection_limit": {
"raw_value": "0.1",
"value": 0.1
},
"r": {
"raw_value": "0.99",
"value": 0.99
},
"r_squared": {
"raw_value": "0.98",
"value": 0.98
},
"adjusted_r_squared": {
"raw_value": "0.97",
"value": 0.97
},
"number_of_disabled_calibration_points": 0,
"x_unit": "mg/mL",
"y_unit": "mAU",
"injection_volume": {
"raw_value": "20.0",
"value": 20.0
},
"rf": {
"raw_value": "1.0",
"value": 1.0
},
"variance": {
"raw_value": "0.01",
"value": 0.01
},
"variance_coefficient": {
"raw_value": "0.02",
"value": 0.02
},
"standard_deviation": {
"raw_value": "0.1",
"value": 0.1
}
},
"capacity_factor": {
"raw_value": "2.0",
"value": 2.0
},
"channel": {
"group": "Group 1",
"name": "Channel 1"
},
"component_type": "Type 1",
"concentration": {
"value": 16.0,
"unit": "mg/mL",
"raw_value": "16",
"from_extinction_coeff": true
},
"conductivity": {
"average": {
"value": 1.0,
"unit": "mS/cm",
"raw_value": "1.0 mS/cm"
},
"end": {
"value": 1.5,
"unit": "mS/cm",
"raw_value": "1.5 mS/cm"
},
"max": {
"value": 2.0,
"unit": "mS/cm",
"raw_value": "2.0 mS/cm"
},
"start": {
"value": 0.5,
"unit": "mS/cm",
"raw_value": "0.5 mS/cm"
}
},
"control_value": {
"raw_value": "100.0",
"value": 100.0
},
"description": "Sample peak description",
"end": {
"height": {
"value": 10.0,
"unit": "unit",
"raw_value": "10.0 unit"
},
"signal": {
"value": 20.0,
"unit": "unit",
"raw_value": "20.0 unit"
}
},
"extinction_coefficient": 0.1,
"f_at_5": {
"raw_value": "5.0",
"value": 5.0
},
"fraction_tube": {
"end": {
"value": 1.0,
"unit": "unit",
"raw_value": "1.0 unit"
},
"start": {
"value": 0.5,
"unit": "unit",
"raw_value": "0.5 unit"
},
"max": {
"value": 1.5,
"unit": "unit",
"raw_value": "1.5 unit"
}
},
"group": {
"name": "Group 1",
"amount": {
"raw_value": "100.0",
"value": 100.0
},
"area": {
"value": 200.0,
"unit": "unit",
"raw_value": "200.0 unit"
},
"height": {
"value": 50.0,
"unit": "unit",
"raw_value": "50.0 unit"
}
},
"height": {
"value": 10.0,
"unit": "unit",
"raw_value": "10.0 unit",
"percent": {
"value": 10.0,
"unit": "percent",
"raw_value": "10.0 percent"
}
},
"impurity_type": "Impurity 1",
"integration_type": "Integration 1",
"kav": 0.5,
"label": "Peak 1",
"level": {
"value": "Level 1",
"check": "Pass",
"tolerance": {
"amount": {
"high": {
"raw_value": "1.0",
"value": 1.0
},
"low": {
"raw_value": "0.5",
"value": 0.5
}
},
"response": {
"high": {
"raw_value": "2.0",
"value": 2.0
},
"low": {
"raw_value": "1.0",
"value": 1.0
}
}
}
},
"manipulated": true,
"name": "Peak 1",
"number": 1.0,
"offset": {
"raw_value": "0.1",
"value": 0.1
},
"plate_count": {
"ep": {
"raw_value": "1000",
"value": 1000.0
},
"jp": {
"raw_value": "900",
"value": 900.0
},
"jp_14": {
"raw_value": "800",
"value": 800.0
},
"usp": {
"raw_value": "1100",
"value": 1100.0
},
"five_sigma": {
"raw_value": "1200",
"value": 1200.0
},
"four_sigma": {
"raw_value": "1300",
"value": 1300.0
},
"three_sigma": {
"raw_value": "1400",
"value": 1400.0
},
"two_sigma": {
"raw_value": "1500",
"value": 1500.0
},
"foley_dorsey": {
"raw_value": "1600",
"value": 1600.0
},
"variance": {
"raw_value": "1700",
"value": 1700.0
},
"unspecified": {
"value": 1800.0,
"unit": "unit",
"raw_value": "1800 unit"
},
"per_meter": {
"value": 1900.0,
"unit": "Meter",
"raw_value": "1900"
}
},
"points_across_peak": {
"raw_value": "20",
"value": 20.0
},
"processing_codes": [
{
"code": "Code 1",
"category": "baseline"
}
],
"peak_valley_ratio": {
"start": {
"raw_value": "1.0",
"value": 1.0
},
"end": {
"raw_value": "2.0",
"value": 2.0
},
"max": {
"raw_value": "3.0",
"value": 3.0
}
},
"resolution": {
"value": 1.5,
"unit": "resolution unit",
"raw_value": "1.5",
"usp": {
"tangent": {
"value": 1.0,
"unit": "unit",
"raw_value": "1.0 unit"
},
"half_height": {
"value": 1.1,
"unit": "unit",
"raw_value": "1.1 unit"
},
"five_sigma": {
"value": 1.2,
"unit": "unit",
"raw_value": "1.2 unit"
},
"half_width": {
"value": 1.3,
"unit": "unit",
"raw_value": "1.3 unit"
},
"statistical": {
"value": 1.4,
"unit": "unit",
"raw_value": "1.4 unit"
}
},
"ep_jp": {
"value": 1.6,
"unit": "unit",
"raw_value": "1.6 unit"
}
},
"retention": {
"time": {
"value": 5.0,
"unit": "Min",
"raw_value": "5 min",
"relative": {
"value": 0.5,
"unit": "MinuteTIme",
"raw_value": "0.5",
"usp": {
"value": 0.6,
"unit": "unit",
"raw_value": "0.6 unit"
},
"ep": {
"value": 0.7,
"unit": "unit",
"raw_value": "0.7 unit"
},
"jp": {
"value": 0.8,
"unit": "unit",
"raw_value": "0.8 unit"
}
},
"ratio": {
"raw_value": "1.0",
"value": 1.0
},
"centroid": {
"value": 1.1,
"unit": "unit",
"raw_value": "1.1 unit"
},
"corrected": {
"value": 1.2,
"unit": "unit",
"raw_value": "1.2 unit"
}
},
"signal": {
"value": 1.3,
"unit": "unit",
"raw_value": "1.3 unit"
},
"deviation": {
"value": 1.4,
"unit": "unit",
"raw_value": "1.4 unit"
},
"index": {
"raw_value": "1.5",
"value": 1.5
},
"window_width": {
"value": 1.6,
"unit": "unit",
"raw_value": "1.6 unit"
},
"selectivity": {
"raw_value": "1.7",
"value": 1.7
}
},
"signal_to_noise": {
"usp": {
"raw_value": "1.0",
"value": 1.0
}
},
"start": {
"height": {
"value": 10.0,
"unit": "unit",
"raw_value": "10.0 unit"
},
"signal": {
"value": 20.0,
"unit": "unit",
"raw_value": "20.0 unit"
}
},
"statistic": {
"moment_0": 0.0,
"moment_1": 1.0,
"moment_2": 2.0,
"moment_3": 3.0,
"moment_4": 4.0,
"unspecified_moment": {
"raw_value": "5.0",
"value": 5.0
},
"skewness": {
"raw_value": "6.0",
"value": 6.0
},
"kurtosis": {
"raw_value": "7.0",
"value": 7.0
},
"excess_kurtosis": {
"raw_value": "8.0",
"value": 8.0
},
"symmetry": 0.9
},
"symmetry_factor": {
"raw_value": "1.0",
"value": 1.0
},
"type": "Type 1",
"usp_tailing_factor": {
"raw_value": "1.1",
"value": 1.1
},
"widths": [
{
"value": 17.0,
"unit": "unit",
"raw_value": "17 unit",
"percent_height": 10.0,
"span": "Tangent",
"location": "Percent Height",
"pharmacopeia": "USP",
"type": "Full"
}
]
}
]
}
],
"detector_channels": [
{
"fk_module": "abc00000-0000-0000-0000-000000000002",
"name": "UV_VIS_1",
"description": "UV_VIS_1_254nm",
"data_collection_rate": {
"value": 10.0,
"unit": "Hz",
"raw_value": "10.0 Hz"
},
"fk_method": "abc00000-0000-0000-0000-000000000005",
"detector_type": "UV-vis",
"uv_vis": {
"wavelength": {
"value": 254.0,
"unit": "nm",
"raw_value": "254.0 nm"
},
"bandwidth": {
"value": 20.0,
"unit": "nm",
"raw_value": "20.0 nm"
},
"reference_used": false,
"reference_wavelength": {
"value": 254.0,
"unit": "nm",
"raw_value": "254.0 nm"
},
"reference_bandwidth": {
"value": 20.0,
"unit": "nm",
"raw_value": "20.0 nm"
}
}
},
{
"fk_module": "abc00000-0000-0000-0000-000000000002",
"name": "UV_VIS_2",
"description": "UV_VIS_2_280nm",
"data_collection_rate": {
"value": 10.0,
"unit": "Hz",
"raw_value": "10.0 Hz"
},
"fk_method": "abc00000-0000-0000-0000-000000000005",
"detector_type": "UV-vis",
"uv_vis": {
"wavelength": {
"value": 280.0,
"unit": "nm",
"raw_value": "280.0 nm"
},
"bandwidth": {
"value": 20.0,
"unit": "nm",
"raw_value": "20.0 nm"
},
"reference_used": false,
"reference_wavelength": {
"value": 280.0,
"unit": "nm",
"raw_value": "280.0 nm"
},
"reference_bandwidth": {
"value": 20.0,
"unit": "nm",
"raw_value": "20.0 nm"
}
}
},
{
"fk_module": "abc00000-0000-0000-0000-000000000007",
"name": "MSD_1",
"description": "MSD_1_100-1000m/z",
"data_collection_rate": {
"value": 10.0,
"unit": "Hz",
"raw_value": "10.0 Hz"
},
"fk_method": "abc00000-0000-0000-0000-000000000005",
"detector_type": "Mass spectrometer",
"mass_spectrometer": {
"polarity": "Positive",
"source": {
"type": "ESI",
"positive": {
"voltage": {
"value": 100.0,
"unit": "V",
"raw_value": "100 V"
},
"current": {
"value": 10.0,
"unit": "A",
"raw_value": "10 A"
}
},
"negative": {
"voltage": {
"value": -100.0,
"unit": "V",
"raw_value": "-100 V"
},
"current": {
"value": -10.0,
"unit": "A",
"raw_value": "-10 A"
}
}
},
"mass_range": {
"minimum": {
"value": 100.0,
"unit": "m/z",
"raw_value": "100-1000 m/z"
},
"maximum": {
"value": 1000.0,
"unit": "m/z",
"raw_value": "100-1000 m/z"
}
},
"selected_ions": [
{
"mass_charge_ratio": {
"value": 100.0,
"unit": "m/z",
"raw_value": "100 m/z"
}
}
],
"full_scan_duration": {
"value": 10.0,
"unit": "minute",
"raw_value": "10.0 minute"
}
}
}
],
"datacubes": [
{
"name": "Test DataCube",
"measures": [
{
"name": "UV_VIS_1",
"unit": "AbsorbanceUnit",
"value": [
[
1.0,
2.0
],
[
4.0,
5.0
],
[
7.0,
8.0
]
]
}
],
"dimensions": [
{
"name": "Wavelength",
"unit": "NanoMeter",
"scale": [
200.0,
210.0,
220.0
]
},
{
"name": "Time",
"unit": "MinuteTime",
"scale": [
1.0,
2.0
]
}
]
}
]
}
- Model ChromatographySchema[source]#
Bases:
TetraDataSchemaA schema for chromatography methods and peaks data
Show JSON schema
{ "description": "A schema for chromatography methods and peaks data", "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" }, "systems": { "items": { "$ref": "#/definitions/System" }, "type": "array" }, "modules": { "items": { "$ref": "#/definitions/Module" }, "type": "array" }, "columns": { "items": { "$ref": "#/definitions/ts_ids_components__chromatography__system__Column" }, "type": "array" }, "methods": { "items": { "$ref": "#/definitions/Method" }, "type": "array" }, "processing_methods": { "items": { "$ref": "#/definitions/ProcessingBase" }, "type": "array" }, "mobile_phases": { "items": { "$ref": "#/definitions/MobilePhase" }, "type": "array" }, "mobile_phase_gradient_steps": { "items": { "$ref": "#/definitions/MobilePhaseGradientStep" }, "type": "array" }, "gradient_steps": { "items": { "$ref": "#/definitions/GradientStep" }, "type": "array" }, "results": { "items": { "$ref": "#/definitions/Result" }, "type": "array" }, "detector_channels": { "items": { "$ref": "#/definitions/DetectorChannel" }, "type": "array" }, "datacubes": { "items": { "$ref": "#/definitions/DataCube" }, "type": "array" } }, "$id": "NotImplemented", "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "is_tetra_data_schema": true, "required": [ "@idsType", "@idsVersion", "@idsNamespace", "systems", "methods", "results" ], "definitions": { "Amount": { "additionalProperties": false, "description": "Quantity of a component in a chromatogram.", "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" ] }, "percent": { "$ref": "#/definitions/AmountPercent" }, "from_extinction_coeff": { "description": "True if amount value was calculated using the component's extinction coefficient.", "type": "boolean" }, "deviation": { "$ref": "#/definitions/ValuePair", "description": "Difference between the nominal amount of the component and the actual value." } }, "required": [ "value", "unit", "raw_value" ], "type": "object" }, "AmountPercent": { "additionalProperties": false, "properties": { "total": { "$ref": "#/definitions/RawValueUnit", "description": "Peak amount as a percent of the sum of the amounts of all quantitated peaks in the chromatogram." }, "deviation": { "$ref": "#/definitions/RawValueUnit", "description": "The difference between the calculated and control sample amount or concentration values, expressed as a percentage of the control value." } }, "type": "object" }, "AnalogDigitalConverterSettings": { "additionalProperties": false, "description": "Analog to digital converter settings.", "properties": { "input_multiplier": { "description": "Multiplier for the input voltage.", "type": [ "number", "null" ] }, "input_offset": { "description": "Offset for the input voltage.", "type": [ "number", "null" ] } }, "type": "object" }, "Area": { "additionalProperties": false, "description": "Area values for a peak.", "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" ] }, "percent": { "$ref": "#/definitions/AreaPercent" }, "corrected": { "$ref": "#/definitions/RawValueUnit", "description": "The area of a peak divided by its migration time." }, "capillary_electrophoresis": { "$ref": "#/definitions/RawValueUnit", "description": "Capillary electrophoresis (CE) area for the peak, which is defined as area / retention time." } }, "required": [ "value", "unit", "raw_value" ], "type": "object" }, "AreaPercent": { "additionalProperties": false, "description": "The area of a chromatographic peak expressed as a percent of the\nsum of the areas of all integrated peaks in the chromatogram", "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" ] }, "adjusted": { "$ref": "#/definitions/RawValueUnit", "description": "Percent adjusted area." }, "capillary_electrophoresis": { "$ref": "#/definitions/RawValueUnit", "description": "Capillary electrophoresis (CE) area for the peak as a percentage of the total CE areas." } }, "required": [ "value", "unit", "raw_value" ], "type": "object" }, "Asymmetry": { "additionalProperties": false, "properties": { "raw_value": { "type": [ "string", "null" ] }, "value": { "type": [ "number", "null" ] }, "percent_height": { "description": "Percent of peak height at which asymmetry was calculated.", "type": [ "number", "null" ] }, "is_squared": { "description": "Boolean field denoting if the asymmetry value is squared.", "type": "boolean" } }, "type": "object" }, "BaselineValues": { "additionalProperties": false, "properties": { "start": { "$ref": "#/definitions/ValuePair", "description": "Baseline value at peak start." }, "end": { "$ref": "#/definitions/ValuePair", "description": "Baseline value at peak end." }, "max": { "$ref": "#/definitions/ValuePair", "description": "Baseline value at peak maximum." }, "unit": { "$ref": "#/definitions/ValuePair", "description": "Unit of calculated baseline values." }, "model": { "description": "Type of line/curve used to create the baseline. For example, 'Linear'.", "type": [ "string", "null" ] }, "parameters": { "description": "Parameters for the baseline curve.", "items": { "type": [ "number", "null" ] }, "type": "array" }, "slope": { "$ref": "#/definitions/RawValueUnit", "description": "Slope of baseline. Typically with unit x-axis unit / minute." }, "channel_name": { "description": "Channel name used to establish baseline signal.", "type": [ "string", "null" ] } }, "type": "object" }, "CalibrationCurve": { "additionalProperties": false, "description": "Information pertaining to the peak's calibration curve.", "properties": { "id": { "description": "Calibration curve identifier associated with the peak.", "type": [ "string", "null" ] }, "mode": { "description": "Determines which calibration standard injections are used as the basis for the calibration of each injection in a sequence.", "type": [ "string", "null" ] }, "entered_x_value": { "$ref": "#/definitions/ValuePair", "description": "Amount, concentration, or custom field, depending on the selection in the processing method." }, "type": { "description": "Describes the mathematical model function (calibration function) that is used to calculate the calibration curve.", "type": [ "string", "null" ] }, "weight": { "description": "Weighting used when calculating the calibration curve. For example, 1/Amount.", "type": [ "string", "null" ] }, "retention": { "$ref": "#/definitions/ValuePair", "description": "Retention time of calibration curve." }, "detection_limit": { "$ref": "#/definitions/ValuePair", "description": "The minimum amount of an analyte that can be detected by a method with a specified level of certainty, given a particular set of calibration data." }, "r": { "$ref": "#/definitions/ValuePair", "description": "Correlation coefficient. The 'linear dependence' between two variables (for example, the peak area and the amount or concentration of an analyte)" }, "r_squared": { "$ref": "#/definitions/ValuePair", "description": "The coefficient of determination, which reflects the deviation of the measured data points from the calibration curve." }, "adjusted_r_squared": { "$ref": "#/definitions/ValuePair", "description": "The coefficient of determination corrected by the degree of freedom" }, "number_of_disabled_calibration_points": { "description": "The number of values that were not considered in the calibration.", "type": [ "integer", "null" ] }, "x_unit": { "description": "Unit of the x-axis of the calibration plot.", "type": [ "string", "null" ] }, "y_unit": { "description": "Unit of the y-axis of the calibration plot.", "type": [ "string", "null" ] }, "injection_volume": { "$ref": "#/definitions/ValuePair", "description": "Injection volume use to generate the calibration curve." }, "rf": { "$ref": "#/definitions/ValuePair", "description": "Calculates the ascending slope of the calibration curve, specified as amount/area value." }, "variance": { "$ref": "#/definitions/ValuePair", "description": "The sum of the average deviation of all area values from the corresponding ideal area value in a calibration." }, "variance_coefficient": { "$ref": "#/definitions/ValuePair", "description": "A type of normalized variance value. The variance coefficient indicates how well the data points correspond to the theoretically assumed course of the curve." }, "standard_deviation": { "$ref": "#/definitions/ValuePair", "description": "Square root of calibration variance." } }, "type": "object" }, "Channel": { "additionalProperties": false, "properties": { "group": { "description": "Name of group that monitor signal belongs to; for example, Chrom.1.", "type": [ "string", "null" ] }, "name": { "description": "Name of signal being detected by a specific monitor associated with a given peak; for example, UV 1_280", "type": [ "string", "null" ] } }, "type": "object" }, "ChargedAerosolSettings": { "additionalProperties": false, "description": "Charged aerosol detection settings.", "properties": { "corona_needle_voltage": { "$ref": "#/definitions/RawValueUnit", "description": "Voltage applied between the needle and the chamber wall to ionize the charger gas stream. Also called the charger voltage." }, "corona_needle_current": { "$ref": "#/definitions/RawValueUnit", "description": "Current supplied to ionize the charger gas stream. Also called the charger current." }, "evaporator_temperature": { "$ref": "#/definitions/RawValueUnit", "description": "Temperature of the Charged Aerosol Detector evaporator." } }, "type": "object" }, "Compartment": { "additionalProperties": false, "description": "Configuration of the column compartment.", "properties": { "fk_module": { "@foreign_key": "/properties/modules/items/properties/pk", "type": "string" }, "heaters": { "description": "Heater parameters.", "items": { "$ref": "#/definitions/Heater" }, "type": "array" }, "column": { "$ref": "#/definitions/ts_ids_components__chromatography__method__Column", "description": "Column identifiers for this method." } }, "required": [ "fk_module" ], "type": "object" }, "Concentration": { "additionalProperties": false, "description": "Concentration of sample.", "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" ] }, "from_extinction_coeff": { "description": "True if concentration was calculated using the component's extinction coefficient.", "type": "boolean" } }, "required": [ "value", "unit", "raw_value" ], "type": "object" }, "Conductivity": { "additionalProperties": false, "properties": { "average": { "$ref": "#/definitions/RawValueUnit", "description": "Average electrical conduction associated with a given peak." }, "end": { "$ref": "#/definitions/RawValueUnit", "description": "Conductivity of eluent at time of peak end." }, "max": { "$ref": "#/definitions/RawValueUnit", "description": "Conductivity of eluent at time of max peak height." }, "start": { "$ref": "#/definitions/RawValueUnit", "description": "Conductivity of eluent at time of peak start." } }, "type": "object" }, "ConductivitySettings": { "additionalProperties": false, "description": "Conductivity detector settings.", "properties": { "suppressor": { "$ref": "#/definitions/Suppressor", "description": "Ion exchange suppressor parameters." } }, "type": "object" }, "DataCube": { "additionalProperties": false, "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" } }, "required": [ "name", "measures", "dimensions" ], "type": "object" }, "DetectorChannel": { "additionalProperties": false, "description": "Detection method parameters.", "properties": { "fk_module": { "@foreign_key": "/properties/modules/items/properties/pk", "type": "string" }, "name": { "description": "Name of the detector.", "type": [ "string", "null" ] }, "description": { "description": "Description of the detector channel.", "type": [ "string", "null" ] }, "data_collection_rate": { "$ref": "#/definitions/RawValueUnit", "description": "Frequency at which data is collected by the detector." }, "gain": { "$ref": "#/definitions/RawValueUnit", "description": "Parameters to adjust the sensitivity of the detector." }, "fk_method": { "@foreign_key": "/properties/methods/items/properties/pk", "type": "string" }, "detector_type": { "description": "The type of detector. Possible values are: UV-vis, Mass spectrometer, Fluorescence, Charged Aerosol, conductivity, Flame ionization, Analog digital converters, and other.", "example_values": [ "UV-vis", "Mass spectrometer", "Fluorescence", "Charged Aerosol", "Conductivity", "Flame ionization", "Analog digital converters", "Other" ], "type": "string" }, "uv_vis": { "$ref": "#/definitions/UvVisSettings" }, "mass_spectrometer": { "$ref": "#/definitions/MassSpectrometerSettings" }, "fluorescence": { "$ref": "#/definitions/FluorescenceSettings" }, "charged_aerosol": { "$ref": "#/definitions/ChargedAerosolSettings" }, "conductivity": { "$ref": "#/definitions/ConductivitySettings" }, "flame_ionization": { "$ref": "#/definitions/FlameIonizationSettings" }, "analog_digital_converters": { "$ref": "#/definitions/AnalogDigitalConverterSettings" } }, "required": [ "fk_module", "fk_method" ], "type": "object" }, "Dimension": { "additionalProperties": false, "properties": { "name": { "type": [ "string", "null" ] }, "unit": { "type": [ "string", "null" ] }, "scale": { "items": { "type": [ "number", "null" ] }, "type": "array" } }, "required": [ "name", "unit", "scale" ], "type": "object" }, "Electrode": { "additionalProperties": false, "description": "Electrical parameters of an electrode.", "properties": { "voltage": { "$ref": "#/definitions/RawValueUnit", "description": "Electrode voltage." }, "current": { "$ref": "#/definitions/RawValueUnit", "description": "Current through the electrode." } }, "type": "object" }, "EluentIon": { "additionalProperties": false, "properties": { "name": { "description": "Name of the ion being eluted by the suppressor.", "type": [ "string", "null" ] }, "concentration": { "$ref": "#/definitions/RawValueUnit", "description": "Eluent ion concentration." } }, "type": "object" }, "FlameIonizationSettings": { "additionalProperties": false, "description": "Flame ionization detector parameters.", "properties": { "detector_temperature": { "$ref": "#/definitions/RawValueUnit", "description": "Flame ionization detector temperature." }, "air_flow": { "$ref": "#/definitions/FlowControlQuantity", "description": "Flow of air into the flame ionization detector." }, "makeup_gas_flow": { "$ref": "#/definitions/FlowControlQuantity", "description": "Flow of makeup gas into the flame ionization detector." }, "hydrogen_gas_flow": { "$ref": "#/definitions/FlowControlQuantity", "description": "Flow of hydrogen into the flame ionization detector." } }, "type": "object" }, "FlowControlQuantity": { "additionalProperties": false, "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" ] }, "control": { "description": "Whether the flow is on.", "type": [ "boolean", "null" ] } }, "required": [ "value", "unit", "raw_value" ], "type": "object" }, "FluorescenceScan": { "additionalProperties": false, "properties": { "mode": { "description": "Mode of the fluorescence scan, e.g. an emission or excitation scan.", "type": "string" }, "excitation_wavelength": { "$ref": "#/definitions/WavelengthRange", "description": "Wavelength range of an excitation spectral scan." }, "emission_wavelength": { "$ref": "#/definitions/WavelengthRange", "description": "Wavelength range of an emission spectral scan." } }, "type": "object" }, "FluorescenceSettings": { "additionalProperties": false, "description": "Settings for fluorescence detection.", "properties": { "excitation": { "$ref": "#/definitions/WavelengthSelection", "description": "Wavelength and bandwidth of the excitation light." }, "emission": { "$ref": "#/definitions/WavelengthSelection", "description": "Wavelength and bandwidth of the emission detection." }, "scan": { "$ref": "#/definitions/FluorescenceScan", "description": "Spectral scan detection parameters for emission scan, excitation scan, or both." } }, "type": "object" }, "FractionTube": { "additionalProperties": false, "description": "Fraction tubes used during peak elution.", "properties": { "end": { "$ref": "#/definitions/RawValueUnit", "description": "Tube label or position collecting eluent at time of peak end." }, "start": { "$ref": "#/definitions/RawValueUnit", "description": "Tube label or position collecting eluent at time of peak start." }, "max": { "$ref": "#/definitions/RawValueUnit", "description": "Tube label or position collecting eluent at time of max peak height." } }, "type": "object" }, "GasInlet": { "additionalProperties": false, "description": "Gas chromatography inlet method parameters.", "properties": { "fk_module": { "@foreign_key": "/properties/modules/items/properties/pk", "type": "string" }, "temperature": { "$ref": "#/definitions/RawValueUnit", "description": "Temperature of the inlet." }, "operating_mode": { "description": "Operating mode, e.g. split or splitless.", "type": [ "string", "null" ] }, "split_flow": { "$ref": "#/definitions/RawValueUnit", "description": "Flow rate for split mode injections." }, "split_flow_ratio": { "$ref": "#/definitions/RawValueUnit", "description": "Ratio of total flow of gas entering the inlet to column flow in split mode injections." }, "purge_flow": { "$ref": "#/definitions/RawValueUnit", "description": "Rate of the purge flow." }, "vacuum_compensation": { "description": "Whether vacuum correction is on at the start of the run, at 0 seconds retention time.", "type": [ "boolean", "null" ] } }, "required": [ "fk_module" ], "type": "object" }, "GradientStep": { "additionalProperties": false, "description": "Parameters describing a gradient control step such as temperature, flow or pressure\ngradients.", "properties": { "fk_method": { "@foreign_key": "/properties/methods/items/properties/pk", "type": "string" }, "gradient_type": { "description": "The type of gradient step. Possible values are: Temperature, Flow, and Pressure.", "example_values": [ "Temperature", "Flow", "Pressure" ], "type": "string" }, "retention_time": { "$ref": "#/definitions/RawValueUnit", "description": "The retention time at which this gradient step starts." }, "rate": { "$ref": "#/definitions/RawValueUnit", "description": "Rate of the gradient step." }, "start_value": { "$ref": "#/definitions/RawValueUnit", "description": "Start value of the parameter." }, "target_value": { "$ref": "#/definitions/RawValueUnit", "description": "Target value of the parameter." }, "hold_duration": { "$ref": "#/definitions/RawValueUnit", "description": "Duration of time that this parameter is held for after reaching the target." } }, "required": [ "fk_method" ], "type": "object" }, "Heater": { "additionalProperties": false, "description": "Heater parameters.", "properties": { "location": { "description": "Description of the location of the heater in the column compartment, e.g. left or right.", "type": [ "string", "null" ] }, "temperature": { "$ref": "#/definitions/RawValueUnit", "description": "Temperature set point of the heater." } }, "type": "object" }, "Height": { "additionalProperties": false, "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" ] }, "percent": { "$ref": "#/definitions/RawValueUnit", "description": "Peak height as a percent of the sum of the heights of all integrated peaks in the chromatogram." } }, "required": [ "value", "unit", "raw_value" ], "type": "object" }, "Injection": { "additionalProperties": false, "description": "Parameters about the sample injection.", "properties": { "mode": { "description": "The injection mode, e.g. full loop or partial loop.", "type": [ "string", "null" ] }, "time": { "$ref": "#/definitions/TimeWithRaw", "description": "The time that the injection takes place." }, "volume": { "$ref": "#/definitions/RawValueUnit", "description": "Volume of sample to inject." }, "sample_temperature": { "$ref": "#/definitions/RawValueUnit", "description": "Temperature set point of the sample or sample tray." } }, "type": "object" }, "Level": { "additionalProperties": false, "properties": { "value": { "description": "Level designation used for a standard during sample loading.", "type": [ "string", "null" ] }, "check": { "description": "Pass/fail result of a calibration level for a check standard/QC sample injection", "type": [ "string", "null" ] }, "tolerance": { "$ref": "#/definitions/LevelTolerance" } }, "type": "object" }, "LevelTolerance": { "additionalProperties": false, "properties": { "amount": { "$ref": "#/definitions/Tolerance", "description": "Amount tolerance for a given level." }, "response": { "$ref": "#/definitions/Tolerance", "description": "Response tolerance for a given level." } }, "type": "object" }, "MassRange": { "additionalProperties": false, "description": "Range of mass/charge ratios for mass spectra.", "properties": { "minimum": { "$ref": "#/definitions/RawValueUnit", "description": "Minimum value in a range of mass/charge ratios." }, "maximum": { "$ref": "#/definitions/RawValueUnit", "description": "Maximum value in a range of mass/charge ratios." } }, "type": "object" }, "MassSpecSource": { "additionalProperties": false, "properties": { "type": { "description": "Type of ionization source.", "type": [ "string", "null" ] }, "positive": { "$ref": "#/definitions/Electrode", "description": "Electrical parameters for the positive electrode." }, "negative": { "$ref": "#/definitions/Electrode", "description": "Electrical parameters for the negative electrode." } }, "type": "object" }, "MassSpectrometerSettings": { "additionalProperties": false, "description": "Mass spectrometer settings for single spectra instruments, e.g. single\nquadrupole or TOF.", "properties": { "polarity": { "description": "Polarity of generated ions.", "type": [ "string", "null" ] }, "source": { "$ref": "#/definitions/MassSpecSource", "description": "Ionization source parameters, including source voltage and current." }, "mass_range": { "$ref": "#/definitions/MassRange", "description": "Lower and upper cutoffs for m/z values detected." }, "selected_ions": { "description": "List of specific selected ions for detection.", "items": { "$ref": "#/definitions/SelectedIon" }, "type": "array" }, "full_scan_duration": { "$ref": "#/definitions/RawValueUnit", "description": "Duration of time of the full mass scan." } }, "type": "object" }, "Measure": { "additionalProperties": false, "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" }, "Method": { "additionalProperties": false, "properties": { "pk": { "@primary_key": true, "description": "Primary key for the method.", "type": "string" }, "name": { "description": "Name of the method.", "type": [ "string", "null" ] }, "creation": { "$ref": "#/definitions/MethodEvent", "description": "Information about the creation of this acquisition method." }, "last_update": { "$ref": "#/definitions/MethodEvent", "description": "Information about the last update of this acquisition method." }, "sample_introduction": { "$ref": "#/definitions/SampleIntroduction" }, "run_duration": { "$ref": "#/definitions/RawValueUnit", "description": "Duration of time the method will run for." }, "gc_inlet": { "$ref": "#/definitions/GasInlet" }, "carrier_gas": { "description": "The carrier gas used in GC runs.", "type": [ "string", "null" ] }, "compartment": { "$ref": "#/definitions/Compartment", "description": "Metadata and settings relating to the first (and possibly only) active column compartment." }, "second_compartment": { "$ref": "#/definitions/Compartment", "description": "Second active column compartment, for example used in 2D liquid chromatography." } }, "required": [ "pk" ], "type": "object" }, "MethodEvent": { "additionalProperties": false, "description": "Parameters describing when an event took place and who performed it.", "properties": { "computer": { "description": "Identifier of the computer.", "type": [ "string", "null" ] }, "comment": { "description": "Comments provided by user associated with the event.", "type": [ "string", "null" ] }, "time": { "$ref": "#/definitions/TimeWithRaw", "description": "Time that the event took place." }, "user": { "description": "User associated with the event.", "type": [ "string", "null" ] } }, "type": "object" }, "MobilePhase": { "additionalProperties": false, "description": "Mobile phase metadata in liquid chromatography or ion exchange chromatography", "properties": { "pk": { "@primary_key": true, "description": "Primary key for mobile phases in the chromatography system.", "type": "string" }, "fk_method": { "@foreign_key": "/properties/methods/items/properties/pk", "type": "string" }, "solvent_a": { "$ref": "#/definitions/Solvent" }, "solvent_b": { "$ref": "#/definitions/Solvent" }, "solvent_c": { "$ref": "#/definitions/Solvent" }, "solvent_d": { "$ref": "#/definitions/Solvent" }, "id": { "description": "ID of the mobile phase.", "type": [ "string", "null" ] }, "name": { "description": "Name assigned to the mobile phase.", "type": [ "string", "null" ] }, "used": { "description": "Whether or not this mobile phase is used in this method.", "type": [ "boolean", "null" ] } }, "required": [ "pk", "fk_method" ], "type": "object" }, "MobilePhaseGradientStep": { "additionalProperties": false, "description": "Parameters of a mobile phase gradient step.\nComposition is given in terms of mobile phases labelled A, B, C and D.\nFor example, A and B may be used with a binary pump, and all four may be used with a\nquaternary pump.", "properties": { "fk_mobile_phase": { "@foreign_key": "/properties/mobile_phases/items/properties/pk", "type": "string" }, "percent_a": { "$ref": "#/definitions/RawValueUnit", "description": "Percent of A used." }, "percent_b": { "$ref": "#/definitions/RawValueUnit", "description": "Percent of B used." }, "percent_c": { "$ref": "#/definitions/RawValueUnit", "description": "Percent of C used." }, "percent_d": { "$ref": "#/definitions/RawValueUnit", "description": "Percent of D used." }, "percent_a_start": { "$ref": "#/definitions/RawValueUnit", "description": "Percent of A at start of gradient step." }, "percent_b_start": { "$ref": "#/definitions/RawValueUnit", "description": "Percent of B at start of gradient step." }, "percent_c_start": { "$ref": "#/definitions/RawValueUnit", "description": "Percent of C at start of gradient step." }, "percent_d_start": { "$ref": "#/definitions/RawValueUnit", "description": "Percent of D at start of gradient step." }, "percent_a_end": { "$ref": "#/definitions/RawValueUnit", "description": "Percent of A at end of gradient step." }, "percent_b_end": { "$ref": "#/definitions/RawValueUnit", "description": "Percent of B at end of gradient step." }, "percent_c_end": { "$ref": "#/definitions/RawValueUnit", "description": "Percent of C at end of gradient step." }, "percent_d_end": { "$ref": "#/definitions/RawValueUnit", "description": "Percent of D at end of gradient step." }, "flow": { "$ref": "#/definitions/RawValueUnit", "description": "Flow rate for this gradient step." }, "curve": { "description": "A curve identifier for the curve defining this gradient step.", "type": [ "string", "null" ] }, "duration": { "$ref": "#/definitions/RawValueUnit", "description": "Duration of time of this gradient step." }, "retention_time": { "$ref": "#/definitions/RawValueUnit", "description": "The retention time at which this gradient step starts." } }, "required": [ "fk_mobile_phase" ], "type": "object" }, "Module": { "additionalProperties": false, "description": "Properties of the modules in the chromatography unit. Modules may include\ne.g. column compartments, detectors, autosamplers, or pumps.", "properties": { "pk": { "@primary_key": true, "description": "Primary key for system modules.", "type": "string" }, "fk_system": { "@foreign_key": "/properties/systems/items/properties/pk", "description": "Foreign key to the system.", "type": "string" }, "name": { "description": "Module name as specified by the audit trail.", "type": [ "string", "null" ] }, "manufacturer": { "description": "Module manufacturer.", "type": [ "string", "null" ] }, "type": { "description": "Type of module.", "type": [ "string", "null" ] }, "detector_type": { "description": "Type of detector; defined only when the module is identified as a detector.", "type": [ "string", "null" ] }, "part_number": { "description": "Part number or model number of the module.", "type": [ "string", "null" ] }, "serial_number": { "description": "Module serial number.", "type": [ "string", "null" ] }, "firmware_version": { "description": "Module firmware version.", "type": [ "string", "null" ] }, "driver_version": { "description": "Module driver version.", "type": [ "string", "null" ] } }, "required": [ "pk", "fk_system" ], "type": "object" }, "Parameter": { "additionalProperties": false, "description": "A structure for capturing individual values with varying datatypes.", "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" ] } }, "type": "object" }, "Peak": { "additionalProperties": false, "properties": { "amount": { "$ref": "#/definitions/Amount" }, "analyte": { "type": "string" }, "area": { "$ref": "#/definitions/Area", "description": "The peak signal integrated over time between peak start and peak end points." }, "assigned": { "description": "True if the peak has been manually assigned by the user; false otherwise.", "type": [ "boolean", "null" ] }, "asymmetry": { "description": "All asymmetry values calculated for a given peak.", "items": { "$ref": "#/definitions/Asymmetry" }, "type": "array" }, "baseline": { "$ref": "#/definitions/BaselineValues" }, "calibration_curve": { "$ref": "#/definitions/CalibrationCurve" }, "capacity_factor": { "$ref": "#/definitions/ValuePair", "description": "Capacity factor aka k prime (k'), a measurement of the retention time of a sample molecule relative to the column void volume (V\u00d8)" }, "channel": { "$ref": "#/definitions/Channel" }, "component_type": { "type": [ "string", "null" ] }, "concentration": { "$ref": "#/definitions/Concentration" }, "conductivity": { "$ref": "#/definitions/Conductivity" }, "control_value": { "$ref": "#/definitions/ValuePair" }, "custom_fields": { "items": { "$ref": "#/definitions/Parameter" }, "type": "array" }, "description": { "description": "User denoted annotation of peak.", "type": [ "string", "null" ] }, "end": { "$ref": "#/definitions/StartEndAttributes", "description": "Calculated values specific to the end of the peak." }, "extinction_coefficient": { "description": "Component's extinction coefficient.", "type": [ "number", "null" ] }, "f_at_5": { "$ref": "#/definitions/ValuePair", "description": "Peak width from start point at 5% of peak height to retention time. 'f' denoting this width's use in the USP tailing factor equation." }, "fraction_tube": { "$ref": "#/definitions/FractionTube" }, "group": { "$ref": "#/definitions/PeakGroup" }, "height": { "$ref": "#/definitions/Height", "description": "Height of the peak as measured from the peak's apex to baseline." }, "impurity_type": { "type": [ "string", "null" ] }, "integration_type": { "type": [ "string", "null" ] }, "kav": { "description": "The ratio between the elution volume of a given molecule and the total available volume of the column", "type": [ "number", "null" ] }, "label": { "description": "Label given to peak.", "type": [ "string", "null" ] }, "level": { "$ref": "#/definitions/Level" }, "manipulated": { "description": "true if the peak has been manipulated by the user; false otherwise", "type": [ "boolean", "null" ] }, "name": { "description": "A name given to the peak.", "type": [ "string", "null" ] }, "number": { "description": "Number assigned to the peak in the chromatogram.", "type": [ "number", "null" ] }, "offset": { "$ref": "#/definitions/ValuePair" }, "plate_count": { "$ref": "#/definitions/PlateCounts" }, "points_across_peak": { "$ref": "#/definitions/ValuePair", "description": "Width of peak expressed as the number of data points on x-axis" }, "processing_codes": { "items": { "$ref": "#/definitions/ProcessingCode" }, "type": "array" }, "peak_valley_ratio": { "$ref": "#/definitions/PeakValleyRatio" }, "resolution": { "$ref": "#/definitions/Resolution" }, "response": { "$ref": "#/definitions/Response" }, "retention": { "$ref": "#/definitions/Retention" }, "signal_to_noise": { "$ref": "#/definitions/SignalToNoise" }, "start": { "$ref": "#/definitions/StartEndAttributes", "description": "Calculated values specific to the start of the peak." }, "statistic": { "$ref": "#/definitions/Statistic" }, "symmetry_factor": { "$ref": "#/definitions/ValuePair", "description": "The maximum permissible asymmetry of the peak. EP and JP standard that is equivalent to USP Tailing Factor." }, "type": { "description": "String descriptor of type of peak.", "type": [ "string", "null" ] }, "usp_tailing_factor": { "$ref": "#/definitions/ValuePair", "description": "The maximum permissible asymmetry of the peak. USP Tailing Factor that is equivalent to EP and JP symmetry factor." }, "widths": { "items": { "$ref": "#/definitions/Width" }, "type": "array" } }, "type": "object" }, "PeakGroup": { "additionalProperties": false, "description": "Aggregate information pertaining to a group of peaks.", "properties": { "name": { "description": "Name of the peak group.", "type": [ "string", "null" ] }, "amount": { "$ref": "#/definitions/ValuePair", "description": "Sum peak amounts within a group." }, "area": { "$ref": "#/definitions/RawValueUnit", "description": "Sum peak areas within a group." }, "height": { "$ref": "#/definitions/RawValueUnit", "description": "Sum peak heights within a group." } }, "type": "object" }, "PeakValleyRatio": { "additionalProperties": false, "description": "Peak value ratio(s) for a peak.", "properties": { "start": { "$ref": "#/definitions/ValuePair", "description": "Ratio of peak height to valley height at start of peak." }, "end": { "$ref": "#/definitions/ValuePair", "description": "Ratio of peak height to valley height at end of peak." }, "max": { "$ref": "#/definitions/ValuePair", "description": "Peak valley ratio using the smallest valley adjacent to the peak." } }, "type": "object" }, "PlateCounts": { "additionalProperties": false, "properties": { "ep": { "$ref": "#/definitions/ValuePair", "description": "Plate count calculated using the European Pharmacopoeia plate count equation." }, "jp": { "$ref": "#/definitions/ValuePair", "description": "Plate count calculated using the Japanese Pharmacopoeia revision 15 or later where the plate count equation's coefficient is 5.54." }, "jp_14": { "$ref": "#/definitions/ValuePair", "description": "Plate count calculated using the Japanese Pharmacopoeia revision 14 or earlier where the plate count equation's coefficient is 5.55." }, "usp": { "$ref": "#/definitions/ValuePair", "description": "Plate count calculated using the United States Pharmacopeia plate count equation." }, "five_sigma": { "$ref": "#/definitions/ValuePair", "description": "Plate count calculated using the 5-sigma plate count equation." }, "four_sigma": { "$ref": "#/definitions/ValuePair", "description": "Plate count calculated using the 4-sigma plate count equation." }, "three_sigma": { "$ref": "#/definitions/ValuePair", "description": "Plate count calculated using the 3-sigma plate count equation." }, "two_sigma": { "$ref": "#/definitions/ValuePair", "description": "Plate count calculated using the 2-sigma plate count equation." }, "foley_dorsey": { "$ref": "#/definitions/ValuePair", "description": "Plate count calculated using the Foley-Dorsey method." }, "variance": { "$ref": "#/definitions/ValuePair", "description": "Plate count calculated using the Variance method." }, "unspecified": { "$ref": "#/definitions/RawValueUnit", "description": "Plate count calculated using an unspecified method." }, "per_meter": { "$ref": "#/definitions/RawValueUnitMeter", "description": "Plate count / column length in meters." } }, "type": "object" }, "ProcessingBase": { "additionalProperties": false, "description": "Basic parameters describing a processing method.", "properties": { "fk_method": { "@foreign_key": "/properties/methods/items/properties/pk", "type": "string" }, "name": { "description": "Name of the processing method.", "type": [ "string", "null" ] }, "algorithm": { "description": "Identifier or name of the processing algorithm.", "type": [ "string", "null" ] }, "creation": { "$ref": "#/definitions/MethodEvent", "description": "Information about the creation of this processing method." }, "last_update": { "$ref": "#/definitions/MethodEvent", "description": "Information about the last update of this processing method." } }, "required": [ "fk_method" ], "type": "object" }, "ProcessingCode": { "additionalProperties": false, "description": "A code used to describe the processing of a peak.", "properties": { "code": { "description": "The code value defined by the software.", "type": "string" }, "category": { "description": "A category to describe what specific component of a peak this code influences.", "example_values": [ "baseline", "baseline_start", "baseline_end", "unspecified" ], "type": "string" } }, "required": [ "code" ], "type": "object" }, "RawValueUnit": { "additionalProperties": false, "description": "A value with a unit, including the raw representation of the value from the primary data.", "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" ] } }, "required": [ "value", "unit", "raw_value" ], "type": "object" }, "RawValueUnitMeter": { "additionalProperties": false, "properties": { "value": { "description": "A numerical value.", "type": [ "number", "null" ] }, "unit": { "type": "string" }, "raw_value": { "description": "The raw, untransformed value from the primary data.", "type": [ "string", "null" ] } }, "required": [ "value", "raw_value" ], "type": "object" }, "RelativeRetentionTime": { "additionalProperties": false, "description": "Difference between the retention time of a component and the retention time of its RT Reference peak", "properties": { "value": { "description": "Relative retention time value calculated using an unspecified pharmacop(o)eia standard.", "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" ] }, "usp": { "$ref": "#/definitions/RawValueUnit", "description": "Relative retention time calculated using the USP standard." }, "ep": { "$ref": "#/definitions/RawValueUnit", "description": "Relative retention time calculated using the EP standard." }, "jp": { "$ref": "#/definitions/RawValueUnit", "description": "Relative retention time calculated using the JP standard." } }, "required": [ "value", "unit", "raw_value" ], "type": "object" }, "Resolution": { "additionalProperties": false, "description": "The extent to which a chromatographic column separates components from each other", "properties": { "value": { "description": "Resolution calculated using an unspecified resolution formula.", "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" ] }, "usp": { "$ref": "#/definitions/USPResolution", "description": "Resolution calculated using the USP standard." }, "ep_jp": { "$ref": "#/definitions/RawValueUnit", "description": "Resolution calculated using the EP/JP pharmacopeia standard. This standard is the same for EP and JP." } }, "required": [ "unit", "raw_value" ], "type": "object" }, "Response": { "additionalProperties": false, "description": "The peak area, peak height, or a ratio, depending on the Y Value flag and use of an internal standard.\nTogether with amount and concentration, response is the value used to produce a point in the\ncalibration curve and used during quantitation to obtain the amount of concentration of the\nunknown peak from the calibration curve.", "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" ] }, "relative": { "$ref": "#/definitions/ValuePair", "description": "A parameter that scales the response of a specified component to the response of a component named as a Curve reference." }, "factor": { "$ref": "#/definitions/ValuePair", "description": "Ratio off response to analyte concentration. This value is dependent on the response type chosen." } }, "required": [ "value", "unit", "raw_value" ], "type": "object" }, "Result": { "additionalProperties": false, "properties": { "name": { "type": [ "string", "null" ] }, "peaks": { "items": { "$ref": "#/definitions/Peak" }, "type": "array" } }, "type": "object" }, "Retention": { "additionalProperties": false, "properties": { "time": { "$ref": "#/definitions/RetentionTime" }, "signal": { "$ref": "#/definitions/RawValueUnit", "description": "Uncorrected peak signal value at retention time." }, "deviation": { "$ref": "#/definitions/RawValueUnit", "description": "The deviation of the actual retention time from the expected retention time." }, "index": { "$ref": "#/definitions/ValuePair", "description": "Interpolated retention index calculated based on designated marker peaks, if specified." }, "window_width": { "$ref": "#/definitions/RawValueUnit", "description": "The tolerance interval in which the peak is expected" }, "selectivity": { "$ref": "#/definitions/ValuePair", "description": "A USP standard that is a ratio of two peak's capacity factors. Where the peak represented in the numerator must have a retention time greater than the retention time of the peak representated in the denominator (i.e. selectivity cannot be less than 1)." } }, "type": "object" }, "RetentionTime": { "additionalProperties": false, "description": "The time that elapses between the injection of a sample and the appearance of\nthe peak maximum (apex) of a component in the sample.", "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" ] }, "relative": { "$ref": "#/definitions/RelativeRetentionTime" }, "ratio": { "$ref": "#/definitions/ValuePair", "description": "The retention time of a component divided by the retention time of its reference peak (RT Reference)." }, "centroid": { "$ref": "#/definitions/RawValueUnit", "description": "The centroid time of the peak (i.e. the peak's center of mass)." }, "corrected": { "$ref": "#/definitions/RawValueUnit", "description": "Corrected retention time based off a standard peak's deviation from its expected retention time." } }, "required": [ "value", "unit", "raw_value" ], "type": "object" }, "SampleIntroduction": { "additionalProperties": false, "description": "The sample introduction includes the sample and its associated quantities (volume,\nconcentration, etc.) as well as the preparation steps (e.g. dilution), and\nautosampler methods.", "properties": { "washes": { "items": { "$ref": "#/definitions/Wash" }, "type": "array" }, "dilution_factor": { "$ref": "#/definitions/RawValueUnit", "description": "The dilution factor of the sample introduction." }, "injection": { "$ref": "#/definitions/Injection" }, "draw_speed": { "$ref": "#/definitions/RawValueUnit", "description": "The rate at which a sample is drawn." }, "dispense_speed": { "$ref": "#/definitions/RawValueUnit", "description": "The rate at which a sample is dispensed." } }, "type": "object" }, "SelectedIon": { "additionalProperties": false, "properties": { "mass_charge_ratio": { "$ref": "#/definitions/RawValueUnit", "description": "The mass to charge ratio associated with a selected ion." } }, "type": "object" }, "SignalToNoise": { "additionalProperties": false, "properties": { "raw_value": { "type": [ "string", "null" ] }, "value": { "type": [ "number", "null" ] }, "usp": { "$ref": "#/definitions/ValuePair", "description": "Signal-to-noise calculated using the USP standard" } }, "type": "object" }, "Solvent": { "additionalProperties": false, "description": "Solvent metadata in liquid chromatography or ion exchange chromatography", "properties": { "name": { "description": "Name of the solvent.", "type": [ "string", "null" ] }, "description": { "description": "Description of the solvent.", "type": [ "string", "null" ] }, "used": { "description": "Whether or not this solvent is used in this method.", "type": [ "boolean", "null" ] } }, "type": "object" }, "StandardDeviation": { "additionalProperties": false, "description": "Standard deviation for a Gaussian-shaped peak.", "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" ] }, "relative": { "$ref": "#/definitions/ValuePair", "description": "The standard deviation as a percentage of the mean of the measured values. A normalized standard deviation that can be used to measure relative error in the calibration." } }, "required": [ "value", "unit", "raw_value" ], "type": "object" }, "StartEndAttributes": { "additionalProperties": false, "properties": { "height": { "$ref": "#/definitions/RawValueUnit", "description": "Height of peak at a given location." }, "signal": { "$ref": "#/definitions/RawValueUnit", "description": "Value of uncorrected peak signal at a given location in the peak." } }, "type": "object" }, "Statistic": { "additionalProperties": false, "properties": { "standard_deviation": { "$ref": "#/definitions/StandardDeviation" }, "moment_0": { "description": "The zeroth moment; the uncorrected area (area under peak not including baseline correction).", "type": [ "number", "null" ] }, "moment_1": { "description": "The first central moment (peak mean). This value differs from the retention time when the third moment is nonzero.", "type": [ "number", "null" ] }, "moment_2": { "description": "The second central moment, which corresponds to variance.", "type": [ "number", "null" ] }, "moment_3": { "description": "The Third cumulant/central moment.", "type": [ "number", "null" ] }, "moment_4": { "description": "The fourth central moment.", "type": [ "number", "null" ] }, "unspecified_moment": { "$ref": "#/definitions/ValuePair", "description": "This value can be any of the 0th-4th statistical moments. This will be populated when the primary data does not specify which moment value is captured." }, "skewness": { "$ref": "#/definitions/ValuePair", "description": "The third moment divided by the standard deviation cubed." }, "kurtosis": { "$ref": "#/definitions/ValuePair", "description": "The peak's fourth moment divided by the peak's standard deviation raised to the 4th power. Often referred to as the 'tailedness' of the peak." }, "excess_kurtosis": { "$ref": "#/definitions/ValuePair", "description": "Excess kurtosis = kurtosis - 3. It describes the peak's kurtosis relative to a normal distribution whose kurtosis is always 3." }, "symmetry": { "description": "A pseudomoment measure of symmetry determined by tangents to the peak at points of inflection in the curve.", "type": [ "number", "null" ] } }, "type": "object" }, "Suppressor": { "additionalProperties": false, "properties": { "name": { "description": "Name of the ion suppressor.", "type": [ "string", "null" ] }, "type": { "description": "Ion suppressor type.", "type": [ "string", "null" ] }, "eluent_ions": { "description": "Ions being eluted by the suppressor.", "items": { "$ref": "#/definitions/EluentIon" }, "type": "array" }, "current": { "$ref": "#/definitions/RawValueUnit", "description": "Current in the suppressor." }, "flow_rate": { "$ref": "#/definitions/RawValueUnit", "description": "Flow rate through the suppressor." } }, "type": "object" }, "System": { "additionalProperties": false, "description": "Metadata regarding the equipment, software, and firmware used in a run of an\ninstrument or experiment.", "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": "Type of chromatography system.", "example_values": [ "Ion Exchange Chromatography", "High Performance Liquid Chromatography", "2D High Performance Liquid Chromatography", "Gas Chromatography" ], "type": [ "string", "null" ] }, "pk": { "@primary_key": true, "description": "Primary key for the system.", "type": "string" } }, "required": [ "vendor", "model", "type", "pk" ], "type": "object" }, "TimeWithRaw": { "additionalProperties": false, "properties": { "value": { "type": [ "string", "null" ] }, "raw_value": { "type": [ "string", "null" ] } }, "type": "object" }, "Tolerance": { "additionalProperties": false, "properties": { "high": { "$ref": "#/definitions/ValuePair", "description": "High value for tolerance level." }, "low": { "$ref": "#/definitions/ValuePair", "description": "Low value for tolerance level." } }, "type": "object" }, "USPResolution": { "additionalProperties": false, "description": "Resolution values calculated following United States Pharmacopeia standards.", "properties": { "tangent": { "$ref": "#/definitions/RawValueUnit", "description": "Resolution calculated using USP tangent method." }, "half_height": { "$ref": "#/definitions/RawValueUnit", "description": "Resolution calculated using USP half-height method." }, "five_sigma": { "$ref": "#/definitions/RawValueUnit", "description": "Resolution calculated using USP 5-sigma method." }, "half_width": { "$ref": "#/definitions/RawValueUnit", "description": "Resolution calculated using USP half-width method." }, "statistical": { "$ref": "#/definitions/RawValueUnit", "description": "Resolution calculated using USP statistical method." } }, "type": "object" }, "UvVisSettings": { "additionalProperties": false, "properties": { "wavelength": { "$ref": "#/definitions/RawValueUnit", "description": "Wavelength at which absorbance is recorded." }, "bandwidth": { "$ref": "#/definitions/RawValueUnit", "description": "Spectral bandwidth of the UV-vis channel." }, "reference_used": { "description": "Whether a reference wavelength is used.", "type": [ "boolean", "null" ] }, "reference_wavelength": { "$ref": "#/definitions/RawValueUnit", "description": "Wavelength at which the reference absorbance is recorded." }, "reference_bandwidth": { "$ref": "#/definitions/RawValueUnit", "description": "Spectral bandwidth of the reference UV-vis channel." }, "wavelength_range": { "$ref": "#/definitions/WavelengthRange", "description": "Wavelength range parameters for a spectral scan." } }, "type": "object" }, "ValueDataType": { "description": "Allowed data type values.", "enum": [ "string", "number", "boolean" ], "type": "string" }, "ValuePair": { "additionalProperties": false, "properties": { "raw_value": { "type": [ "string", "null" ] }, "value": { "type": [ "number", "null" ] } }, "type": "object" }, "Wash": { "additionalProperties": false, "description": "Parameters describing a wash step, e.g. of a loop or needle/syringe used for\ninjection.", "properties": { "repeat_count": { "description": "Number of times this step of the wash is repeated.", "type": [ "integer", "null" ] }, "timing": { "description": "Timing of this wash step in relation to the injection, e.g. before the injection, after the injection, or both.", "type": [ "string", "null" ] }, "solvent": { "description": "Solvent used for this wash step.", "type": [ "string", "null" ] }, "volume": { "$ref": "#/definitions/RawValueUnit", "description": "Volume of solvent used for this wash step." } }, "type": "object" }, "WavelengthRange": { "additionalProperties": false, "properties": { "minimum": { "$ref": "#/definitions/RawValueUnit", "description": "Minimum wavelength in the spectral range." }, "maximum": { "$ref": "#/definitions/RawValueUnit", "description": "Maximum wavelength in the spectral range." }, "step": { "$ref": "#/definitions/RawValueUnit", "description": "Spacing between wavelengths in the spectrum." } }, "type": "object" }, "WavelengthSelection": { "additionalProperties": false, "description": "Parameters for wavelength selection.", "properties": { "wavelength": { "$ref": "#/definitions/RawValueUnit", "description": "Nominal wavelength of detection." }, "bandwidth": { "$ref": "#/definitions/RawValueUnit", "description": "Spectral bandwidth of detection." }, "filter_wheel": { "description": "Metadata related to a filter wheel.", "type": [ "string", "null" ] } }, "type": "object" }, "Width": { "additionalProperties": false, "description": "A width measurement of a peak.", "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" ] }, "percent_height": { "description": "Percent height of peak at which width value was calculated.", "type": [ "number", "null" ] }, "span": { "description": "The span of the width. 'Tangent' if the width is measured from peak tangent lines. 'Signal' if the width is measured from the peak's signal values.", "example_values": [ "Tangent", "Signal" ], "type": "string" }, "location": { "description": "The width location along the peak's y-axis. 'Percent Height' if the width is measured at a percent height of the peak. 'Baseline' if the width is measured at the baseline of the peak.", "example_values": [ "Percent Height", "Baseline" ], "type": "string" }, "pharmacopeia": { "description": "Designates which standard the width value conforms to. This flags the width with which standard's formulas may use this width value.", "example_values": [ "United States Pharmacopeia", "European Pharmacopoeia", "Japanese Pharmacopoeia" ], "type": "string" }, "type": { "description": "Describes width distance relative to retention time. Where 'left' marks the width as the distance between peak start and retention time, 'right' as the distance between retention time and peak end, and 'full' when the width crosses the retention time and spans the entire peak.", "example_values": [ "Left", "Right", "Full" ], "type": "string" } }, "required": [ "value", "unit", "raw_value" ], "type": "object" }, "ts_ids_components__chromatography__method__Column": { "additionalProperties": false, "description": "Column identifiers for this method.", "properties": { "fk_column": { "@foreign_key": "/properties/columns/items/properties/pk", "type": "string" }, "name": { "description": "Name of the column.", "type": [ "string", "null" ] } }, "required": [ "fk_column" ], "type": "object" }, "ts_ids_components__chromatography__system__Column": { "additionalProperties": false, "description": "Properties of the column(s) in the chromatography system.", "properties": { "pk": { "@primary_key": true, "description": "Primary key for columns in the chromatography system.", "type": "string" }, "fk_system": { "@foreign_key": "/properties/systems/items/properties/pk", "description": "Foreign key to the system.", "type": "string" }, "fk_module": { "@foreign_key": "/properties/modules/items/properties/pk", "description": "A foreign key that links a column to its respective column compartment", "type": "string" }, "name": { "description": "Name for the column entered by the user.", "type": [ "string", "null" ] }, "product_number": { "description": "Manufacturer's product/catalog number for the column.", "type": [ "string", "null" ] }, "serial_number": { "description": "Column serial number.", "type": [ "string", "null" ] }, "batch_number": { "description": "Manufacturer's batch number for column production.", "type": [ "string", "null" ] }, "void_volume": { "$ref": "#/definitions/RawValueUnit", "description": "Void volume of the column, equal to the volume of mobile phase in the column." }, "length": { "$ref": "#/definitions/RawValueUnit", "description": "Column length." }, "diameter": { "$ref": "#/definitions/RawValueUnit", "description": "Column diameter." }, "max_pressure": { "$ref": "#/definitions/RawValueUnit", "description": "Manufacturer's maximum rating for the column pressure." }, "max_temperature": { "$ref": "#/definitions/RawValueUnit", "description": "Manufacturer's maximum rating for the column temperature." } }, "required": [ "pk", "fk_system", "fk_module" ], "type": "object" } } }
- Validators:
- field detector_channels: List[DetectorChannel]#
- field gradient_steps: List[GradientStep]#
- field mobile_phase_gradient_steps: List[MobilePhaseGradientStep]#
- field mobile_phases: List[MobilePhase]#
- field processing_methods: List[ProcessingBase]#