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
                         })

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

Uploaded Source

Built Distribution

psims-0.1.30-py2.py3-none-any.whl (5.9 MB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: psims-0.1.30.tar.gz
  • Upload date:
  • Size: 5.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.18.4 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.40.0 CPython/2.7.14

File hashes

Hashes for psims-0.1.30.tar.gz
Algorithm Hash digest
SHA256 6fb020c2caef36c78aac58665bc364c0ede2b0e0579715b15f76a50c164744b5
MD5 78a15de94ba5421f09cd3deaec2daf6e
BLAKE2b-256 fe7f7ec80a5cef4d71fb95220e936c764cae32f874bcbbd7127792090c05a505

See more details on using hashes here.

File details

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

File metadata

  • Download URL: psims-0.1.30-py2.py3-none-any.whl
  • Upload date:
  • Size: 5.9 MB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.18.4 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.40.0 CPython/2.7.14

File hashes

Hashes for psims-0.1.30-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1667afc99ce0434616a1d9c3920effdd619538305851a9eceb9a6f83e3dff675
MD5 53cebe66176f37423c697148c274e083
BLAKE2b-256 5f9e860c81432358f332932a274532f0073eab677ba447e2c8f999bd9a0765bc

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