MzCore

MzCore defines traits and utilities for mass spectrometry analyses in Julia. The primary purpose is to allow algorithms to be written in a manner that is independent of the representation used for specific file formats.

The API is defined below. Individual file format packages should extend these traits to support the data structures used to load the format. MzXML provides an example that can be emulated by other formats.

API reference

Type-traits

MzCore.mztypeFunction
T = mztype(scan)

Return the type used to present m/z values.

Packages should define this for the scan type, i.e.,

MzCore.mztype(::Type{SomeScanType{T,...}}) = T
source
MzCore.intensitytypeFunction
T = intensitytype(scan)

Return the type used to represent intentities (ion counts).

Packages should define this for the scan type, i.e.,

MzCore.intensitytype(::Type{SomeScanType{T,...}}) = T
source

Value-traits

MzCore.limitsFunction
axmz, axtime = limits(scans)

Return the scan-sequence limits, as an Axis{:mz} and Axis{:time}. Axis is from AxisArrays. axtime should have time units (from Unitful), whereas axmz is dimensionless. The limits should be expressed as intervals (from IntervalSets).

source