ProteoFlux is an open-source Python framework for transparent, reproducible downstream analysis of quantitative proteomics data.
It operates on quantitative outputs generated by upstream search and quantification tools and provides a unified workflow for:
- Protein-centric proteomics
- Peptide-centric analyses
- Phosphoproteomics (with optional protein-level covariate adjustment)
- PELSA analyses
ProteoFlux emphasizes:
- Explicit data semantics
- Transparent preprocessing
- Deterministic statistical modeling
- Fully reproducible outputs
ProteoFlux takes a single YAML configuration file and produces:
- Harmonized and preprocessed quantification data
- Differential expression results using a limma-based empirical Bayes framework
- Principal component analysis (PCA), multidimensional scaling (MDS), and hierarchical clustering
- A structured multi-page PDF report
- Portable
.h5adfiles compatible with ProteoViewer - Summary tables in Excel
Python ≥ 3.9 required.
git clone https://github.com/afanc/proteoflux.git
cd proteoflux
pip install -e .This installs ProteoFlux in editable mode.
List available configuration templates:
proteoflux templatesCreate a template:
proteoflux init spectronaut-proteomics --path config.yamlEdit the file and then run the full pipeline:
proteoflux run --config config.yaml| File | Description |
|---|---|
*.h5ad |
Full AnnData object with raw, normalized, imputed data, statistics, embeddings, and metadata |
*.xlsx |
Differential expression summary table |
*.pdf |
Multi-page QC and analysis report |
The .h5ad files are compatible with ProteoViewer, an interactive visualization tool for ProteoFlux outputs.
ProteoFlux can also be used programmatically:
import yaml
from proteoflux.main import run_pipeline
config = yaml.safe_load(open("config.yaml")) #or use a dict
run_pipeline(config)This allows:
- Integration into larger workflows
- Batch processing
- Use inside Jupyter notebooks
- Custom downstream analysis of AnnData objects
All behavior is controlled by the same YAML schema used by the CLI.
All parameters are defined in a single YAML configuration file. We recommend starting with a template:
proteoflux templates
proteoflux init TEMPLATE_NAMEFull parameter reference:
See the configuration guide docs/CONFIGURATION.md.
Runnable, reduced example datasets and matching configs are provided under examples/:
examples/searle_small/: small DIA proteomics example (Spectronaut export subset)examples/phospho_small/: phosphoproteomics example with an injected flow-through covariate run (Spectronaut export subsets)examples/pelsa_small/: small pelsa analysis example (Spectronaut export subsets)
Each example folder contains a README.md with a minimal command to run the pipeline (typically proteoflux run --config <config>.yaml) and the required input files (data + annotation, if applicable).
The manuscript source is provided as paper.md.
ProteoViewer is released under the MIT License. See the LICENSE file for details.
If you use ProteoFlux in your work, please cite:
ProteoFlux (latest version).
Zenodo. https://doi.org/10.5281/zenodo.18640998
