Skip to main content

A python package to process protein cross-linking data.

Project description

pyXLMS

a python package to process protein cross-linking data

pyXLMS is a python package and web application with graphical user interface that aims to simplify and streamline the intermediate step of connecting crosslink search engine results with down-stream analysis tools, enabling researchers even without bioinformatics knowledge to conduct in-depth crosslink analyses and shifting the focus from data transformation to data interpretation and therefore gaining biological insight. Currently pyXLMS supports input from seven different crosslink search engines: MaxLynx (part of MaxQuant), MeroX, MS Annika, pLink 2 and pLink 3, Scout, xiSearch and xiFDR, XlinkX, as well as the mzIdentML format of the HUPO Proteomics Standards Initiative, and a well-documented and human-readable custom tabular format. Down-stream analysis is facilitated by functionality that is directly available within pyXLMS such as validation, annotation, aggregation, filtering, and visualization - and much more - of crosslink-spectrum-matches and crosslinks. In addition, the data can easily be exported to the required data format of the various available down-stream analysis tools such as xiNET, xiVIEW, xiFDR, XlinkDB, xlms-tools, pyMOL (via pyXlinkViewer), ChimeraX (via XMAS), or IMP-X-FDR.

Installation

pyXLMS supports python version 3.7 and greater!

pyXLMS can easily be installed via pip:

pip install pyxlms

Quick Start

After installation you can use pyXLMS in python like this:

This example shows reading of MS Annika crosslink-spectrum-matches and exporting them to xiFDR format for external validation.

>>> import pyXLMS
>>> pr = pyXLMS.parser.read("data/ms_annika/XLpeplib_Beveridge_QEx-HFX_DSS_R1_CSMs.xlsx", engine="MS Annika", crosslinker="DSS")
Reading MS Annika CSMs...: 100%|████████████████████████████████████████████████████████████████████████████████| 826/826 [00:00<00:00, 20731.70it/s]
>>> _ = pyXLMS.transform.summary(pr)
Number of CSMs: 826.0
Number of unique CSMs: 826.0
Number of intra CSMs: 803.0
Number of inter CSMs: 23.0
Number of target-target CSMs: 786.0
Number of target-decoy CSMs: 39.0
Number of decoy-decoy CSMs: 1.0
Minimum CSM score: 1.11
Maximum CSM score: 452.99
>>> _ = pyXLMS.exporter.to_xifdr(pr["crosslink-spectrum-matches"], filename="msannika_CSMs_for_xiFDR.csv")

Web App

The web app is publicly accessible for free via hgb-bin-proteomics.github.io/pyXLMS-app.

Additionally, it can be run locally or self-hosted via:

  • Running the streamlit app locally:
    • cd gui
    • pip install -r requirements.txt
    • streamlit run streamlit_app.py
  • Building the Docker container yourself:
    • docker build . -f Dockerfile -t pyxlms
    • docker run -p 8501:8501 pyxlms
  • or by pulling the provided image from Docker Hub:
    • docker run -p 8501:8501 michabirklbauer/pyxlms:latest

User Guide, Examples and Documentation

Citing

If you are using pyXLMS please cite the following publication:

  • Manuscript in preparation
    (wip)
    

Acknowledgements

We thank Melanie Birklbauer for designing the logo.

Contact

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

pyxlms-1.4.2.tar.gz (133.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyxlms-1.4.2-py3-none-any.whl (129.5 kB view details)

Uploaded Python 3

File details

Details for the file pyxlms-1.4.2.tar.gz.

File metadata

  • Download URL: pyxlms-1.4.2.tar.gz
  • Upload date:
  • Size: 133.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyxlms-1.4.2.tar.gz
Algorithm Hash digest
SHA256 f4b3a57d2b2491d1fa581fc47b25f0655d90a5ed7c553fa6573d007910e1530d
MD5 64f9095e4423ef7307d2414573d1853a
BLAKE2b-256 c00183b05bb4db6e74702be9027021e4512a54775ae5bcd457be9e569171c83e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxlms-1.4.2.tar.gz:

Publisher: publish-release.yml on hgb-bin-proteomics/pyXLMS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxlms-1.4.2-py3-none-any.whl.

File metadata

  • Download URL: pyxlms-1.4.2-py3-none-any.whl
  • Upload date:
  • Size: 129.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyxlms-1.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 945b6d6a199ff707ae4885b3bb8dd7ac55b73149de6641fec42f5dba76b516c7
MD5 c5ec2226e61f4f21b3b744d245cec239
BLAKE2b-256 bcf0b22ca29bacaf11ffca96e160d3ebcfda784270526a85d42b035c6b6401b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxlms-1.4.2-py3-none-any.whl:

Publisher: publish-release.yml on hgb-bin-proteomics/pyXLMS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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