Skip to main content

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

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.4.0.tar.gz (23.9 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.4.0-py3-none-any.whl (23.9 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: psims-1.4.0.tar.gz
  • Upload date:
  • Size: 23.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for psims-1.4.0.tar.gz
Algorithm Hash digest
SHA256 ac7730c507864eb141877a700dd79e5fc7afc7da30998778b91c50e0f9f5e8e7
MD5 d7b8edf782ad95ac4a6749456956ca3a
BLAKE2b-256 9b23b3b1ae907488042e0822a8b79a80c5ab5726aa1a13c2b87d505ebb19f438

See more details on using hashes here.

File details

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

File metadata

  • Download URL: psims-1.4.0-py3-none-any.whl
  • Upload date:
  • Size: 23.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for psims-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b87085dd7273b19d7fc674daa917598f6eb0e21fad788c132a392aa2e8529f6c
MD5 5e92ba5dfafd561262475a0c58084c18
BLAKE2b-256 d94eadeb132bac046543fdf4751adadde1f4c2a92a61b35e8dd24124227a9a86

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.4.0

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