OpenMS is an open-source software C++ library for LC-MS data management and analyses. It offers an infrastructure for rapid development of mass spectrometry related software. OpenMS is free software available under the three clause BSD license and runs under Windows, macOS, and Linux.
It comes with a vast variety of pre-built and ready-to-use tools for proteomics and metabolomics data analysis (TOPPTools) as well as powerful 1D, 2D and 3D visualization (TOPPView).
OpenMS offers analyses for various quantitation protocols, including label-free quantitation, SILAC, iTRAQ, TMT, SRM, SWATH, etc.
It provides built-in algorithms for de-novo identification and database search, as well as adapters to other state-of-the art tools like X!Tandem, Mascot, OMSSA, etc. It supports easy integration of OpenMS built tools into workflow engines like KNIME, Galaxy, WS-Pgrade, and TOPPAS via the TOPPtools concept and a unified parameter handling via a 'common tool description' (CTD) scheme.
With pyOpenMS, OpenMS offers Python bindings to a large part of the OpenMS API to enable rapid algorithm development. OpenMS supports the Proteomics Standard Initiative (PSI) formats for MS data. The main contributors of OpenMS are currently the Eberhard-Karls-Universität in Tübingen, the Freie Universität Berlin, and the ETH Zürich.
- Core C++ library under three-clause BSD licence using modern C++11
- Python bindings to the C++ API through pyOpenMS
- Major community file formats supported (mzML, mzXML, mzIdentXML, pepXML etc)
- Over 150+ individual analysis tools (TOPP Tools), covering most MS and LC-MS data processing and mining tasks
- Powerful 1D, 2D and 3D visualization tools (TOPPView)
- Support for most MS identification and quantification workflows (targeted, DIA, label-free, isobaric and stable isotope)
- Support for all major platforms (Windows [XP, 7, 8, 10], macOS and Linux)
OpenMS is released under the three clause BSD licence.
The file AUTHORS contains a list of all authors who worked on OpenMS.
Users and developers should start by reading the OpenMS wiki and consult the current documentation (or use the latest release documentation). Documentation for the Python bindings pyOpenMS can be found on the pyOpenMS online documentation.