Skip to main content

Free and open conversion of mass spec data

PyPI GitHub Actions Documentation Status Codecov PyPI - Downloads

What it does

mzx wraps msconvert from ProteoWizard inside Docker so you can convert vendor raw formats to open formats (mzML, MGF, mzXML, …) from the command line or an optional GUI.

Prerequisites

  • Docker — installed and running (the CLI calls docker run to execute msconvert).

  • Python 3.10+

  • pip, uv, or another PEP 517–compatible installer

Install

pip install -U mzx

Quick start

  1. Ensure Docker is running (docker info should succeed).

  2. Convert a Thermo .raw file to mzML (default output format):

    mzx /path/to/data.raw

    The mzML is written next to the input file (same directory, .mzML extension).

  3. To choose another output format, set --type to mzml, mgf, or mzxml:

    mzx --type mgf /path/to/data.raw

See mzx --help for peak picking, indexing, Waters lockmass options, and more.

GUI (experimental)

After install, start the GUI:

mzx-gui

If the mzx-gui command is not on your PATH (common on Windows), use either:

python -m mzx.gui

or the Python Launcher for Windows:

py -m mzx.gui

The CLI can always be run as python -m mzx (same as the mzx command).

Vendor support

Conversion uses ProteoWizard; supported vendors include Agilent, Bruker, Sciex, Shimadzu, Thermo, Waters, and UIMF. See the ProteoWizard FAQ for vendor-specific notes.

Supported file formats (examples)

  • .mgf

  • .mzML

  • .raw (Thermo)

  • .wiff (Sciex)

Features

  • Convert between common mass spectrometry interchange formats via msconvert

  • Vendor formats: Agilent, Bruker, Sciex, Thermo, Waters, and others supported by ProteoWizard

  • CLI and experimental GUI

Documentation

Full documentation: mzx.readthedocs.io

Development

From a clone of the repo, using uv (recommended):

make setup
source .venv/bin/activate   # Windows: .venv\Scripts\activate
make install

make setup creates .venv and installs development dependencies from requirements.txt. make install installs mzx in editable mode.

Without make, the same steps are:

uv venv
source .venv/bin/activate
uv pip install -r requirements.txt
uv pip install -e .

Run tests:

make test

Other useful targets: make lint, make help.

License

GNU General Public License v3 — see LICENSE.

Metadata

Release files for mzx 0.3.2

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

Source distribution (sdist)

Source distribution for mzx 0.3.2
File Size Uploaded Provenance Actions
mzx-0.3.2.tar.gz 52.8 kB Without provenance Details for mzx-0.3.2.tar.gz

Built distribution (wheel)

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

Total release size: 88.7 kB

Release files / mzx-0.3.2.tar.gz

Download URL mzx-0.3.2.tar.gz
Size 52.8 kB
Tags Source
SHA-256 checksum
How to use checksums
97209601e62bfb37d64cb5cab0e404ab1db77e8dbdb27bc54990751105e0690a
BLAKE2b-256 checksum
How to use checksums
e7b1949123a5c636f56a1c84eb8c229799c3c43eae2e054315ce9d953bb0d4e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.14.2

Release files / mzx-0.3.2-py3-none-any.whl

Download URL mzx-0.3.2-py3-none-any.whl
Size 35.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
826bcc3799d80ea15da61f42f8e08d2e4358b54548140ef02bdf1ba0b9246180
BLAKE2b-256 checksum
How to use checksums
3a2916f0a70a81d3825262e269a4432474b9a0b44ab5963fa098ceee35af8f2e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.14.2

Security for mzx 0.3.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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