Skip to content
Automatically exported from
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


The MSToolkit is a light-weight C++ library for reading, writing, and manipulating mass spectrometry data. The MSToolkit is easily linked to virtually any C++ algorithm for simple, fast file reading and analysis.

Version 82.0.1, August 20 2018

Supported File Formats

  • mzML including internal compression (zlib and numpress) and external compression (.mzML.gz) read/write*
  • mzXML including internal compression (zlib) and external compression (.mzXML.gz) read-only
  • mgf read/write
  • ms1 read/write
  • ms2 read/write
  • bms1 read/write
  • bms2 read/write
  • cms1 read/write
  • cms2 read/write
  • RAW Thermo proprietary file format (Windows only, requires Xcalibur/MSFileReader) read-only

* Note: .mzML writing produces funtional files, but currently does not export all meta data. Spectral peak data is complete. .mzML.gz files are not produced by the toolkit, and must be gzipped externally.

Simple Interface

  • Open any file format from a single function call.
  • Store any spectrum in a simple, comprehensive data structure.
  • Sequential or random-access file reading.

Easy Integration

  • All headers included from a single location.
  • Single library file easily linked by the compiler.


A few hints:

  • Add _NOSQLITE to build smaller library without SQLite. SQLite is only required for special case usage.
  • Add _NO_THERMORAW to build without Thermo file support in Windows. This is not necessary in Linux, where Thermo support is disabled by default.
  • Older versions of MSVC may require building with XML_STATIC declared.
  • Declaring WIN32 may still be required for compiling 64-bit libraries with MSVC.


Code written for the MSToolkit uses the Apache License, Version 2.0. All 3rd party software included in the MSToolkit library retains its original license.

You can’t perform that action at this time.