Quick Start

RIANA enables protein turnover data analysis from mass spectrometry-based proteomics experiments using metabolic heavy water (D2O) labeling, with DDA (quantms) and DIA (DIA-NN) identification intake.
Author

Edward Lau

Published

Invalid Date

Abstract
This page provides the documentation for the RIANA package, which is a tool for the analysis of stable isotope labeling experiments for protein turnover measurements.
Keywords

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 intake

Launch riana as a console entry point (Usage/Help):

$ riana --help

To 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

TipMass spectrometry files

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.

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 ./out

Output

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.