13CFLUX is a high-performance simulator for isotopically stationary and non-stationary simulation of isotope labeling
experiments. It is build on highly optimized C++ code, made available in Python through pybind11. It comprises the
following main functions:
- Read metabolic models and labeling data from standardized FluxML
- Simulation of labeling distributions and data residuals given fluxes and metabolite concentrations
- Fitting and statistical analysis (Frequentist and Bayesian) of 13C labeling experiments
13CFLUX is being developed by the Modelling and Simulation group under the supervision of Katharina Nöh at the
IBG-1, Forschungszentrum Jülich, Germany.
Data formats
Models and labeling data are read from FluxML, a standardized XML format for
13C metabolic flux analysis shared across the 13CFLUX tool family (see the
FluxML paper and the
libFluxML documentation for the full schema).
Results (fluxes, residuals, covariances, sampling output, etc.) are returned as plain numpy arrays and Python
objects rather than written to a fixed file format, so they can be persisted or post-processed with whatever
tooling fits your pipeline, e.g.:
import numpy as np
np.savetxt("fluxes.csv", fluxes, delimiter=",")
Installation
The recommended way for practitioners to install 13CFLUX is via pip from the Python Package Index (PyPI). It is
recommended to do this in a Conda environment. Before installation, you should make sure to have ipopt installed
(either by installing cyipopt via conda or
directly). On macOS (Apple Silicon), Homebrew is an alternative for a global installation: run
brew install ipopt pkgconf.
Then just run
pip install x3cflux
To verify the installation:
python -c "import x3cflux; print(x3cflux.__version__)"
To run the test suite and confirm the software produces correct results, clone the repository and run:
pip install ".[test]"
cd src/test
pytest python
Alternatively, a container image with 13CFLUX pre-installed (built and pushed automatically from every main
commit) is available and requires no local build toolchain:
docker run --rm -it jugit-registry.fz-juelich.de/ibg-1/modsim/fluxomics/13cflux:latest
This drops you into a Python shell with x3cflux ready to import.
Documentation
We provide a Read The Docs documentation. Check it out!
Getting help and contributing
For questions, troubleshooting, and modelling discussions, visit the 13CFLUX forum.
Some categories are currently restricted and require free registration for full access.
Development takes place on JuGit, where we have access to powerful continuous integration and a Docker registry. Please report issues and request features only on JuGit.
Contributions are welcome. CONTRIBUTING.md covers how to get a JuGit account, how to
build and test from source, the branching model, and the formatting and metadata checks that run on every commit.
Participation is governed by our Code of Conduct, and contributions are accepted under
a Contributor License Agreement.
Versioning
13CFLUX follows Semantic Versioning (MAJOR.MINOR.PATCH). Pre-releases (e.g. towards a new
major version) are tagged with an aN suffix, e.g. 3.0.0a0. The package version is not set manually; it is derived
automatically from the git tag of a release via setuptools_scm.
There are no long-term-support (LTS) branches; only the latest release receives fixes (see
SECURITY.md). Every release has an entry in CHANGELOG.md. How releases
are prepared and cut is described in CONTRIBUTING.md.
Citation
Every release is also archived on Zenodo. The concept DOI below always resolves to the latest version; see
CITATION.cff for how to cite a specific version:
If you use this software, please also cite the paper describing it:
@article{Stratmann2025,
author = {Stratmann, Anton and Beyß, Martin and Jadebeck, Johann F and Wiechert, Wolfgang and Nöh, Katharina},
title = {13CFLUX — Third-generation high-performance engine for isotopically (non)stationary 13C metabolic flux analysis},
journal = {Bioinformatics},
pages = {btaf630},
year = {2025},
issn = {1367-4811},
doi = {10.1093/bioinformatics/btaf630},
url = {https://doi.org/10.1093/bioinformatics/btaf630},
}
Metadata
Release files for x3cflux 3.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| x3cflux-3.1.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.14 | CPython 3.14 | Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| x3cflux-3.1.2-cp314-cp314-macosx_14_0_arm64.whl | CPython 3.14 | CPython 3.14 | macOS 14.0+ ARM64 | Details |
| x3cflux-3.1.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| x3cflux-3.1.2-cp313-cp313-macosx_14_0_arm64.whl | CPython 3.13 | CPython 3.13 | macOS 14.0+ ARM64 | Details |
| x3cflux-3.1.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 | Details |
| x3cflux-3.1.2-cp312-cp312-macosx_14_0_arm64.whl | CPython 3.12 | CPython 3.12 | macOS 14.0+ ARM64 | Details |
| x3cflux-3.1.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| x3cflux-3.1.2-cp311-cp311-macosx_14_0_arm64.whl | CPython 3.11 | CPython 3.11 | macOS 14.0+ ARM64 | Details |
| x3cflux-3.1.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.10 | CPython 3.10 | Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| x3cflux-3.1.2-cp310-cp310-macosx_14_0_arm64.whl | CPython 3.10 | CPython 3.10 | macOS 14.0+ ARM64 | Details |
Total release size: 85.8 MB
Release files / x3cflux-3.1.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | x3cflux-3.1.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 12.6 MB |
| Tags | CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
8b8b51e739368ee6bffbbf65f5ec4988b16e221e6e15e4a690d47fa1cb3d6959
|
|
BLAKE2b-256 checksum How to use checksums |
af1affc1a2c6a06ee1d995e90fcbcabd7a6a2b7acf637d701f73932456457458
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|
Release files / x3cflux-3.1.2-cp314-cp314-macosx_14_0_arm64.whl
| Download URL | x3cflux-3.1.2-cp314-cp314-macosx_14_0_arm64.whl |
|---|---|
| Size | 4.6 MB |
| Tags | CPython 3.14 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
fefd3422205b960844608d850a21621bb0954a117644f4e3af641b84fce81aef
|
|
BLAKE2b-256 checksum How to use checksums |
4fb580e0d62ae3eb3f8d50def15a21660dc9e315def4b07934a16e9e75e3c56b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|
Release files / x3cflux-3.1.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | x3cflux-3.1.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 12.6 MB |
| Tags | CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
5a675398074d853b2f7087526c5e2c1b5fcb683f6ddf0afa734ab1a9bbf35d7b
|
|
BLAKE2b-256 checksum How to use checksums |
5f7903d402f40c16145a2a1f5ecb257cec0755739005e6f525905d42bf63d2a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|
Release files / x3cflux-3.1.2-cp313-cp313-macosx_14_0_arm64.whl
| Download URL | x3cflux-3.1.2-cp313-cp313-macosx_14_0_arm64.whl |
|---|---|
| Size | 4.6 MB |
| Tags | CPython 3.13 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
57ae6756f7ba5d0ba4a264fcf626a773e0cdd9f708274e3f710f9cfef813dffc
|
|
BLAKE2b-256 checksum How to use checksums |
0452edcc904619b80a38d80dc11ed6d05fdb942486e75dfdf161fb3ce3c0a09f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|
Release files / x3cflux-3.1.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | x3cflux-3.1.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 12.6 MB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
25a1a97a05198c902a320a7b1bca2b74aafc3761a35fc40a72ce98b505de57c6
|
|
BLAKE2b-256 checksum How to use checksums |
6616986980dfb463b230aed78589b8c8b0c45f4dc0f4d99803580829a3e3d9d9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|
Release files / x3cflux-3.1.2-cp312-cp312-macosx_14_0_arm64.whl
| Download URL | x3cflux-3.1.2-cp312-cp312-macosx_14_0_arm64.whl |
|---|---|
| Size | 4.6 MB |
| Tags | CPython 3.12 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
739436acf1b2a8851000feb510af276078f44e5b492ef25db838b93ac05130e8
|
|
BLAKE2b-256 checksum How to use checksums |
edbfbf176f5c345c1e826441ad333d7c4616c38482da355260934bf37f6f757c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|
Release files / x3cflux-3.1.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | x3cflux-3.1.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 12.6 MB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
265a91476a08ff6e4c50fa77709d58904ae0bbc3f2210882912c83758f077262
|
|
BLAKE2b-256 checksum How to use checksums |
7ce13d70e93b3c9c26ad52d62bd4fbc5dcabb5e82685f4f2b6d23ca3170cd307
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|
Release files / x3cflux-3.1.2-cp311-cp311-macosx_14_0_arm64.whl
| Download URL | x3cflux-3.1.2-cp311-cp311-macosx_14_0_arm64.whl |
|---|---|
| Size | 4.6 MB |
| Tags | CPython 3.11 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
80d1716caa7568cd75a4aeccc218e4614784239e1fb6da33f8726e60c84b14b1
|
|
BLAKE2b-256 checksum How to use checksums |
b164694aa3f01bc8964f5929a1360d741cca23fe07c6ee302b0b1d12bfdffa66
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|
Release files / x3cflux-3.1.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | x3cflux-3.1.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 12.6 MB |
| Tags | CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
549cb4eafd14ed199009cd3f6da417d443c421d7894623b422c37aa8bc69500b
|
|
BLAKE2b-256 checksum How to use checksums |
0ddef37f16ed84a5c5c77f106aee784b06321e02adcdf3b5014970faf684a92e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|
Release files / x3cflux-3.1.2-cp310-cp310-macosx_14_0_arm64.whl
| Download URL | x3cflux-3.1.2-cp310-cp310-macosx_14_0_arm64.whl |
|---|---|
| Size | 4.6 MB |
| Tags | CPython 3.10 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
efa1b36a94e6862e92ad7a364be29900b880f294140d0f3a51723d114f79ba51
|
|
BLAKE2b-256 checksum How to use checksums |
88ab44deeb85ce2bd39c06f688b63a70cfcbd7cbda7874366d0806b118b4feef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|