Quick Start
Protein turnover, Proteomics, Mass spectrometry
Installing RIANA
Install Python 3.10+ and pip. See instructions on the Python website for your operating system.
Riana can be installed from PyPI via pip or directly from GitHub. We recommend using a virtual environment.
$ pip install riana
The desktop GUI and the DIA-NN parquet reader ship as optional extras:
$ pip install "riana[gui]" # PySide6 desktop app (riana gui)
$ pip install "riana[dia]" # DIA-NN report.parquet intakeLaunch riana as a console entry point (Usage/Help):
$ riana --helpTo run the Riana test dataset (a single-fraction bovine serum albumin file from a Q-Exactive) and write the results to an out/test/ directory:
$ riana integrate tests/data/sample1/ tests/data/sample1/percolator.target.psms.txt -q 0.1 -i "0 1 2 3 4 5" -o out/test/Processing Data
Project set up
RIANA requires the input mass spectrometry files to be in the mzML format. If you are not familiar with mzML files or received raw mass spectrometry files in vendor-specific formats (e.g., Thermo .raw), you can convert them to mzML using various tools, such as the msconvert tool from the ProteoWizard suite. Please refer to the ProteoWizard documentation for details.
RIANA does not perform the database search itself — peptide identification is owned upstream by established tools. For DDA, run quantms (which wraps the search, FDR control, and produces an mzTab); for DIA, run DIA-NN (which produces a report.parquet). Both are described by an SDRF sample sheet that also carries each run’s metadata (condition, biological replicate, labeling time, acquisition, precursor enrichment). RIANA then reads those identifications and extracts the MS1 isotopomers itself.
Recommended: the SDRF + manifest project workflow
Point integrate at the folder of mzML files, the identification file, and the SDRF. RIANA writes one identity-stamped <run>_riana.txt per run plus a riana_manifest.tsv that chains the downstream steps, so fit and rollup re-group runs from the manifest rather than from filenames:
# 1. Integrate every run (one mzML in memory per worker)
$ riana integrate /path/to/mzml report.mzTab --sdrf samplesheet.sdrf.tsv \
--workers 4 --out ./out
# 2. Fit the kinetic curve per peptidoform
$ riana fit --manifest ./out/riana_manifest.tsv \
--coefficients commerford --ria 0.06 --depth 3 --out ./out
# 3. Roll peptides up to proteins (+ optional cross-condition Δk)
$ riana rollup --manifest ./out/riana_manifest.tsv \
--parsimony unique --method weighted --out ./outFor DIA, supply the DIA-NN report.parquet as the identification file (the SDRF declares the acquisition as DIA); RIANA resolves each apex retention time to the nearest MS1 scan and extracts the envelope the same way. Add --mbr to integrate to recover time points lost to stochastic MS2 sampling (DDA only). For a two-condition design, rollup --model "linear simple" --reference-condition <name> reports a per-protein Δk.
RIANA requires the input mass spectrometry files to be in the mzML format. If you received raw files in vendor-specific formats (e.g., Thermo .raw), convert them with msconvert from the ProteoWizard suite. Use centroided MS1 (peak picking); the integration mass window is calibrated for centroid data and is read from the SDRF’s precursor mass tolerance by default.
Single-fraction (Percolator) path
Without --sdrf, the identification file is read as a Percolator target.psms.txt for a single mzML — a simpler, demoted tier useful for testing:
$ riana integrate /path/to/mzml percolator.target.psms.txt --sample time1 -o ./out
$ riana fit ./out/time0_riana.txt ./out/time1_riana.txt ./out/time3_riana.txt \
--coefficients commerford --ria 0.06 --out ./outOutput
RIANA integrate writes a <run>_riana.txt per run — the identifications appended with one column per integrated isotopomer (iso0, iso1, …, the integrated area of each isotopomer over the retention-time window) plus per-isotopomer mass-accuracy columns, all under a provenance header. The -w flag additionally writes the pre-integration intensity-over-retention-time trace.
RIANA fit writes riana_fit_peptides.txt (best-fit k_deg, R², and confidence bounds per peptidoform) and riana_fit_fractions.txt (the per-timepoint fraction-new θ with prediction intervals). RIANA rollup writes riana_rollup_proteins.txt (protein-level k_deg, and Δk under the linear simple model) and riana_rollup_fractions.txt. The riana_manifest.tsv indexes every stage of the project.
Fitted curves are inspected interactively in the GUI (riana gui) rather than written as static plot files.