openms repository

windows macos linux c-plus-plus algorithms proteomics metabolomics mass-spectrometry openms ms-data analyses hacktoberfest 3-clause-bsd

openms repository

windows macos linux c-plus-plus algorithms proteomics metabolomics mass-spectrometry openms ms-data analyses hacktoberfest 3-clause-bsd

openms repository

windows macos linux c-plus-plus algorithms proteomics metabolomics mass-spectrometry openms ms-data analyses hacktoberfest 3-clause-bsd

openms repository

windows macos linux c-plus-plus algorithms proteomics metabolomics mass-spectrometry openms ms-data analyses hacktoberfest 3-clause-bsd SQLiteCpp

Repository Summary

Description The codebase of the OpenMS project
Checkout URI https://github.com/openms/openms.git
VCS Type git
VCS Version develop
Last Updated 2025-04-10
Dev Status UNKNOWN
CI status No Continuous Integration
Released UNRELEASED
Tags windows macos linux c-plus-plus algorithms proteomics metabolomics mass-spectrometry openms ms-data analyses hacktoberfest 3-clause-bsd
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
SQLiteCpp 3.1.1

README

OpenMS

License (3-Clause BSD) Project Stats Discord Shield Gitter Install with bioconda Install with conda Documentation API docs Gitpod Ready-to-Code Open in Dev Containers

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, Comet, etc. It supports easy integration of OpenMS built tools into workflow engines like nextflow, KNIME, Galaxy, 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.

Table of Contents

Features

  • Core C++ library under three-clause BSD licence using modern C++20
  • Python bindings to the C++ API through pyOpenMS
  • Major community file formats supported (mzML, mzXML, mzIdentXML, pepXML, mzTab, 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 labelled)
  • Support for all major platforms (Windows [10, 11], macOS and Linux)

Documentation

Users and developers should start by reading the OpenMS documentation on ReadTheDocs (RTD). The OpenMS API reference and advanced developer doxygen documentation can be browsed here.

The OpenMS RTD documentation aims at being an entry point for users and developers alike. It is trying to be mostly version-independent and therefore only consists of one main branch. We may introduce tags for older releases in the future.

The OpenMS API reference has several endpoints:

  1. nightly: OpenMS API reference and advanced developer documentation of nightly releases.
  2. release/latest : OpenMS API reference and advanced developer documentation of latest stable release.
  3. release/${version} : OpenMS API reference and advanced developer documentation of an older version.

Documentation for the Python bindings pyOpenMS can be found on the pyOpenMS online documentation.

Building OpenMS

For developers who want to build OpenMS from source:

For more detailed instructions, see the Developer Tutorial.

Citation

Please cite:

Pfeuffer, J., Bielow, C., Wein, S. et al. OpenMS 3 enables reproducible analysis of large-scale mass spectrometry data, Nat Methods 21, 365–367 (2024). https://doi.org/10.1038/s41592-024-02197-7

The file AUTHORS contains a list of all authors who worked on OpenMS.

CONTRIBUTING

Help us to make OpenMS better and become part of the OpenMS open-source community.

This document is displayed because you either opened an issue or you want to provide your code as a pull request for inclusion into OpenMS. Please take a look at the appropriate section below to find some details on how we handle this process. When interacting with other developers, users or anyone else from our community, please adhere to our CODE OF CONDUCT

Reporting an Issue:

You most likely came here to:

  • report bugs or annoyances
  • pose questions
  • point out missing documentation
  • request new features

To do so, open a new issue describing the bug, your question, etc.

If you found a bug, e.g. an OpenMS tool crashes during data processing, it is essential to provide some basic information:

  • the OpenMS version you are running
  • the platform you are running OpenMS on (Windows 10, …)
  • how you installed OpenMS (e.g., from within KNIME, binary installers, self compiled)
  • a description on how to reproduce the bug
  • relevant tool output (e.g., error messages)
  • data to repoduce the bug (If possible as a GitHub gist. Other platforms like Dropbox, Google Drive links also work. If you can’t share the data publicly please indicate this and we will contact you in private.)

If you are an official OpenMS team member:

  • label your issue using github labels (e.g. as: question, defect) that indicate the type of issue and which components of OpenMS (blue labels) are affected. The severity is usually assigned by OpenMS maintainers and used internally to e.g. indicate if a bug is a blocker for a new release.

Opening a Pull Request

Before getting started we recommend taking a look at our GitHub-Wiki: https://github.com/OpenMS/OpenMS/wiki#-for-developers

Before you open the pull request, make sure you

A core developer will review your changes to the main development branch (develop) and approve them (or ask for modifications). You may indicate the prefered reviewer(s) by adding links to them in a comment section (e.g., @cbielow @hendrikweisser @hroest @jpfeuffer @timosachsenberg)

Also consider getting in contact with the core developers early. They might provide additional guidance and valuable information on how your specific aim is achieved. This might give you a head start in, for example, developing novel tools or algorithms.

Happy coding!


openms repository

windows macos linux c-plus-plus algorithms proteomics metabolomics mass-spectrometry openms ms-data analyses hacktoberfest 3-clause-bsd

openms repository

windows macos linux c-plus-plus algorithms proteomics metabolomics mass-spectrometry openms ms-data analyses hacktoberfest 3-clause-bsd

openms repository

windows macos linux c-plus-plus algorithms proteomics metabolomics mass-spectrometry openms ms-data analyses hacktoberfest 3-clause-bsd

openms repository

windows macos linux c-plus-plus algorithms proteomics metabolomics mass-spectrometry openms ms-data analyses hacktoberfest 3-clause-bsd

openms repository

windows macos linux c-plus-plus algorithms proteomics metabolomics mass-spectrometry openms ms-data analyses hacktoberfest 3-clause-bsd

openms repository

windows macos linux c-plus-plus algorithms proteomics metabolomics mass-spectrometry openms ms-data analyses hacktoberfest 3-clause-bsd

openms repository

windows macos linux c-plus-plus algorithms proteomics metabolomics mass-spectrometry openms ms-data analyses hacktoberfest 3-clause-bsd

openms repository

windows macos linux c-plus-plus algorithms proteomics metabolomics mass-spectrometry openms ms-data analyses hacktoberfest 3-clause-bsd

openms repository

windows macos linux c-plus-plus algorithms proteomics metabolomics mass-spectrometry openms ms-data analyses hacktoberfest 3-clause-bsd

openms repository

windows macos linux c-plus-plus algorithms proteomics metabolomics mass-spectrometry openms ms-data analyses hacktoberfest 3-clause-bsd

openms repository

windows macos linux c-plus-plus algorithms proteomics metabolomics mass-spectrometry openms ms-data analyses hacktoberfest 3-clause-bsd

openms repository

windows macos linux c-plus-plus algorithms proteomics metabolomics mass-spectrometry openms ms-data analyses hacktoberfest 3-clause-bsd

openms repository

windows macos linux c-plus-plus algorithms proteomics metabolomics mass-spectrometry openms ms-data analyses hacktoberfest 3-clause-bsd

openms repository

windows macos linux c-plus-plus algorithms proteomics metabolomics mass-spectrometry openms ms-data analyses hacktoberfest 3-clause-bsd

openms repository

windows macos linux c-plus-plus algorithms proteomics metabolomics mass-spectrometry openms ms-data analyses hacktoberfest 3-clause-bsd