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 six different crosslink search engines: MaxLynx (part of MaxQuant), 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, and filtering 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 application is currently in development.

User Guide, Examples and Documentation#

Citing#

If you are using pyXLMS please cite the following publication:

  • Manuscript in preparation

    (wip)
    

Contact#