Skip to main content

pyquetms

Memory-efficient mzML to Parquet converter for mass spectrometry files.

Overview

pyquetms provides streaming conversion of mzML files to Parquet format with minimal memory usage, making it suitable for processing large mass spectrometry datasets without running out of memory. This project was originally developed as a side project inspired by GSoC 25' with OpenMS, with the goal of providing a simple CLI for converting .mzML to .parquet files, which is especially important in big data projects (e.g., machine learning).

Installation

From PyPI

pip install pyquetms

From source

git clone https://github.com/Avni2000/pyquetms.git
cd pyquetms
pip install .

Development installation

git clone https://github.com/Avni2000/pyquetms.git
cd pyquetms
pip install -e ".[dev]"

Usage

CLI

Basic conversion:

pyquetms input.mzML

or

pyquetms ~/Downloads/input.mzML

Specify output file (defaults to working directory):

pyquetms input.mzML -o output.parquet

Customize batch size and compression. I recommend :

pyquetms input.mzML --batch-size 5000 --compression gzip

Get file information without converting:

pyquetms input.mzML --info

Output Format

The converted Parquet files contain the following columns:

Depending on the type of mzml file, we have slightly different columns. Some columns may be blank, which is perfectly okay! It doesn't mean your mzml is wrong. The main expected values are time, m/z, and intensity

Contributions

It's quite a small project, feel free to make a PR or open an issue!

Metadata

Release files for pyquetmsMS 0.1.1

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

Source distribution (sdist)

Source distribution for pyquetmsMS 0.1.1
File Size Uploaded
pyquetmsms-0.1.1.tar.gz 2.8 kB Details

Built distribution (wheel)

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

Total release size: 5.2 kB

Release files / pyquetmsms-0.1.1.tar.gz

Download URL pyquetmsms-0.1.1.tar.gz
Size 2.8 kB
Tags Source
SHA-256 checksum
How to use checksums
4812512f0605675a881834e968ce31dbbf445d8e634aadf1666bf448d3ecd389
BLAKE2b-256 checksum
How to use checksums
192546f14d75802d272366600c216b8bad60d6eaa6eba812dc7559adb29cdcd9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.6

Release files / pyquetmsms-0.1.1-py3-none-any.whl

Download URL pyquetmsms-0.1.1-py3-none-any.whl
Size 2.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c5e39a1fd753ce8aecc3c847bf8d37a078a53fbb270424d4902cc8c6e6ae2666
BLAKE2b-256 checksum
How to use checksums
c8295a3bccbb278f45108ef55d768db76b53514403a33df8c436819ee40b47ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.6

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

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