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.6.tar.gz (18.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for psims-1.3.6.tar.gz
Algorithm Hash digest
SHA256 f63d5d7659a3cd87c2c604d0bb460f18c20816653747e355426e35ce91989447
MD5 60f6a5027458c5486904baa9c2e35c7d
BLAKE2b-256 839aa60a38b33d40befd3ee32eed2feeee79a92b357822348e079d637cbf9788

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for psims-1.3.6-py3-none-any.whl
Algorithm Hash digest
SHA256 33203962d6fbfc8619c3c0be221e7547f3569cfc1faa7935f8e1a222fef27258
MD5 ba07c2b6bfad081aac9fbd797555785b
BLAKE2b-256 e8e4ca875484a9c5af549a7fd02c68f35242fa820cc7e6dca9fba59856a1c9cf

See more details on using hashes here.

Supported by

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