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 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
- A user guide that documents all available functionality is available via pyxlms.vercel.app/.
- Example jupyter notebooks can be found in
/examples. - A full documentation of the python package can be accessed via hgb-bin-proteomics.github.io/pyXLMS.
Citing
If you are using pyXLMS please cite the following publication:
- Manuscript in preparation
(wip)
Contact
- proteomics@fh-hagenberg.at
- micha.birklbauer@fh-hagenberg.at (primary developer)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyxlms-1.0.0.tar.gz.
File metadata
- Download URL: pyxlms-1.0.0.tar.gz
- Upload date:
- Size: 111.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5c0dc6f9dd46641b9017d8283f500043cbf27f301dec5d124a303b0181a525b
|
|
| MD5 |
1b873fb22734a2cf445facdcb839c64c
|
|
| BLAKE2b-256 |
ad32e4345d731b5edfd3269ad3296b4e907c4c756dae3ccf404eeec2eda2781c
|
Provenance
The following attestation bundles were made for pyxlms-1.0.0.tar.gz:
Publisher:
publish-release.yml on hgb-bin-proteomics/pyXLMS
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyxlms-1.0.0.tar.gz -
Subject digest:
a5c0dc6f9dd46641b9017d8283f500043cbf27f301dec5d124a303b0181a525b - Sigstore transparency entry: 250051213
- Sigstore integration time:
-
Permalink:
hgb-bin-proteomics/pyXLMS@6ce62621dd0b9f0f84420b48f1888f09ee02d23b -
Branch / Tag:
refs/heads/master - Owner: https://github.com/hgb-bin-proteomics
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-release.yml@6ce62621dd0b9f0f84420b48f1888f09ee02d23b -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file pyxlms-1.0.0-py3-none-any.whl.
File metadata
- Download URL: pyxlms-1.0.0-py3-none-any.whl
- Upload date:
- Size: 104.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2043c8f4c029b3863879f5f6083fbda02aef92092ba4353d796ee1e8d46f46f
|
|
| MD5 |
1d8359e940a5e5875e02dd5a70fab8f0
|
|
| BLAKE2b-256 |
32620747cd236709356a866950d5248472484edca09f718ed077317a776cc76e
|
Provenance
The following attestation bundles were made for pyxlms-1.0.0-py3-none-any.whl:
Publisher:
publish-release.yml on hgb-bin-proteomics/pyXLMS
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyxlms-1.0.0-py3-none-any.whl -
Subject digest:
f2043c8f4c029b3863879f5f6083fbda02aef92092ba4353d796ee1e8d46f46f - Sigstore transparency entry: 250051222
- Sigstore integration time:
-
Permalink:
hgb-bin-proteomics/pyXLMS@6ce62621dd0b9f0f84420b48f1888f09ee02d23b -
Branch / Tag:
refs/heads/master - Owner: https://github.com/hgb-bin-proteomics
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-release.yml@6ce62621dd0b9f0f84420b48f1888f09ee02d23b -
Trigger Event:
workflow_dispatch
-
Statement type: