Skip to main content

Easy to use Mass Spec conversion utility

Project description

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.

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

mzx-0.3.2.tar.gz (52.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mzx-0.3.2-py3-none-any.whl (35.9 kB view details)

Uploaded Python 3

File details

Details for the file mzx-0.3.2.tar.gz.

File metadata

  • Download URL: mzx-0.3.2.tar.gz
  • Upload date:
  • Size: 52.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.14.2

File hashes

Hashes for mzx-0.3.2.tar.gz
Algorithm Hash digest
SHA256 97209601e62bfb37d64cb5cab0e404ab1db77e8dbdb27bc54990751105e0690a
MD5 82efe0be92a52924410928f467ccdab6
BLAKE2b-256 e7b1949123a5c636f56a1c84eb8c229799c3c43eae2e054315ce9d953bb0d4e2

See more details on using hashes here.

File details

Details for the file mzx-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: mzx-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 35.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.14.2

File hashes

Hashes for mzx-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 826bcc3799d80ea15da61f42f8e08d2e4358b54548140ef02bdf1ba0b9246180
MD5 462a850fcfc715fe9dd80f02b5fcc70a
BLAKE2b-256 3a2916f0a70a81d3825262e269a4432474b9a0b44ab5963fa098ceee35af8f2e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page