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 Proteomics Standards Initiative standardized formats for mass spectrometry:

  1. mzML
  2. mzIdentML
  3. mzMLb

See the Documenation for more information

Installation

With pip:

pip install psims

With conda:

conda install -c bioconda -c conda-forge -c defaults psims

mzML Minimal Example

from psims.mzml.writer import MzMLWriter

# Load the data to write
scans = get_scan_data()

with MzMLWriter(open("out.mzML", 'wb'), close=True) 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


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

psims-1.3.5.tar.gz (18.8 MB view details)

Uploaded Source

Built Distribution

psims-1.3.5-py3-none-any.whl (18.8 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: psims-1.3.5.tar.gz
  • Upload date:
  • Size: 18.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for psims-1.3.5.tar.gz
Algorithm Hash digest
SHA256 e909c65e56612000900901273c086adf5d88a4f3dd150ca7eb7b34f04b6b01e1
MD5 c44f815f889b4662d65176865d434285
BLAKE2b-256 ddf8b0dc9e3fdf118019fd82453b6fa21280b33cbdb53fcfdd8701d937007cb3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: psims-1.3.5-py3-none-any.whl
  • Upload date:
  • Size: 18.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for psims-1.3.5-py3-none-any.whl
Algorithm Hash digest
SHA256 98e0a45a39c7ba4249ab7fd4506e79d89636d60dfba63838e54ee0305bedbfb6
MD5 4b576ae1a2feda07d771d95fb8417967
BLAKE2b-256 435ff0e098c5730330342e25ecc5e303662834ec98f2fb9435a8eafa40b1aac0

See more details on using hashes here.

Supported by

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