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

Uploaded Source

Built Distribution

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

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: psims-0.1.29.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.29.tar.gz
Algorithm Hash digest
SHA256 88a260c610534f6e2afa47cfacc253330b8440214306f7e87f7687a19ec49e01
MD5 489e3edd7655bb049d6dfc0630f2d3d4
BLAKE2b-256 5df2b816e1d56892cf94719f2f6fd1a35836003a1cb728fd9639f6e3d3c9db8b

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: psims-0.1.29-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.29-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a7302017d9d1a6cef6b458dca771ec4af50308f25b5ece2c914a0f6b255aaad2
MD5 b3c5c90a46e4bcfdcfa328b9533e73ce
BLAKE2b-256 da19f7383afda5580731a3aa78683204b798893b2628da9db815bbd0e2a454aa

See more details on using hashes here.

Provenance

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