compomics / psm_utils

Common utilities for parsing and handling peptide-spectrum matches and search engine results in Python
https://psm-utils.readthedocs.io
Apache License 2.0
25 stars 7 forks source link
mass-spectrometry parsing peptide-identification peptide-spectrum-matches proteomics python

######### psm_utils #########

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

.. image:: https://img.shields.io/github/v/release/compomics/psm_utils?sort=semver&style=flat-square :alt: GitHub release :target: https://github.com/compomics/psm_utils/releases

.. image:: https://img.shields.io/pypi/v/psm-utils?style=flat-square :alt: PyPI :target: https://pypi.org/project/psm-utils/

.. image:: https://img.shields.io/conda/vn/bioconda/psm-utils?style=flat-square :alt: Bioconda :target: http://bioconda.github.io/recipes/psm-utils/README.html

.. image:: https://img.shields.io/github/actions/workflow/status/compomics/psm_utils/test.yml?branch=main&label=test&style=flat-square :alt: GitHub Actions tests status :target: https://github.com/compomics/psm_utils/actions/workflows/test.yml

.. image:: https://img.shields.io/github/actions/workflow/status/compomics/psm_utils/publish.yml?event=release&style=flat-square :alt: GitHub Actions build status :target: https://github.com/compomics/psm_utils/actions/workflows/publish.yml

.. image:: https://img.shields.io/codecov/c/github/compomics/psm_utils?style=flat-square :alt: Codecov :target: https://app.codecov.io/gh/compomics/psm_utils

.. image:: https://img.shields.io/github/license/compomics/psm_utils.svg?style=flat-square :alt: GitHub :target: https://www.apache.org/licenses/LICENSE-2.0

.. image:: https://img.shields.io/twitter/follow/CompOmics?style=flat-square :alt: Twitter :target: https://twitter.com/compomics

About

Introduction


psmutils 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 <https://www.compomics.com>, such as MS²PIP <https://github.com/compomics/ms2pip_c>, DeepLC <https://github.com/compomics/deeplc>, and MS²Rescore <https://github.com/compomics/ms2rescore>, but can be useful to anyone dealing with PSMs and PSM files. Moreover, it provides an easy-to-use CLI and web server <https://psm-utils.streamlitapp.com/> to convert search engine results from one PSM file format into another.

Goals and non-goals


Supported file formats


===================================================================================================================== ======================== =============== =============== File format psmutils tag Read support Write support ===================================================================================================================== ======================== =============== =============== FlashLFQ generic TSV <https://github.com/smith-chem-wisc/FlashLFQ/wiki/Identification-Input-Formats> flashlfq ✅ ✅ ionbot CSV <https://ionbot.cloud/> ionbot ✅ ❌ OpenMS idXML <https://www.openms.de/> idxml ✅ ✅ MaxQuant msms.txt <https://www.maxquant.org/> msms ✅ ❌ MS Amanda CSV <https://ms.imp.ac.at/?goto=msamanda> msamanda ✅ ❌ mzIdentML <https://psidev.info/mzidentml>_ mzid ✅ ✅ Parquet <https://psm-utils.readthedocs.io/en/stable/api/psm_utils.io#module-psm_utils.io.parquet>_ parquet ✅ ✅ Peptide Record <https://psm-utils.readthedocs.io/en/stable/api/psm_utils.io/#module-psm_utils.io.peptide_record> peprec ✅ ✅ pepXML <http://tools.proteomecenter.org/wiki/index.php?title=Formats:pepXML> pepxml ✅ ❌ Percolator tab <https://github.com/percolator/percolator/wiki/Interface>_ percolator ✅ ✅ Proteome Discoverer MSF proteome_discoverer ✅ ❌ Sage Parquet <https://github.com/lazear/sage/blob/v0.14.7/DOCS.md#interpreting-sage-output>_ sage_parquet ✅ ❌ Sage TSV <https://github.com/lazear/sage/blob/v0.14.7/DOCS.md#interpreting-sage-output>_ sage_tsv ✅ ❌ ProteoScape Parquet proteoscape ✅ ❌ TSV <https://psm-utils.readthedocs.io/en/stable/api/psm_utils.io/#module-psm_utils.io.tsv> tsv ✅ ✅ X!Tandem XML <https://www.thegpm.org/tandem/> xtandem ✅ ❌ ===================================================================================================================== ======================== =============== ===============

Legend: ✅ Supported, ❌ Unsupported

psm_utils online ################

.. image:: https://static.streamlit.io/badges/streamlit_badge_black_white.svg :alt: Open in streamlit :target: https://psm-utils.streamlitapp.com/

psm_utils online <https://psm-utils.streamlitapp.com/>_ 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 ############

.. image:: https://img.shields.io/badge/install%20with-pip-brightgreen?style=flat-square :alt: Install with pip :target: https://pypi.org/project/psm-utils/

.. code-block:: sh

pip install psm-utils

.. image:: https://img.shields.io/badge/install%20with-bioconda-blue?style=flat-square :alt: Install with Bioconda :target: http://bioconda.github.io/recipes/psm-utils/README.html

.. code-block:: sh

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 <https://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 <https://doi.org/10.1021/acs.jproteome.2c00609>_