ANDI/MS NetCDF¶
Status: Detected / refused · Vendor: ASTM / vendor-neutral · Extensions:
.cdf,.nc
ANDI/MS is the ASTM E1947 chromatography and mass-spectrometry NetCDF profile.
nirs4all-formats recognises it for disambiguation but refuses it on read: it is not
a NIRS / optical-spectroscopy interchange format. Its variables describe scan
acquisition time, m/z values and ion intensities rather than a
wavelength-indexed molecular spectrum.
Instruments & software¶
Exported by GC-MS / LC-MS acquisition and processing software as a vendor-neutral
exchange container following the ASTM E1947 (ANDI/MS) convention, stored in
classic NetCDF (CDF\x01/\x02/\x05) or HDF5-backed NetCDF4.
File structure¶
A NetCDF container whose standard ANDI/MS variables identify it: detection keys
are scan_acquisition_time, total_intensity, mass_values,
intensity_values and point_count. The shared NetCDF reader handles both the
classic-CDF and the HDF5-backed NetCDF4 encodings.
Why it is refused / where to go instead¶
The NetCDF reader sniffs .nc / .cdf files, and when at least four ANDI/MS
marker variables are present it tags the candidate andi-ms-netcdf at
Confidence::Definite so dispatch routes here rather than to the generic NIRS
NetCDF path. On read it returns a specific error naming the detected variables and
pointing to a chromatography/MS toolkit:
pyteomics.openms.ANDIMS— ANDI/MS reader.PyMassSpec— GC-MS analysis in Python.pyOpenMS— full OpenMS bindings.
The reader does not coerce chromatography/MS scans into SpectralRecord. If
ANDI/MS support is ever needed it should live behind an explicit adjacent
MS/chromatography model, or an adapter that converts a deliberate, user-selected
signal into a NIRS-compatible table.
Variants & support status¶
Variant |
Status |
Notes |
|---|---|---|
Classic NetCDF ANDI/MS ( |
Detected / refused |
Sniffed from head markers; refused on read. |
HDF5-backed NetCDF4 ANDI/MS |
Detected / refused |
Root-group datasets walked; same refusal. |
Limitations & known gaps¶
No decoding of any kind — this is a deliberate refusal, kept distinct from the generic NIRS NetCDF reader so a chromatography file is never silently parsed as an optical spectrum.
Reference readers¶
pyteomics, PyMassSpec and pyOpenMS are the recommended tools and the
references named in the refusal message.
Samples & validation¶
The fixture under samples/andi_ms/ asserts the refusal behaviour:
Fixture |
Behaviour |
Detection markers |
|---|---|---|
|
refused |
|