Skip to main content

Writers and controlled vocabulary manager for PSI-MS's mzML and mzIdentML standards

Project description

psims

Prototype work for a unified API for writing PSIMS standardized XML documents, currently just mzML and MzIdentML

See the Documenation for more information

mzML Minimal Example

from psims.mzml.writer import MzMLWriter

# Load the data to write
scans = get_scan_data()

with MzMLWriter(open("out.mzML", 'wb')) as out:
    # Add default controlled vocabularies
    out.controlled_vocabularies()
    # Open the run and spectrum list sections
    with out.run(id="my_analysis"):
        spectrum_count = len(scans) + sum([len(products) for _, products in scans])
        with out.spectrum_list(count=spectrum_count):
            for scan, products in scans:
                # Write Precursor scan
                out.write_spectrum(
                    scan.mz_array, scan.intensity_array,
                    id=scan.id, params=[
                        "MS1 Spectrum",
                        {"ms level": 1},
                        {"total ion current": sum(scan.intensity_array)}
                     ])
                # Write MSn scans
                for prod in products:
                    out.write_spectrum(
                        prod.mz_array, prod.intensity_array,
                        id=prod.id, params=[
                            "MSn Spectrum",
                            {"ms level": 2},
                            {"total ion current": sum(prod.intensity_array)}
                         ],
                         # Include precursor information
                         precursor_information={
                            "mz": prod.precursor_mz,
                            "intensity": prod.precursor_intensity,
                            "charge": prod.precursor_charge,
                            "scan_id": prod.precursor_scan_id,
                            "activation": ["beam-type collisional dissociation", {"collision energy": 25}],
                            "isolation_window": [prod.precursor_mz - 1, prod.precursor_mz, prod.precursor_mz + 1]
                         })

Citing

If you use psims in an academic project, please cite:

Klein, J. A., & Zaia, J. (2018). psims - A declarative writer for mzML and mzIdentML for Python. Molecular & Cellular Proteomics, mcp.RP118.001070. https://doi.org/10.1074/mcp.RP118.001070

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

psims-0.1.31.tar.gz (10.6 MB view details)

Uploaded Source

Built Distributions

psims-0.1.31-py3-none-any.whl (10.7 MB view details)

Uploaded Python 3

psims-0.1.31-py2-none-any.whl (10.7 MB view details)

Uploaded Python 2

File details

Details for the file psims-0.1.31.tar.gz.

File metadata

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

File hashes

Hashes for psims-0.1.31.tar.gz
Algorithm Hash digest
SHA256 c59841f2105fb7f58131faf918829e373d8e112677eca762b7a4ed918dbacf97
MD5 ca0a64b79cc4b8e04a07372fdc68e6f9
BLAKE2b-256 39565922fb35678d4e1c9644f9e06df8d9924abeee4b6b857bab25a1abaf38ab

See more details on using hashes here.

File details

Details for the file psims-0.1.31-py3-none-any.whl.

File metadata

  • Download URL: psims-0.1.31-py3-none-any.whl
  • Upload date:
  • Size: 10.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.18.4 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.40.0 CPython/2.7.14

File hashes

Hashes for psims-0.1.31-py3-none-any.whl
Algorithm Hash digest
SHA256 a0d3674bb005b45b30ad491cebf70cc491441d9c3701a54aabd301e27b03e69f
MD5 c60ccaa760fe99b936177b0529a4bd5c
BLAKE2b-256 086ac8714a77108ce7a3be8a5dbf45995b7fd2d8c003e116cd5446197c566684

See more details on using hashes here.

File details

Details for the file psims-0.1.31-py2-none-any.whl.

File metadata

  • Download URL: psims-0.1.31-py2-none-any.whl
  • Upload date:
  • Size: 10.7 MB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.18.4 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.40.0 CPython/2.7.14

File hashes

Hashes for psims-0.1.31-py2-none-any.whl
Algorithm Hash digest
SHA256 9925fcbd2efdef825693baf3ec2c6435ee24422f146d29924b32abcff6400253
MD5 766b9c5f8632f78a170ffef13dbff212
BLAKE2b-256 4f22940ab0980739fdb47b0af762568b7da5d374580f480716904fb6324a0a6e

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