Skip to main content

IsoDec

IsoDec assigns charge states and deconvolves isotopically resolved mass spectrometry data. Its native core uses IsoGen for peptide and RNA isotope distributions.

Installation

Install a published wheel:

python -m pip install isodec

IsoDec supports Python 3.9 and newer on 64-bit Windows, Linux, and macOS, including Apple silicon. Native builds are also tested on ARM64 Windows and Linux. Compatible wheels include the native IsoDec and IsoGen libraries. A source build requires CMake 3.22.1 or newer, a C/C++ compiler, FFTW, and an initialized IsoGen submodule:

git clone --recurse-submodules https://github.com/michaelmarty/IsoDec.git
python -m pip install ./IsoDec

Python usage

import numpy as np
from isodec import IsoDecRuntime

spectrum = np.loadtxt("spectrum.txt")
engine = IsoDecRuntime()
peaks = engine.batch_process_spectrum(spectrum, centroided=True)

for peak in peaks:
    print(peak.mz, peak.z, peak.monoiso, peak.matchedintensity)

TXT, DAT, CSV, and NPZ single-scan spectra are supported without UniDec. Raw vendor files, mzML/mzXML, and I2MS import use UniDec's extensive importer stack:

python -m pip install "isodec[unidec]"

Command line

isodec spectrum.txt --centroided -o assigned_peaks.tsv
python -m isodec --help

Development

git submodule update --init --recursive
python -m pip install -e ".[test]"
python -m pytest

Documentation sources live in docs/ and are built with MkDocs. Release and wheel-building details are in PUBLISHING.md.

License and citation

IsoDec is released under the BSD 3-Clause License. See THIRD_PARTY_NOTICES.md for IsoGen, FFTW, and Intel runtime notices. When using IsoDec, please cite Pavek et al., “A Fast Neural Network for Isotopic Charge State Assignment,” J. Am. Chem. Soc. 2025, 147, 21610–21620. Machine-readable metadata is provided in CITATION.cff.

Changelog

2.0.1 (2026-08-18)

  • Improved native processing performance with optimized AVX matrix operations, linear-time peak detection, faster isotope matching, and reusable work buffers.
  • Moved installed native libraries and executables into isodec/bin; Windows binaries are included with the package.
  • Added processing-time and matched-peak reporting for native spectrum runs.
  • Added automated MSVC-versus-IntelLLVM performance benchmarking.

2.0.0 (2026-08-17)

  • Split IsoDec from UniDec into the standalone isodec package, with IsoGen as a submodule and an independent version and release cycle.
  • Added experimental charge-state assignment directly from profile-mode data.
  • Added cross-platform tests—including native ARM64 Windows and Linux coverage—documentation, and automated wheel and source distribution publishing.

1.0.0

  • Initial IsoDec release with IsoGen integration for isotopic charge-state assignment and deconvolution of mass spectrometry data, distributed as part of UniDec.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

isodec-2.0.1.tar.gz (49.0 MB view details)

Uploaded Source

Built Distributions

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

isodec-2.0.1-py3-none-win_amd64.whl (23.3 MB view details)

Uploaded Python 3Windows x86-64

isodec-2.0.1-py3-none-manylinux_2_31_x86_64.whl (25.2 MB view details)

Uploaded Python 3manylinux: glibc 2.31+ x86-64

isodec-2.0.1-py3-none-macosx_15_0_x86_64.whl (25.4 MB view details)

Uploaded Python 3macOS 15.0+ x86-64

isodec-2.0.1-py3-none-macosx_14_0_arm64.whl (24.6 MB view details)

Uploaded Python 3macOS 14.0+ ARM64

File details

Details for the file isodec-2.0.1.tar.gz.

File metadata

  • Download URL: isodec-2.0.1.tar.gz
  • Upload date:
  • Size: 49.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for isodec-2.0.1.tar.gz
Algorithm Hash digest
SHA256 dd05bc24b44e72e111c7fbd782aca614007cca0bb720e555d44b97f43817071f
MD5 30345b17905e4580450dc845e5ac7082
BLAKE2b-256 9edfa3af1a18619578895bdad8fba1d0ea72f8e6210c0b11e188b0963c2a601d

See more details on using hashes here.

Provenance

The following attestation bundles were made for isodec-2.0.1.tar.gz:

Publisher: publish.yml on michaelmarty/IsoDec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file isodec-2.0.1-py3-none-win_amd64.whl.

File metadata

  • Download URL: isodec-2.0.1-py3-none-win_amd64.whl
  • Upload date:
  • Size: 23.3 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for isodec-2.0.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 f6c031a4068f750a7d26400d06373ecb422730fd6a8fd5d15c2b3fb5efdd2a09
MD5 6c8486aeaa5169cfa28b545b75443d3c
BLAKE2b-256 23ca006862f3c9b27e60c71492d2bd1f6b852263aba157013947d0b21fe6cde6

See more details on using hashes here.

Provenance

The following attestation bundles were made for isodec-2.0.1-py3-none-win_amd64.whl:

Publisher: publish.yml on michaelmarty/IsoDec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file isodec-2.0.1-py3-none-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for isodec-2.0.1-py3-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 d25d4bb04859c50c4ee9507be7a5b54a5deb1f8b8b9b6a3508189543327cf62d
MD5 dbba2dc97045d3de64a344ef2bfd1381
BLAKE2b-256 d5f30ef8c4cbecb09d8cf442f3a13aff21ae3b3797936e2a720eda0fe8f2bed7

See more details on using hashes here.

Provenance

The following attestation bundles were made for isodec-2.0.1-py3-none-manylinux_2_31_x86_64.whl:

Publisher: publish.yml on michaelmarty/IsoDec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file isodec-2.0.1-py3-none-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for isodec-2.0.1-py3-none-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 f21d9d3525a6198288aaf74509e418e8395ae8c4f49da951fe883d16c1824fd7
MD5 6b0706f40b3ca89bd5a1306261406a3e
BLAKE2b-256 79b596200446eb6117144a8fda2327b719f11820410904ef52ca6aa98f2e251f

See more details on using hashes here.

Provenance

The following attestation bundles were made for isodec-2.0.1-py3-none-macosx_15_0_x86_64.whl:

Publisher: publish.yml on michaelmarty/IsoDec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file isodec-2.0.1-py3-none-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for isodec-2.0.1-py3-none-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 294c721a3b25d29375cdf57628349e481fb450327f3d1b89c38647f17ae068b2
MD5 5a9cc56299aeb88a22f501fea882121f
BLAKE2b-256 4de65df3def1d81039217d6b5ccf665a0f264de93f000114677fd6146f964476

See more details on using hashes here.

Provenance

The following attestation bundles were made for isodec-2.0.1-py3-none-macosx_14_0_arm64.whl:

Publisher: publish.yml on michaelmarty/IsoDec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

2.0.1 This release

5 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