Python and R scripts implemented as a demo with examples demonstrating the conversion of ion mobility spectrometry-mass spectrometry (IM-MS) raw data from arrival time (AT) to collision-cross section over charge (CCS/z) space and generating the figures for the article "Computational tools and algorithms for ion mobility spectrometry-mass spectrometry". Using this CCS/z conversion functionality, raw files that were acquired with different IM methods can be analyzed together and, rather than comparing CCS values from centroids, the full CCS distributions from total (or mass extracted) ion intensities in the raw data can be visualized directly and easily compared.
- Raw data was generated by direct infusion analyses of the Agilent tune mix solution with positive electrospray ionization in the Drift tube ion mobility spectrometry (DTIMS) platform or the Structures for lossless ion manipulations (SLIM) IM platform.
- Raw data was CCS calibrated using the Agilent IM-MS Browser.
- Agilent .d MassHunter files were preprocessed using the PNNL-PreProcessor (https://pnnl-comp-mass-spec.github.io/PNNL-PreProcessor) to compress (or accumulate) all IM frames into a single frame and generate new raw files with the IM dimension converted to CCS/z space. The PNNL-PreProcessor automatically detects the calibration coefficients for the function and the buffer gas, and then maps each raw data point (m/z, AT) to the CCS/z space (m/z, CCS) by applying the regression function and scaling to the reduced mass term.
- Raw data was converted to MZA format (https://github.com/PNNL-m-q/mza).
- The scripts use standard Python and R packages to read the raw data from MZA files and generate the plots. Python requires the h5py, hdf5plugin, numpy, pandas, and matplotlib packages (see Python_requirements.txt). R requires the rhdf5 package.
The folder RawDataMza contains the IM-MS raw data in MZA format:
- 2 DTIMS-MS files: original and converted to CCS/z space using linear calibration function.
- 3 SLIM-MS files: original and converted to CCS/z space using polynomial of 2nd and 3rd order functions.
The folders Python_OutputFigures and R_OutputFigures contain the figures generated by each script:
- 5 Scatter plots of m/z vs. AT and m/z vs. CCS/z for each file.
- 1 plot with overlaid total ion intensities from the CCS/z converted raw data, which allows direct comparison and visualization of the full CCS distributions of experiments acquired with different IM platforms or acquisition methods, or converted using different CCS calibration functions.
If you use any portions of this code please cite:
- Ross et al. "Computational tools and algorithms for ion mobility spectrometry-mass spectrometry". Proteomics 2024 https://doi.org/10.1002/pmic.202200436.
- Bilbao et al. "MZA: A Data Conversion Tool to Facilitate Software Development and Artificial Intelligence Research in Multidimensional Mass Spectrometry". Journal of Proteome Research 2023 https://doi.org/10.1021/acs.jproteome.2c00313.
- Bilbao et al. "A Preprocessing Tool for Enhanced Ion Mobility-Mass Spectrometry-Based Omics Workflows". Journal of Proteome Research 2022 https://doi.org/10.1021/acs.jproteome.1c00425.