mzapy.calibration
Module for performing calibration operations.
CCS for single field DTIMS, method based on:
Anal. Chem. 2017, 89, 9048-9055
CCS for TWIMS measurements, method based on:
Nat. Protoc. 2008, 3, 1139-1152 (dt and CCS correction)
Anal. Chem. 2016, 88, 7329-7336 (calibration power function)
Anal. Chem. 2020, 92, 14976-14982 (CCS calibration for SLIM)
Module Reference
Base Object
- class mzapy.calibration._CalibrationBase
Modular base object for performing calibration
Works similar to BaseEstimator from sklearn, implements fit and transform methods. Subclasses must implement self.fit_function with signature:
self.fit_function(X, *params) -> yand they must override the attribute self.init_params with initial parameter values for the fitting function.- Attributes:
- init_params
tuple(?) initial parameter values for fitting function, must be set by subclass
- opt_params
tuple(?) optimized parameter values for fitting function, set by self.fit method, initially set to None to indicate the calibration has not been fit yet
- init_params
Methods
fit(X, y) -> y_fit
Takes input values (X) and known output values (y), then performs least-squares optimization with subclass defined self.fit_function. Returns the fitted values (y_fit) and sets self.opt_params with the optimized parameters
transform(X) -> y_transform
Takes input values (X) and uses subclass defined self.fit_function with optimized parameters (self.opt_params) to produce output values (y_transform). Requires self.fit method to run successfully first so that self.opt_params gets set
- mzapy.calibration._CalibrationBase.fit(self, X, y)
Takes input values (X) and known output values (y), then performs least-squares optimization with subclass defined self.fit_function. Returns the fitted values (y_fit) and sets self.opt_params with the optimized parameters
- Parameters:
- X
numpy.ndarray(float) input values
- y
numpy.ndarray(float) known output values
- X
- Returns:
- y_fit
numpy.ndarray(float) fitted output values
- y_fit
- mzapy.calibration._CalibrationBase.transform(self, X)
Takes input values (X) and uses subclass defined self.fit_function with optimized parameters (self.opt_params) to produce output values (y_transform). Requires self.fit method to run successfully first so that self.opt_params gets set
- Parameters:
- X
numpy.ndarray(float)orfloat input values
- X
- Returns:
- y_transform
numpy.ndarray(float)orfloat fitted y values
- y_transform
Mass Calibration
- class mzapy.calibration.MassCalibration(mz_ref, mz_obs, fit_func, fit=True)
mass calibration
- Attributes:
- mz_ref
numpy.ndarray(float) - mz_obs
numpy.ndarray(float) arrays of reference and observed m/z values
- fit_func
str function to use for fitting
- mz_ref
Methods
calibrated_mass(mz)returns calibrated masses for a set of uncalibrated masses
fit(X, y)Takes input values (X) and known output values (y), then performs least-squares optimization with subclass defined self.fit_function.
fit_function(X, *params)! must be overridden by subclass, calling this function raises an exception !
transform(X)Takes input values (X) and uses subclass defined self.fit_function with optimized parameters (self.opt_params) to produce output values (y_transform).
- mzapy.calibration.MassCalibration.__init__(self, mz_ref, mz_obs, fit_func, fit=True)
Initialize a new instance of MassCalibration
Performs fitting at initialization.
- Parameters:
- mz_ref
numpy.ndarray(float) - mz_obs
numpy.ndarray(float) arrays of reference and observed m/z values
- fit_func
str function to use for fitting, valid options are: ‘linear’
- fit
bool, default=True perform fitting at initialization
- mz_ref
- mzapy.calibration.MassCalibration.calibrated_mass(self, mz)
returns calibrated masses for a set of uncalibrated masses
- Parameters:
- mz
numpy.ndarray(float)orfloat uncalibrated m/z value(s)
- mz
- Returns:
- mz_cal
numpy.ndarray(float)orfloat calibrated m/z value(s)
- mz_cal
- mzapy.calibration.mass_calibration_from_params(fit_func, params)
Create a new MassCalibration instance directly from optimized parameters
- Parameters:
- fit_func
str fitting function to use
- params
Tuple(?) optimized calibration parameters
- fit_func
- Returns:
- cal
MassCalibration optimized MassCalibration instance
- cal
DTIMS CCS Calibration (Single-Field)
- class mzapy.calibration.CCSCalibrationDTsf(mz, arrival_time, ref_ccs, z, buffer_gas='N2', fit=True)
single-field DT CCS calibration
- Attributes:
- mz
numpy.ndarray(float) calibrant m/z values
- arrival_time
numpy.ndarray(float) calibrant arrival times
- ref_ccs
numpy.ndarray(float) calibrant reference CCS values
- z
float charge state (converted to float)
- buffer_gas
str buffer gas for IM separation
- mz
Methods
calibrated_ccs(mz, arrival_time)returns calibrated CCS values for a set of m/z values and arrival times (also works for single values)
fit(X, y)Takes input values (X) and known output values (y), then performs least-squares optimization with subclass defined self.fit_function.
fit_function(X, t_fix, beta)X should have shape (2, ?) and contain vectors for arrival time and m/z function: CCS = z (arrival_time + t_fix) / (beta * m(mz)) where t_fix and beta are the fit parameters and m(mz) is the mass term [sqrt(m_i / (m_i + m_b))] that accounts for ion and buffer gas masses
transform(X)Takes input values (X) and uses subclass defined self.fit_function with optimized parameters (self.opt_params) to produce output values (y_transform).
- mzapy.calibration.CCSCalibrationDTsf.__init__(self, mz, arrival_time, ref_ccs, z, buffer_gas='N2', fit=True)
Initialize a new instance of CCSCalibrationDTsf
Performs fitting at initialization.
- Parameters:
- mz
numpy.ndarray(float) calibrant m/z values
- arrival_time
numpy.ndarray(float) calibrant arrival times
- ref_ccs
numpy.ndarray(float) calibrant reference CCS values
- z
int charge state
- buffer_gas
str, default=’N2’ specify buffer gas for IM separation
- fit
bool, default=True perform fitting at initialization
- mz
- mzapy.calibration.CCSCalibrationDTsf.calibrated_ccs(self, mz, arrival_time)
returns calibrated CCS values for a set of m/z values and arrival times (also works for single values)
- Parameters:
- mz
numpy.ndarray(float)orfloat m/z value(s)
- arrival_time
numpy.ndarray(float)orfloat arrival time(s)
- mz
- Returns:
- calibrated_ccs
numpy.ndarray(float)orfloat calibrated CCS value(s)
- calibrated_ccs
- mzapy.calibration.dtsf_ccs_calibration_from_params(z, t_fix, beta)
Create a new CCSCalibrationDTsf instance directly from optimized parameters
- Parameters:
- z
int charge state
- t_fix
float - beta
float single-field calibration parameters
- z
- Returns:
- cal
CCSCalibrationDTsf optimized CCSCalibrationDTsf instance
- cal
TWIMS CCS Calibration
- class mzapy.calibration.CCSCalibrationTW(mz, arrival_time, ref_ccs, z, fit_func, correct_ccs=True, correct_dt=False, edc=None, buffer_gas='N2', fit=True)
TWIMS CCS calibration
- Attributes:
- mz
numpy.ndarray(float) calibrant m/z values
- arrival_time
numpy.ndarray(float) calibrant arrival times
- ref_ccs
numpy.ndarray(float) calibrant reference CCS values
- z
float charge state (converted to float)
- fit_func
str specify the type of function to use for fitting the calibration curve. Valid options are: ‘’
- correct_ccs
bool perform CCS correction for charge state and reduced mass with buffer gas
- correct_dt
bool perform arrival time correction for mass-dependent flight time outside of mobility region, this only really applies for cases where the mobility separation region is sufficiently small so that the time outside this region must be accounted for and is instrument-specific.
- buffer_gas
str buffer gas for IM separation
- edc
float EDC delay coefficient for arrival time correction (if used)
- mz
Methods
calibrated_ccs(mz, arrival_time)returns calibrated CCS values for a set of m/z values and arrival times (also works for single values)
fit(X, y)Takes input values (X) and known output values (y), then performs least-squares optimization with subclass defined self.fit_function.
fit_function(X, *params)! must be overridden by subclass, calling this function raises an exception !
transform(X)Takes input values (X) and uses subclass defined self.fit_function with optimized parameters (self.opt_params) to produce output values (y_transform).
- mzapy.calibration.CCSCalibrationTW.__init__(self, mz, arrival_time, ref_ccs, z, fit_func, correct_ccs=True, correct_dt=False, edc=None, buffer_gas='N2', fit=True)
Initialize a new instance of CCSCalibrationTW
Performs fitting at initialization.
- Parameters:
- mz
numpy.ndarray(float) calibrant m/z values
- arrival_time
numpy.ndarray(float) calibrant arrival times
- ref_ccs
numpy.ndarray(float) calibrant reference CCS values
- z
int charge state
- fit_func
str specify the type of function to use for fitting the calibration curve. Valid options are: ‘linear’, ‘quadratic’, ‘power1’, ‘power2’
- correct_ccs
bool, default=True perform CCS correction for charge state and reduced mass with buffer gas
- correct_dt
bool, default=False perform arrival time correction for mass-dependent flight time outside of mobility region, this only really applies for cases where the mobility separation region is sufficiently small so that the time outside this region must be accounted for and is instrument-specific. If this is set to True, then the edc kwarg is also expected to be set.
- edc
float, optional if arrival times should be corrected, set this as the EDC delay coefficient
- buffer_gas
str, default=’N2’ specify buffer gas for IM separation
- fit
bool, default=True perform fitting at initialization
- mz
- mzapy.calibration.CCSCalibrationTW.calibrated_ccs(self, mz, arrival_time)
returns calibrated CCS values for a set of m/z values and arrival times (also works for single values)
- Parameters:
- mz
numpy.ndarray(float)orfloat m/z value(s)
- arrival_time
numpy.ndarray(float)orfloat arrival time(s)
- mz
- Returns:
- calibrated_ccs
numpy.ndarray(float)orfloat calibrated CCS value(s)
- calibrated_ccs
- mzapy.calibration.tw_ccs_calibration_from_params(z, fit_func, params)
Create a new CCSCalibrationTW instance directly from optimized parameters
- Parameters:
- z
int charge state
- fit_func
str fitting function to use
- params
Tuple(?) optimized parameters
- z
- Returns:
- cal
CCSCalibrationTW optimized CCSCalibrationTW instance
- cal