MsReport is a Python library for post-processing quantitative proteomics data from bottom-up mass spectrometry experiments.
MsReport is a Python library designed to simplify the post-processing and analysis of quantitative proteomics data from bottom-up mass spectrometry experiments. It provides a high-level, abstraction-focused API for efficient and standardized workflows. The modular design of the library provides the flexibility to meet project specific data processing needs and customize workflows as required.
The library supports importing protein and peptide-level quantification results from MaxQuant, FragPipe, and Spectronaut, as well as post-translational modification (PTM) data from MaxQuant and FragPipe. MsReport provides tools for data annotation, normalization and transformation, statistical testing, and data visualization.
The documentation provides an overview of the library's public API.
The reader module provides software-specific reader classes for importing data from MaxQuant, FragPipe, and Spectronaut that enable the import of protein, peptide and ion tables. During the import process, these classes transform tables column names and table values into a standardized format to ensure that the rest of the library can operate in a tool-agnostic manner.
The qtable module provides a structured approach to managing quantitative data through its central Qtable class. This class combines quantitative data with an experimental design table that defines the relationship between samples and experimental conditions. The quantitative data is stored in a wide format, where each sample's measurements are stored in separate columns. The Qtable class serves as the foundation for data analysis workflows in MsReport, providing the standardized data structure used by the analyze, plot, and export modules.
The analyze module provides tools for post-processing of mass spectrometry data generated by software such as MaxQuant, FragPipe, or Spectronaut. It includes functions for filtering, normalization, imputation of missing values, and statistical testing. The library integrates with the R package LIMMA to enable differential expression analysis.
Note
In order to use the R integration you need to install msreport with optional dependencies, see Optional Dependencies for more information.
The plot module supports the generation of visualizations for quality control and data analysis. It includes functions for creating various plots, such as intensity and ratio distributions, heatmaps, volcano plots, and PCA plots.
Finally, the export module enables the conversion and export into formats compatible with external tools. This includes generating input files for Amica and exporting tables for easier integration with Perseus.
If you do not already have a Python installation, we recommend installing the Anaconda distribution or Miniconda distribution from Continuum Analytics, which already contains a large number of popular Python packages for Data Science. Alternatively, you can also get Python from the Python homepage. Note that MsReport requires Python version 3.11 or higher.
The following command will install MsReport and its dependencies by using a wheel file.
pip install msreportTo uninstall the MsReport library use:
pip uninstall msreportTo install the MsReport library using Anaconda, you need to either activate a custom conda environment or install it into the default base environment. Open the Anaconda Navigator, activate the desired conda environment or use the base environment, and then open a command line by running the "CMD.exe" application. Finally, use the pip install command as before.
MsReport provides an interface to the R package LIMMA for differential expression analysis. To use this functionality, you need:
- A local installation of R (version 4.0 or higher).
- The system environment variable R_HOME set to the R home directory.
- To install msreport with the optional dependencies for R integration.
pip install msreport[R]On Windows, you may need to restart your computer after modifying the system environment variables for the changes to take effect. To find the R home directory, you can run the following command in R:
normalizePath(R.home("home"))For example, the R home directory might look like this on Windows: C:\Program Files\R\R-4.2.1
MsReport is a stable and reliable library that has been used on a daily basis for over two years in the Mass Spectrometry Facility at the Max Perutz Labs and the Mass Spectrometry Facility of IMP/IMBA/GMI. While the current interface of MsReport is stable, the library is still under active development, with new features being added regularly. Please note that a major rewrite is planned, which may introduce changes to the API in the future.
If you use MsReport for your research or publications, please include the following citation and consider giving the project a star on GitHub.
Hollenstein, D. M., & Hartl, M. (2025). hollenstein/msreport: v0.0.29 (0.0.29). Zenodo. https://doi.org/10.5281/zenodo.15309090