microbiomedata / nmdc-schema

National Microbiome Data Collaborative (NMDC) unified data model
https://microbiomedata.github.io/nmdc-schema/
Creative Commons Zero v1.0 Universal
27 stars 8 forks source link

Refactor `has_calibration` to use a class #1918

Closed brynnz22 closed 5 months ago

brynnz22 commented 6 months ago

See issue: https://github.com/microbiomedata/nmdc-schema/issues/1761#event-12409732672

has_calibration should be on ChromatographicSeparationProcess and MassSpectrometry

Slots that need to be added to class:

turbomam commented 5 months ago

What class will it "use"? (I assume you're talking about changing it's range)

kheal commented 5 months ago

Information we need to capture regarding calibration for workflows. We have not yet landed on a structure to capture this information, but I want to document here as it gets fleshed out.

We need to be able to associate this information with instances of both the MassSpectrometry and ChromatographicSeparationProcess classes on a has_calibration slot to use with existing workflows.

@corilo Am I missing any additional information we need to capture re: calibration for NOM or metabolomics?

kheal commented 5 months ago

There are several open issues regarding the has_calibration slot.
https://github.com/microbiomedata/nmdc-schema/issues/304 https://github.com/microbiomedata/nmdc-schema/issues/1570 https://github.com/microbiomedata/nmdc-schema/issues/1761 https://github.com/microbiomedata/nmdc-schema/issues/1850 https://github.com/microbiomedata/nmdc-schema/issues/1852

After reading these, I think they will all be addressed with the creation of a Calibration class and limiting the range of the has_calibration slot to this new class.

corilo commented 5 months ago

Information we need to capture regarding calibration for workflows. We have not yet landed on a structure to capture this information, but I want to document here as it gets fleshed out.

We need to be able to associate this information with instances of both the MassSpectrometry and ChromatographicSeparationProcess classes on a has_calibration slot to use with existing workflows.

  • the actual calibration file collected alongside the MassSpectrometry or ChromatographicSeparationProcess process (a DataObject). --calibration_file slot with range DataObject
  • whether the calibration is internal or external. --internal_calibration with range Bool
  • the calibration target (mass or retention time). --calibration_target slot with associated Enum with "mass to charge" and "retention time" as permissible values.

@corilo Am I missing any additional information we need to capture re: calibration for NOM or metabolomics?

I would add retention_index to differentiate between retention time calibration vs retention index calculation.

We also need to capture what type of standard was used, FAMES vs Alkanes for retention index

kheal commented 5 months ago

Thanks @corilo, these have been now been addressed by adding a calibration_standard slot and expanding the Enums for the calibration_target slot. See https://github.com/microbiomedata/berkeley-schema-fy24/pull/133 .