Skip to main content

Access, Deisotope, and Charge Deconvolute Mass Spectra

Project description

https://raw.githubusercontent.com/mobiusklein/ms_deisotope/master/docs/_static/logo.png

A Library for Deisotoping and Charge State Deconvolution For Mass Spectrometry

This library combines brainpy and ms_peak_picker to build a toolkit for MS and MS/MS data. The goal of these libraries is to provide pieces of the puzzle for evaluating MS data modularly. The goal of this library is to combine the modules to streamline processing raw data.

Installing

ms_deisotope uses PEP 517 and 518 build system definition and isolation to ensure all of its compile-time dependencies are installed prior to building. Normal installation should work with pip, and pre-built wheels are available for Windows.

C Extensions

ms_deisotope and several of its dependencies use C extensions to make iterative operations much faster. If you plan to use this library on a large amount of data, I highly recommend you ensure they are installed:

>>> import ms_deisotope
>>> ms_deisotope.DeconvolutedPeak
<type 'ms_deisotope._c.peak_set.DeconvolutedPeak'>

Building C extensions from source requires a version of Cython >= 0.27.0

Compiling C extensions requires that numpy, brain-isotopic-distribution, and ms_peak_picker be compiled and installed prior to building ms_deisotope:

pip install numpy
pip install -v brain-isotopic-distribution ms_peak_picker
pip install -v ms_deisotope

If these libraries are not installed, ms_deisotope will fall back to using pure Python implementations, which are much slower.

API

Data Access

ms_deisotope can read from mzML, mzXML and MGF files directly, using the pyteomics library. On Windows, it can also use comtypes to access Thermo’s MSFileReader.dll to read RAW files and Agilent’s MassSpecDataReader.dll to read .d directories. Whenever possible, the library provides a common interface to all supported formats. With Thermo’s pure .NET library, it can use pythonnet to read Thermo RAW files on Windows and Linux (and presumably Mac, too).

from ms_deisotope import MSFileReader
from ms_deisotope.data_source import mzxml

# open a file, selecting the appropriate reader automatically
reader = MSFileReader("path/to/data.mzML")

# or specify the reader type directly
reader = mzxml.MzXMLLoader("path/to/data.mzXML")

All supported readers provide fast random access for uncompressed files, and support the Iterator interface.

# jump the iterator to the MS1 scan nearest to 30 minutes into the run
reader.start_from_scan(rt=30)

# read out the next MS1 scans and all associated MSn scans
scan_bunch = next(reader)
print(scan_bunch.precursor, len(scan_bunch.products))

Averagine

An “Averagine” model is used to describe the composition of an “average amino acid”, which can then be used to approximate the composition and isotopic abundance of a combination of specific amino acids. Given that often the only solution available is to guess at the composition of a particular m/z because there are too many possible elemental compositions, this is the only tractable solution.

This library supports arbitrary Averagine formulae, but the Senko Averagine is provided by default: {“C”: 4.9384, “H”: 7.7583, “N”: 1.3577, “O”: 1.4773, “S”: 0.0417}

from ms_deisotope import Averagine
from ms_deisotope import plot

peptide_averagine = Averagine({"C": 4.9384, "H": 7.7583, "N": 1.3577, "O": 1.4773, "S": 0.0417})

plot.draw_peaklist(peptide_averagine.isotopic_cluster(1266.321, charge=1))
ms_deisotope includes several pre-defined averagines (or “averagoses” as may be more appropriate):
  1. Senko’s peptide - ms_deisotope.peptide

  2. Native N- and O-glycan - ms_deisotope.glycan

  3. Permethylated glycan - ms_deisotope.permethylated_glycan

  4. Glycopeptide - ms_deisotope.glycopeptide

  5. Sulfated Glycosaminoglycan - ms_deisotope.heparan_sulfate

  6. Unsulfated Glycosaminoglycan - ms_deisotope.heparin

Deconvolution

The general-purpose averagine-based deconvolution procedure can be called by using the high level API function deconvolute_peaks, which takes a sequence of peaks, an averagine model, and a isotopic goodness-of-fit scorer:

import ms_deisotope

deconvoluted_peaks, _ = ms_deisotope.deconvolute_peaks(peaks, averagine=ms_deisotope.peptide,
                                                       scorer=ms_deisotope.MSDeconVFitter(10.))

The result is a deisotoped and charge state deconvoluted peak list where each peak’s neutral mass is known and the fitted charge state is recorded along with the isotopic peaks that gave rise to the fit.

Refer to the documentation for a deeper description of isotopic pattern fitting.

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

ms_deisotope-0.0.15.tar.gz (2.9 MB view details)

Uploaded Source

Built Distribution

ms_deisotope-0.0.15-cp27-cp27m-win_amd64.whl (4.3 MB view details)

Uploaded CPython 2.7m Windows x86-64

File details

Details for the file ms_deisotope-0.0.15.tar.gz.

File metadata

  • Download URL: ms_deisotope-0.0.15.tar.gz
  • Upload date:
  • Size: 2.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.18.4 setuptools/44.1.0 requests-toolbelt/0.8.0 tqdm/4.40.0 CPython/2.7.14

File hashes

Hashes for ms_deisotope-0.0.15.tar.gz
Algorithm Hash digest
SHA256 22b10fd86d5f4ece34e55116ea0cf1db8e1bce9f8996a457438fe1b69c13a655
MD5 91017e559007a5c58ff4728714dda659
BLAKE2b-256 9ffdaf55819dcafe590fcff4b67f71c58bae4ff8ecaf50e6bcb4af82fba30b22

See more details on using hashes here.

File details

Details for the file ms_deisotope-0.0.15-cp27-cp27m-win_amd64.whl.

File metadata

  • Download URL: ms_deisotope-0.0.15-cp27-cp27m-win_amd64.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: CPython 2.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.18.4 setuptools/44.1.0 requests-toolbelt/0.8.0 tqdm/4.40.0 CPython/2.7.14

File hashes

Hashes for ms_deisotope-0.0.15-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 1dd3d755dc19560c9ed44797375a612feb0d0ddad566c5a03ccde516e3c893b2
MD5 c509e89fb48f78cbae461af97401e415
BLAKE2b-256 1dff90a85f285504f5accc830c8a761700f998b7130964e00eed8c77303cc795

See more details on using hashes here.

Supported by

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