Skip to main content

Common utilities for parsing and handling peptide-spectrum matches and search engine results.

Project description

Common utilities for parsing and handling peptide-spectrum matches and search engine results in Python.

GitHub release PyPI GitHub Actions tests status GitHub Actions build status Codecov GitHub Twitter



psm_utils is a Python package with utilities for parsing and handling peptide-spectrum matches (PSMs) and proteomics search engine results. It is mainly developed to be used in Python packages developed at CompOmics, such as MS²PIP, DeepLC, and MS²Rescore, but can be useful to anyone dealing with PSMs and PSM files. Moreover, it provides an easy-to-use CLI and web server to convert search engine results from one PSM file format into another.

Goals and non-goals

  • To provide an easy-to-use Python API for handling PSMs.

  • To provide a unified Python API to the plethora of proteomics search engine output formats that are in existence.

  • To follow community standards: psm_utils pragmatically adheres to the standards developed by the HUPO Proteomics Standards Initiative, such as ProForma 2.0 , the Universal Spectrum Identifier, and mzIdentML

  • To be open and dynamic: psm_utils is fully open source, under the permissive Apache 2.0 license. New reader and writer modules can easily be added, and we welcome everyone to contribute to the project. See Contributing for more information.

  • NOT to reinvent the wheel: Instead, psm_utils heavily makes use of packages such as pyteomics and psims that have existing functionality for reading and/or writing PSM files. provides a unified, higher level Python API build on top of these packages.

Supported file formats

File format

Read support

Write support

OpenMS idXML

MaxQuant msms.txt

MS Amanda CSV




Peptide Record

Percolator tab


X!Tandem XML

Legend: ✅ Supported, ❌ Unsupported, 🔧 Work in progress


Install with pip:

pip install psm-utils

Note: In the PyPI package name, a hyphen is used instead of an underscore, as per PEP8 convention.

Full documentation

The full documentation, including a quickstart guide and Python API reference is available on

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

psm-utils-0.1.0.dev1.tar.gz (65.9 kB view hashes)

Uploaded source

Built Distribution

psm_utils-0.1.0.dev1-py3-none-any.whl (43.9 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page