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](https://mobiusklein.github.io/psims) for more information
## mzML Minimal Example
```python
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
})
```
Prototype work for a unified API for writing PSIMS standardized XML documents, currently just mzML and MzIdentML
See the [Documenation](https://mobiusklein.github.io/psims) for more information
## mzML Minimal Example
```python
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
})
```
Project details
Release history Release notifications | RSS feed
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.26.tar.gz
(5.8 MB
view details)
Built Distribution
File details
Details for the file psims-0.1.26.tar.gz
.
File metadata
- Download URL: psims-0.1.26.tar.gz
- Upload date:
- Size: 5.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.23.3 CPython/2.7.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 212cf0e0a97f9e5b549f6a0e5841d25888557ed37dc23bac6b411d5bec2491b9 |
|
MD5 | ced792380212f092a57476adab1108c2 |
|
BLAKE2b-256 | b54a98e4c1b109f5b371ffc4fda0472941f713dd661d7e220dc9f0dbc85d749a |
File details
Details for the file psims-0.1.26-py3-none-any.whl
.
File metadata
- Download URL: psims-0.1.26-py3-none-any.whl
- Upload date:
- Size: 5.9 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.23.3 CPython/2.7.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fbf055c1bbbb13f3977aa690de53f71a3da9677924de53097b6c1f61e4636155 |
|
MD5 | 24d7fa0b1e643a7d10ecef70da90ce96 |
|
BLAKE2b-256 | 0bcc580edc4ea234274a0b555dbd47857269af488d8782de7cc7657cc0153103 |