Skip to main content

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

GitHub release PyPI Bioconda GitHub Actions tests status GitHub Actions build status Codecov GitHub Follow @compomics.com

About

Introduction

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. psm_utils.io provides a unified, higher level Python API build on top of these packages.

Supported file formats

File format

psm_utils tag

Read support

Write support

Comments

AlphaDIA precursors TSV

alphadia

✅

❌

CBOR

cbor

✅

✅

Requires the optional cbor2 dependency (pip install psm-utils[cbor])

DIA-NN TSV

diann

✅

❌

FlashLFQ generic TSV

flashlfq

✅

✅

FragPipe PSM TSV

fragpipe

✅

❌

ionbot CSV

ionbot

✅

❌

JSON

json

✅

✅

OpenMS idXML

idxml

✅

✅

Requires the optional openms dependency (pip install psm-utils[idxml])

MaxQuant msms.txt

msms

✅

❌

MS Amanda CSV

msamanda

✅

❌

mzIdentML

mzid

✅

✅

Parquet

parquet

✅

✅

Peptide Record

peprec

✅

✅

pepXML

pepxml

✅

❌

Percolator tab

percolator

✅

✅

Proteome Discoverer MSF

proteome_discoverer

✅

❌

Sage Parquet

sage_parquet

✅

❌

Sage TSV

sage_tsv

✅

❌

ProteoScape Parquet

proteoscape

✅

❌

TSV

tsv

✅

✅

X!Tandem XML

xtandem

✅

❌

Legend: ✅ Supported, ❌ Unsupported

psm_utils online

Open in streamlit

psm_utils online is a Streamlit-based web server built on top of the psm_utils Python package. It allows you to easily retrieve proteomics PSM statistics for any supported PSM file type, and to convert search engine results from one PSM file format into another. Click the badge above to get started!

Installation

Install with pip
pip install psm-utils
Install with Bioconda
conda install -c bioconda psm-utils

Full documentation

The full documentation, including a quickstart guide and Python API reference is available on psm_utils.readthedocs.io.

Citation

If you use psm_utils for your research, please cite the following publication:

psm_utils: A high-level Python API for parsing and handling peptide-spectrum-matches and proteomics search results.
Ralf Gabriels, Arthur Declercq, Robbin Bouwmeester, Sven Degroeve, Lennart Martens.
Journal of Proteome Research (2022). doi:10.1021/acs.jproteome.2c00609

Release files for psm-utils 1.5.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for psm-utils 1.5.5
File Size Uploaded
psm_utils-1.5.5.tar.gz 80.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for psm-utils 1.5.5
File Interpreter ABI Platform
psm_utils-1.5.5-py3-none-any.whl Python 3 none any Details

Total release size: 175.4 kB

Release files / psm_utils-1.5.5.tar.gz

Download URL psm_utils-1.5.5.tar.gz
Size 80.4 kB
Tags Source
SHA-256 checksum
How to use checksums
8f9cd06a03d5d57086d97e9acb1a8cbbb5f49fc47d64c75853186ec9ed9f37b5
BLAKE2b-256 checksum
How to use checksums
63f67bfd41973014cc4a757133132bba7282d62addaa611aad4dbdad094914cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / psm_utils-1.5.5-py3-none-any.whl

Download URL psm_utils-1.5.5-py3-none-any.whl
Size 95.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
00a588b60ed13cea074fc00f7f993809277a96bad301b5ea3426feef50485bef
BLAKE2b-256 checksum
How to use checksums
a3f5064a5f4de40520b4630984f27d27cfb8e4013c2a2ed76cc0e87693201647
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page