agentsclimarketplace

Drift time to ccs correlation modeling

Skill HolobiomicsLab/asb-skill-collections/collections/metabolomics/v2/skills/drift-time-to-ccs-correlation-modeling

Use when you have tunemix or other reference standards with known m/z, drift-time, charge state, and CCS values, and you need to establish a predictive calibration model for your ion-mobility mass spectrometry instrument.From its SKILL.md

Install
npx -y skills add HolobiomicsLab/asb-skill-collections --skill drift-time-to-ccs-correlation-modeling

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 15 stars15 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as CC-BY-4.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

8.4 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it

drift-time-to-ccs-correlation-modeling

Summary

Fit a calibration model that converts ion mobility drift times and reference m/z values into collision cross section (CCS) values using the single-field calibration equation (Stow et al. 2017). This skill produces calibration coefficients (beta, tfix) that enable prediction of CCS for unknown ions in positive or negative ion-mobility spectrometry modes.

When to use

Apply this skill when you have tunemix or other reference standards with known m/z, drift-time, charge state, and CCS values, and you need to establish a predictive calibration model for your ion-mobility mass spectrometry instrument. Use it at the start of an analysis workflow to validate instrument performance (target R² ≥ 0.9999) or to generate coefficients for routine CCS prediction on unknown compounds.

When NOT to use

  • Input data are already converted to CCS values; this skill requires raw drift times.
  • Reference standards lack certified CCS values or charge state assignments are unknown.
  • Multiple ionization modes are mixed in a single calibration attempt; calibrate positive and negative modes separately.

Inputs

  • HDF5 file containing tunemix reference data (example_tune_pos.h5 or equivalent)
  • m/z array (reference standards)
  • drift_time array (experimental, in milliseconds or instrument units)
  • known CCS array (literature or calibrant values)
  • charge state array (integer values, typically +1 or +2 for positive mode)
  • buffer gas mass (e.g., 28.014 for N₂)

Outputs

  • Calibration coefficient beta (slope term in single-field equation)
  • Calibration coefficient tfix (fixed drift time offset, in milliseconds)
  • R² goodness-of-fit metric (scalar, target ≥ 0.9999)
  • Fitted calibration model object (usable for CCS prediction on unknowns)

How to apply

Load reference tunemix data (m/z, drift_time, known CCS, charge) from an HDF5 file using deimos.load(). Call deimos.calibration.calibrate_ccs() with the reference arrays, specifying the calibration mode (positive or negative), buffer gas mass (typically N₂), and any instrument-specific parameters. The routine applies the single-field calibration equation to solve for beta and tfix coefficients that minimize residual error. Extract and validate the returned R² metric against the paper threshold (R² ≥ 0.9999); if R² is below this threshold, investigate reference data quality, charge state assignments, or instrumental drift. Store the fitted coefficients for application to subsequent unknown samples in the same analytical run.

Related tools

  • DEIMoS (Python API and CLI for executing calibrate_ccs() routine and loading/managing MS data in HDF5 format) — https://github.com/pnnl/deimos
  • deimos.load() (Loads tunemix reference data from HDF5 files into memory with column selection) — https://github.com/pnnl/deimos
  • deimos.calibration.calibrate_ccs() (Core routine that applies single-field calibration equation to compute beta, tfix, and R² metric) — https://github.com/pnnl/deimos
  • numpy (Array operations and numerical computations for reference data handling)
  • ProteoWizard msconvert (Optional: converts raw vendor MS formats to mzML for loading into DEIMoS if HDF5 is not available)

Examples

tune_pos = deimos.load('example_tune_pos.h5', key='ms1'); calibration = deimos.calibration.calibrate_ccs(tune_pos['mz'].values, tune_pos['drift_time'].values, tune_pos['ccs'].values, tune_pos['charge'].values, buffer_gas_mass=28.014, mode='positive'); print(f"R-squared: {calibration['r_squared']}"); print(f"beta: {calibration['beta']}, tfix: {calibration['tfix']}")

Evaluation signals

  • R² metric is ≥ 0.9999 (paper threshold for acceptable calibration fit)
  • Residuals between predicted and known CCS values are normally distributed and centered near zero
  • Calibration coefficients (beta, tfix) remain stable when re-fit on subsets of reference data (internal cross-validation)
  • CCS predictions on independent validation standards (not used in fitting) fall within ±2% of literature values
  • Fitted model generalizes without overfitting: hold-one-out or k-fold CV R² is within 0.0001 of full-fit R²

Limitations

  • Single-field equation assumes a specific buffer gas (e.g., N₂); changing buffer gas requires recalibration.
  • Calibration is mode-specific (positive vs. negative); coefficients from positive mode cannot be applied to negative-mode data.
  • Drift time measurement precision and reference CCS accuracy directly impact R²; poor-quality reference data will yield low R² even if the model is correct.
  • Calibration coefficients may drift with instrument aging or tuning; periodic recalibration (e.g., weekly or monthly) is recommended.
  • Isotope and multiply-charged species must be correctly assigned to reference m/z and charge state; misassignment will corrupt the calibration.

Evidence

  • [other] The calibrate_ccs routine accepts reference m/z values, known CCS values, charge states, experimental drift times, and buffer gas mass, then applies the single-field calibration equation to compute calibration coefficients beta and tfix: "The calibrate_ccs routine accepts reference m/z values, known CCS values, charge states, experimental drift times, and buffer gas mass, then applies the single-field calibration equation to compute"
  • [other] r-squared of 0.9999784552958134 achieved on example tunemix data: "yielding calibration model fit with r-squared of 0.9999784552958134"
  • [other] Workflow: Load tunemix positive-mode reference data from example_tune_pos.h5 using deimos.load(): "Load tunemix positive-mode reference data (m/z, drift_time, known CCS values) from example_tune_pos.h5 using deimos.load()"
  • [other] Call deimos.calibration.calibrate_ccs() with positive-mode tunemix m/z and drift-time arrays: "Call deimos.calibration.calibrate_ccs() with the positive-mode tunemix m/z and drift-time arrays as input, specifying the calibration mode (positive) and reference CCS standards"
  • [other] Validation: confirm R-squared is ≥0.9999 (threshold criterion from paper examples): "Validation: confirm the reported R-squared is ≥0.9999 (threshold criterion from paper examples)"
  • [readme] DEIMoS provides collision cross section (CCS) calibration functionality: "Functionality includes feature detection, feature alignment, collision cross section (CCS) calibration, isotope detection, and MS/MS spectral deconvolution"
  • [readme] DEIMoS operates on N-dimensional data, largely agnostic to acquisition instrumentation: "DEIMoS operates on N-dimensional data, largely agnostic to acquisition instrumentation"
  • [readme] Algorithm implementations utilize all dimensions to increase alignment/feature matching confidence among datasets: "algorithm implementations simultaneously utilize all dimensions to (ii) increase alignment/feature matching confidence among datasets"

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.