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

Uploaded Source

Built Distribution

psims-0.1.35-py2.py3-none-any.whl (11.6 MB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: psims-0.1.35.tar.gz
  • Upload date:
  • Size: 11.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for psims-0.1.35.tar.gz
Algorithm Hash digest
SHA256 432c69bbb7b03f64dea12cd90e02e651a65a541a3e01f32b2a3ac0065a7a9bf3
MD5 6765bdc71f55de232507d6d934075de6
BLAKE2b-256 539374c316c9e844d396c2ac27e5c4b8027af08ae6e63f8fcbcf8748862c582d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for psims-0.1.35-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f8ef72de3bc3d71288a4e8997ca8ef7471452e788a5de712aceb80619451b0fc
MD5 6d6ac518f33cc95f4fd82ef14590f711
BLAKE2b-256 23f1bd6d1209ab25ece7728bc014fce84f14e9931adc89656f1208a4c6db2b4e

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