Skip to contents

Import and preprocessing

Four readers, one output contract. Each converts a quantification report into the same proteomics_data object, so everything downstream is independent of the search engine.

preprocess_spectronaut()
Preprocess Spectronaut reports
preprocess_diann()
Preprocess DIA-NN protein-group matrices
preprocess_tmt()
Preprocess Proteome Discoverer TMT exports
preprocess_lfq()
Preprocess Proteome Discoverer LFQ exports

The analysis pipeline

process_proteomics() runs normalisation, optional batch correction, imputation and differential abundance in order. The individual stages are exported too, for workflows that need them separately.

process_proteomics()
Process proteomics data
normalize_proteomics()
Normalize proteomics data
batch_correct_proteomics()
Batch Correction with BERT
impute_proteomics()
Impute proteomics data
de_analysis_proteomics()
Perform differential expression analysis on proteomics data

Batch effects

Deciding whether a batch effect matters before correcting it: variance decomposition and PCA against the covariates.

pvca_analysis()
PVCA Analysis – Orchestrator
pvca_compute()
Compute PVCA variance components
pvca_plot()
Plot PVCA variance components
pca_covariates_plot()
PCA Plots Colored by Covariates

Choosing a normalisation method

Ranks methods on properties of the data themselves, with no ground truth required. Pass methods to compare the twelve methods; without it the assays already in the object are ranked instead.

normalization_metrics()
Generate quality metric plots for normalization comparison
nm_compute_metrics()
Compute quantitative group-separation metrics per normalization method
nm_prepare_se()
Prepare a SummarizedExperiment from a proteomics_data object
nm_run_normalizations()
Run multiple normalization methods from a baseline assay
import_norm_matrices()
Import normalized matrices into a SummarizedExperiment
nm_rank_final()
Compute a combined final ranking across PCV, PMAD, PEV, Correlation and group-separation (PC1 F-ratio)
nm_rank_pcv()
Rank normalization methods by median PCV (ascending – lower is better)
nm_rank_pmad()
Rank normalization methods by median PMAD (ascending – lower is better)
nm_rank_pev()
Rank normalization methods by median PEV (ascending – lower is better)
nm_rank_cor()
Rank normalization methods by median intragroup correlation (descending – higher is better)
nm_rank_pc1()
Rank normalization methods by PC1 variance explained
nm_rank_mds1()
Rank normalization methods by MDS1 variance explained
nm_plot_final_ranking()
Horizontal bar chart of combined final ranking
nm_plot_metrics()
Bar chart of group-separation metrics per normalization method
nm_plot_boxplot()
Intensity boxplot per method
nm_plot_density()
Density plot per method
nm_plot_correlation()
Intra-group correlation boxplot per method (PRONE-style)
nm_plot_pcv()
PCV boxplot per method (PRONE-style)
nm_plot_pmad()
PMAD boxplot per method (PRONE-style)
nm_plot_pev()
PEV boxplot per method (PRONE-style)
nm_plot_pca()
PCA scatter plot per method
nm_plot_mds()
MDS 2D scatter per method
nm_plot_pc1_ranking()
Horizontal bar chart of PC1 variance ranking
nm_plot_mds1_ranking()
Horizontal bar chart of MDS1 variance ranking
nm_plot_qq()
Q-Q plot per method (NormalyzerDE style)
nm_plot_scatter()
Sample-vs-sample scatter plot per method (NormalyzerDE style)

Choosing an imputation method

Simulated missingness on complete rows. The masking hides observed values, so the ranking measures MAR recovery: use it for the MAR stage, not to choose an MNAR one.

imputation_metrics()
Generate imputation quality metric plots and ranking
im_compute_metrics()
Compute imputation quality metrics (NRMSE, SOR, PSS, ACC_OI)
im_prepare_se()
Build a SummarizedExperiment for imputation benchmarking
import_imp_matrices()
Import imputed matrices into a SummarizedExperiment
im_plot_ranking()
Ranking heatmap of imputation methods
im_plot_metrics()
Faceted bar chart of all 4 imputation quality metrics
im_plot_nrmse()
NRMSE bar plot per imputation method
im_plot_sor()
SOR bar plot per imputation method
im_plot_pss()
PSS bar plot per imputation method
im_plot_acc_oi()
ACC_OI bar plot per imputation method

Benchmarking one pipeline against a spike-in

With a known ground truth, how well a pipeline recovers the expected changes. A positive counts only when it is significant and in the expected direction.

benchmarking_proteomics()
Benchmark Proteomics Differential Expression Results
compute_benchmark_metrics()
Compute benchmark metrics for all comparisons
compute_opdea_metrics()
Compute OpDEA metrics for all comparisons
compute_dispersion_metrics()
Compute dispersion metrics by Comparison x Species
benchmark_heatmap_gg()
Performance Heatmap (ggplot2)
benchmark_confusion_gg()
Confusion Matrix Heatmap (ggplot2)
benchmark_confusion_overall_gg()
Overall Confusion Matrix Heatmap (ggplot2)
benchmark_metrics_bars_gg()
Grouped Metrics Bar Chart (ggplot2)
benchmark_auc_bars_gg()
AUC Bar Chart (ggplot2)
benchmark_roc_gg()
ROC Curves by Comparison (ggplot2)
benchmark_signif_bars_gg()
Significant Proteins Stacked Bars (ggplot2)
benchmark_volcano_hc()
Benchmark Volcano Plot (Highcharter)
benchmark_volcano_hc_list()
List of Benchmark Volcano Plots (Highcharter)

Ranking several pipelines

Comparing normalisation and imputation combinations against each other, with the OpDEA ranking and an extended eleven-metric one.

benchmarking_multiple()
Multiple-method OpDEA Benchmarking
bm_compute_ranking()
Compute OpDEA ranking across multiple methods
bm_compute_extended_ranking()
Compute extended ranking across 11 classification + OpDEA metrics
bm_compute_ranking_by_comparison()
Compute OpDEA ranking separately for each comparison
import_opdea_results()
Import OpDEA metrics from multiple benchmark result folders
import_benchmark_metrics()
Import benchmark metrics from multiple benchmark result folders
import_classified_results()
Import classified results from multiple benchmark result folders
import_confusion_results()
Import confusion matrices from multiple benchmark result folders
bm_plot_ranking_bars()
Bar chart of final ranks
bm_plot_ranking_heatmap()
Heatmap of metric ranks by method
bm_plot_ranking_bars_by_comp()
Bar chart of final ranks for a single comparison
bm_plot_ranking_heatmap_by_comp()
Heatmap of metric ranks for a single comparison
bm_plot_extended_ranking_bars()
Horizontal bar chart of extended combined ranking
bm_plot_extended_ranking_heatmap()
Heatmap of extended ranking (11 metrics)
bm_plot_metrics_comparison()
Boxplot comparison of metric distributions across methods
bm_plot_metrics_heatmap()
Heatmap of aggregated metric values (not ranks)
bm_plot_confusion_stacked()
Stacked bar chart of TP/FP/FN/TN (OpDEA Figure 5 style)
bm_plot_roc()
ROC Curves by Method for a Single Comparison

Interactive figures

Highcharts volcano plots, boxplots and PCA. Each returns a named list, one entry per comparison or mode.

volcano_highchart_list()
Interactive Volcano Plot with Highcharter
boxplot_highchart_list()
Interactive Highcharts Boxplot for Proteomics
pca_highchart()
Interactive PCA Plot with Highcharts
pca_highchart_list()
Build a List of PCA Plots for Multiple Subsets
build_pca_scores()
Build a PCA scores data frame from data in long format

Static figures

Heatmaps through tidyHeatmap and ComplexHeatmap.

proteomics_heatmap()
Create a tidyHeatmap Heatmap for Proteomics
proteomics_heatmap_list()
Build a List of Heatmaps for Several Subsets

Expression patterns

Fuzzy clustering of profiles across conditions, and the join that turns it into the input for a functional analysis.

pattern_profiler_analysis()
Pattern Profiler Analysis
summarize_pattern_profiler()
Summary of the Pattern Profiler data
read_pattern_profiler_data()
Read Pattern Profiler data from a parquet file
cluster_profile_highchart()
Cluster profile plot with Highcharts
cluster_profile_highchart_list()
List of cluster profile plots with Highcharts
cluster_centroids_highchart()
Centroid plot for all the clusters
deps_with_clusters()
Differential abundance with the Pattern Profiler cluster of each protein

Interactive tables

Reactable tables for reviewing results. *_reactable() returns the table alone; *_widget() returns a complete page with a toolbar and Excel export.

results_list_reactable()
Interactive Reactable Table for Differential Expression Results
results_list_widget()
Full Widget with Filters, Search, Export and CSS
protein_list_reactable()
Interactive Reactable Table for Protein_ID Data (post-Spectronaut)
protein_list_widget()
Full Widget for the Protein_ID Table with Filters, Search and Excel Export
quant_list_widget()
Full Widget for the Protein_QUANT Table with the log2 Matrix Appended
summary_list_widget()
Interactive Reactable Table for the Sample Metadata

The .nadia archive

One DuckDB file holding a whole analysis: data, parameters and provenance, with the reconstruction stored as SQL views rather than duplicated rows.

write_nadia()
Write a complete analysis to a single .nadia file
read_nadia()
Read a .nadia file
nadia_result()
Rebuild the processing result from a .nadia file
nadia_preprocessing()
Rebuild the preprocessing object from a .nadia file
nadia_tables()
List the contents of a .nadia file without loading it
nadia_connect()
Open a connection to a .nadia file
nadia_export_parquet()
Export the tables of a .nadia file to Parquet
nadia_add_pattern_profiler()
Add a Pattern Profiler run to an existing .nadia file
nadia_pattern_profiler()
Rebuild the Pattern Profiler table from a .nadia file
nadia_deps_with_clusters()
Differential abundance with clusters, from a .nadia file

Running NADIA from an assistant

The agent skill shipped with the package.

nadia_skill_path()
Locate the NADIA agent skill

Example data

A preprocessed DIA dataset: three conditions, four replicates, 2,000 protein groups, 8.1 % missing. The trimmed reports for all four input formats live in inst/extdata/.

nadia_dia
Example DIA experiment, already preprocessed