fun_proteomics

fun_proteomics ↗

Set up. Check. Run. Find your results.

Install from PyPI · MIT license

DDA-PASEF · DIA-PASEF · RAW BAF · SERVICE BENCHMARKS

From inputs to protein and gene results

Analyze raw Bruker acquisitions or a quantification matrix. Get every condition comparison, quality control and matched service detection benchmarks. Every matrix is available as CSV and TSV.

1. Install once

Linux and Python 3.11 or newer:

pip install --upgrade fun_proteomics
fun_proteomics install --conda
fun_proteomics doctor

Python environments, requirements and existing runtimes

REAL PUBLISHED LFQ DATA

Try a small complete analysis

Download 12 ubiquitin-affinity samples: four conditions and three experimental replicates per condition. The archive includes quantities, sample assignments, checksums, original source files and attribution.

wget https://github.com/cfarkas/fun_proteomics/releases/download/v0.9.0/ubiquitin-lfq-example.tar.gz
wget https://github.com/cfarkas/fun_proteomics/releases/download/v0.9.0/ubiquitin-lfq-example.tar.gz.sha256
sha256sum -c ubiquitin-lfq-example.tar.gz.sha256
tar -xzf ubiquitin-lfq-example.tar.gz

Watch the interactive walkthrough. Open the browser once with fun_proteomics setup, then choose the extracted files and a new output/project folder, such as ubiquitin-study. The recording runs the complete matrix analysis on this real download.

Step-by-step guide and expected outputs

2. Set up your analysis

Choose one launch method. --project is your output folder. setup --outdir is equivalent. Use a new project for a new analysis.

A) Interactive settings

Watch the embedded walkthrough above. Open the browser with fun_proteomics setup, then make your choices in the page.

  1. Choose a matrix, raw-data folder or previous run, and review the output folder.
  2. Click Discover samples, then drag sample cards into condition columns. Add or rename conditions; move exclusions to Unassigned. A sample table can prefill assignments.
  3. Choose independent samples or paired matrix/BAF comparisons with donor IDs. Four conditions produce six condition pairs at each feature level.
  4. Click Save configuration and check, then Run / continue analysis.
  5. Open Results or Matrices · CSV & TSV in the same page.

Keep the terminal open during setup. Browse paths refer to the computer running the analysis.

Inputs, donors, technical injections and SSH browser access

B) Terminal questions

fun_proteomics setup --terminal --project /data/my-study --run

Answer the questions about inputs, conditions, replicate design and output folder. This works over SSH. Omit --run to save and review first.

C) Full command-line options

fun_proteomics setup --non-interactive --project /data/my-study \
  --mode matrix --matrix /data/proteins.csv --samples /data/samples.csv \
  --independent-samples --normalization none \
  --cpus 8 --memory-gib 32 --run

Example input files (illustrative intensity values):

samples.csv — one row per sample:

sample_id,condition
C1,Control
C2,Control
T1,Treatment
T2,Treatment

proteins.csv — one row per protein group:

Protein.Group,Genes,C1,C2,T1,T2
P04637,TP53,120000,135000,260000,245000
P60709,ACTB,480000,505000,490000,510000
P02768,ALB,90000,85000,,100000

Each sample_id must exactly match a quantity column in proteins.csv. Use non-log-transformed intensities; leave missing measurements blank. Genes is optional: include gene symbols here or supply a matching FASTA with GN= annotations for gene-level results.

For paired matrix/BAF data, add a donor column to the sample table and replace --independent-samples with --subject-column donor. Add --service-matrix /data/provider.tsv for a matched service benchmark.

Preview the optional service table

provider.tsv — illustrative quantities using the same samples:

Protein.Group	Genes	C1	C2	T1	T2
P04637	TP53	120000	135000	260000	245000
P60709	ACTB	480000	505000	490000	510000

Excel worksheets and service sample mappings

Check and run saved settings
fun_proteomics check --config /data/my-study/config/run.json
fun_proteomics run --config /data/my-study/config/run.json

config/run.json — generated excerpt; setup fills the complete file:

{
  "project": "/data/my-study",
  "mode": "matrix",
  "matrix": "/data/proteins.csv",
  "samples": "/data/samples.csv"
}

Input file and complete configuration previews

Complete options and raw DIA/DDA/BAF commands

3. Find results and continue

my-study/START_HERE.html
my-study/MATRICES.html

The matrix catalogue links directly to CSV and TSV files. Detailed outputs live in results/final_results/.

fun_proteomics --continue /data/my-study

Verified native results and complete BAF searches are reused. Raw PASEF runs resume their Nextflow session.

Output guide · Integrity and recovery

Watch the interactive walkthroughs

The real-data quick start above runs a published dataset. The four additional captioned recordings below use synthetic examples. Use full screen for the clearest view.

SYNTHETIC MATRIX EXAMPLE

Browser: from a matrix to all-pairs results

Discover matrix samples, drag them into three conditions, run every pair, open CSV/TSV matrices, and reuse the completed results.

TERMINAL / SSH

Terminal: interactive launch and continuation

Follow the questions and then reuse the completed project with --continue. This replays an actual terminal session at a readable pace.

RAW DIA SETUP ONLY

Raw DIA: scan acquisitions and save an analysis

Scan folders, drag acquisition cards into conditions, select a FASTA and check the project. This demo uses synthetic acquisition metadata and stops before spectrum searching.

RAW BAF SETUP ONLY

Raw BAF: technical injections and paired donors

Group technical injections under biological sample IDs, assign donors, choose an output folder, and review all six condition pairs. Synthetic placeholders are never searched.

Raw BAF and service benchmarks

The BAF chapter collects installation, input examples, setup, search, outputs and continuation in one place.

Raw BAF guide · Benchmark any run against a service