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

Release files for psims 1.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for psims 1.4.0
File Size Uploaded
psims-1.4.0.tar.gz 23.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for psims 1.4.0
File Interpreter ABI Platform
psims-1.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 47.8 MB

Release files / psims-1.4.0.tar.gz

Download URL psims-1.4.0.tar.gz
Size 23.9 MB
Tags Source
SHA-256 checksum
How to use checksums
ac7730c507864eb141877a700dd79e5fc7afc7da30998778b91c50e0f9f5e8e7
BLAKE2b-256 checksum
How to use checksums
9b23b3b1ae907488042e0822a8b79a80c5ab5726aa1a13c2b87d505ebb19f438
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / psims-1.4.0-py3-none-any.whl

Download URL psims-1.4.0-py3-none-any.whl
Size 23.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
b87085dd7273b19d7fc674daa917598f6eb0e21fad788c132a392aa2e8529f6c
BLAKE2b-256 checksum
How to use checksums
d94eadeb132bac046543fdf4751adadde1f4c2a92a61b35e8dd24124227a9a86
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release history Release notifications | RSS feed

This release

1.4.0 This release

2 release files

1.3.6

2 release files

1.3.5

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.9

2 release files

1.2.8

2 release files

1.2.7

2 release files

1.2.6

2 release files

1.2.5

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.1.50

2 release files

0.1.48

0.1.47

2 release files

0.1.45

2 release files

0.1.40

2 release files

0.1.39

2 release files

0.1.38

2 release files

0.1.37

2 release files

0.1.36

2 release files

0.1.34

2 release files

0.1.33

2 release files

0.1.31

3 release files

0.1.30

2 release files

0.1.29

2 release files

0.1.28

1 release file

0.1.26

2 release files

0.1.25

1 release file

0.1.24

1 release file

0.1.23

1 release file

0.1.21

4 release files

0.1.20

2 release files

0.1.19

4 release files

0.1.16

3 release files

0.1.15

2 release files

0.1.13

3 release files

0.1.12

3 release files

0.1.10

3 release files

0.1.9

3 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.4

2 release files

0.1.1

1 release file

0.0.13

2 release files

0.0.11

1 release file

0.0.10

1 release file

0.0.8

2 release files

0.0.6

1 release file

0.0.5

1 release file

0.0.4

1 release file

0.0.3

1 release file

0.0.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page