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

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


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

Uploaded Source

Built Distribution

psims-0.1.40-py2.py3-none-any.whl (11.7 MB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: psims-0.1.40.tar.gz
  • Upload date:
  • Size: 11.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5

File hashes

Hashes for psims-0.1.40.tar.gz
Algorithm Hash digest
SHA256 71e3780e0c4c9166adfa96a69bbcd9d5515eb7d088c80dbbd7b05b6a1273291a
MD5 84206e1d70028b473d71a3be403e3be1
BLAKE2b-256 9bbde26f69631b4ec95c9d30a108914ecc36b9a2756c5d83d8874b202ed97d0c

See more details on using hashes here.

File details

Details for the file psims-0.1.40-py2.py3-none-any.whl.

File metadata

  • Download URL: psims-0.1.40-py2.py3-none-any.whl
  • Upload date:
  • Size: 11.7 MB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5

File hashes

Hashes for psims-0.1.40-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 282e84c05d6f3513a0f419adf0c3842fac2688b4ed1293c7b4533e36c8e92e1c
MD5 2ee4374b79e39b93f4eaeab98404e4ae
BLAKE2b-256 582a44417617bb09b6c916aa41c3a12d385b467763ccc5ddc4c42453e32ca9ec

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