Package: NADIA 0.99.1

Sergio Ciordia

NADIA: Missing Value-Aware Differential Abundance Analysis of DIA Proteomics Data

Provides an end-to-end workflow for differential abundance analysis of protein quantification data, with particular attention to missing values in data-independent acquisition (DIA) proteomics. Quantification reports exported from Spectronaut, DIA-NN and Proteome Discoverer for TMT and label-free experiments (DDA/DIA) are converted into a common data structure, normalised, optionally batch-corrected, imputed and analysed using limma or limpa. The package includes individual and two-stage imputation strategies that treat values assumed to be missing at random and missing not at random separately. Data-driven functions evaluate and rank normalisation and imputation workflows using simulated missingness or spike-in datasets with known ground truth, allowing method selection to be justified for each dataset. Results can be explored through interactive Highcharts visualisations, static ggplot2 and ComplexHeatmap figures, and sortable tables.

Authors:Sergio Ciordia [aut, cre]

NADIA_0.99.1.tar.gz
NADIA_0.99.1.zip(r-4.7-any)NADIA_0.99.1.zip(r-4.6-any)NADIA_0.99.1.zip(r-4.5-any)
NADIA_0.99.1.tgz(r-4.6-any)NADIA_0.99.1.tgz(r-4.5-any)
NADIA_0.99.1.tar.gz(r-4.7-any)NADIA_0.99.1.tar.gz(r-4.6-any)
NADIA_0.99.1.tgz(r-4.6-emscripten)
manual.pdf |manual.html✨
DESCRIPTION |NEWS
card.svg |card.png
NADIA/json (API)

# Install 'NADIA' in R:
install.packages('NADIA', repos = c('https://biocstaging.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/sciordia/nadia/issues

Pkgdown/docs site:https://sciordia.github.io

Datasets:
  • nadia_dia - Example DIA experiment, already preprocessed

On CRAN:

Conda:

softwareproteomicsmassspectrometrydifferentialexpressionnormalizationqualitycontrolbatcheffect

6.12 score 51 scripts 46 downloads 2 mentions 111 exports 99 dependencies

Last updated from:c4a896085c. Checks:1 WARNING, 9 OK. Indexed: yes.

TargetResultTimeFilesSyslog
bioc-checksWARNING226
linux-develOK498
source / vignettesOK459
linux-releaseOK621
macos-releaseOK633
macos-oldrelOK478
windows-develOK501
windows-releaseOK646
windows-oldrelOK646
wasm-releaseOK162

Exports:batch_correct_proteomicsbenchmark_auc_bars_ggbenchmark_confusion_ggbenchmark_confusion_overall_ggbenchmark_heatmap_ggbenchmark_metrics_bars_ggbenchmark_roc_ggbenchmark_signif_bars_ggbenchmark_volcano_hcbenchmark_volcano_hc_listbenchmarking_multiplebenchmarking_proteomicsbm_compute_extended_rankingbm_compute_rankingbm_compute_ranking_by_comparisonbm_plot_confusion_stackedbm_plot_extended_ranking_barsbm_plot_extended_ranking_heatmapbm_plot_metrics_comparisonbm_plot_metrics_heatmapbm_plot_ranking_barsbm_plot_ranking_bars_by_compbm_plot_ranking_heatmapbm_plot_ranking_heatmap_by_compbm_plot_rocboxplot_highchart_listbuild_pca_scorescluster_centroids_highchartcluster_profile_highchartcluster_profile_highchart_listcompute_benchmark_metricscompute_dispersion_metricscompute_opdea_metricsde_analysis_proteomicsdeps_with_clustersim_compute_metricsim_plot_acc_oiim_plot_metricsim_plot_nrmseim_plot_pssim_plot_rankingim_plot_sorim_prepare_seimport_benchmark_metricsimport_classified_resultsimport_confusion_resultsimport_imp_matricesimport_norm_matricesimport_opdea_resultsimputation_metricsimpute_proteomicsnadia_add_pattern_profilernadia_connectnadia_deps_with_clustersnadia_export_parquetnadia_pattern_profilernadia_preprocessingnadia_resultnadia_skill_pathnadia_tablesnm_compute_metricsnm_plot_boxplotnm_plot_correlationnm_plot_densitynm_plot_final_rankingnm_plot_mdsnm_plot_mds1_rankingnm_plot_metricsnm_plot_pc1_rankingnm_plot_pcanm_plot_pcvnm_plot_pevnm_plot_pmadnm_plot_qqnm_plot_scatternm_prepare_senm_rank_cornm_rank_finalnm_rank_mds1nm_rank_pc1nm_rank_pcvnm_rank_pevnm_rank_pmadnm_run_normalizationsnormalization_metricsnormalize_proteomicspattern_profiler_analysispca_covariates_plotpca_highchartpca_highchart_listpreprocess_diannpreprocess_lfqpreprocess_spectronautpreprocess_tmtprocess_proteomicsprotein_list_reactableprotein_list_widgetproteomics_heatmapproteomics_heatmap_listpvca_analysispvca_computepvca_plotquant_list_widgetread_nadiaread_pattern_profiler_dataresults_list_reactableresults_list_widgetsummarize_pattern_profilersummary_list_widgetvolcano_highchart_listwrite_nadia

Dependencies:abindassertthatbackportsbase64encBiobaseBiocGenericsbitbit64broombslibcachemclicliprcpp11crayoncurldata.tableDelayedArraydigestdplyrevaluatefarverfastmapfontawesomefsgenericsGenomicRangesggplot2gluegtablehighcharterhighrhmshtmltoolshtmlwidgetsigraphIRangesisobandjquerylibjsonliteknitrlabelinglatticelifecyclelubridatemagrittrMatrixMatrixGenericsmatrixStatsmemoisemimepaletteerpillarpkgconfigprettyunitsprismaticprogresspurrrquantmodR6rappdirsRColorBrewerreactablereactRreadrrematch2rjsonrlangrlistrmarkdownrstudioapiS4ArraysS4VectorsS7sassscalesSeqinfoSparseArraystringistringrSummarizedExperimenttibbletidyrtidyselecttimechangetinytexTTRtzdbutf8vctrsviridisLitevroomwithrxfunXMLxtsXVectoryamlzoo

Batch correction: diagnose, correct, verify
Introduction | Installation | The sample annotation | A simulated batch effect | Step 1: is the design suitable for batch correction? | Step 2: how much variance does the batch explain? | Why the default hides it, and what to do | Step 3: correct, and keep the biology | Protecting a variable inside ComBat | Step 4: verify | Did the batch effect go? | Did the biology survive? | What it changed in the results | Removing two factors, one after the other | Inspecting the correction with PCA | Applying the workflow to a real batch effect | The batch has to be declared, not discovered | The decomposition finds it | Correcting it, and checking against biology | Visual assessment with PCA | Statistical significance and fold-change magnitude | References | Session information

Last update: 2026-09-05
Started: 2026-07-30

An introduction to NADIA
Introduction | Installation | Example data | How missing values are represented | Filtering, log2 transformation and normalisation | Imputation of missing values | The workflow in a single call | Where the processed data are stored | Differential abundance results | Relationship with the missing values | Detection and non-detection patterns between conditions | Visualising the results | Interactive figures | Static figure | Next steps | Session information

Last update: 2026-09-05
Started: 2026-07-30

Benchmarking with a spike-in: scoring against known truth
Introduction | Installation | The experiment | Declaring the truth | Scoring a pipeline | The metrics_table summary | How TP, FP, TN and FN are defined | The confusion plots: the whole picture at once | Species-level confusion plot | Overall confusion plot | The metrics heatmap | The OpDEA metrics | Interpreting ROC curves | The full ROC curve | Zooming into the low-FPR region | Comparing search engines across FPR ranges | Volcano plots as diagnostic tools | Comparing multiple pipelines | Comparing TP, FP, TN and FN | Ranking pipelines with the OpDEA criteria | Comparing saved results and external pipelines | What this benchmark can and cannot show | References | Session information

Last update: 2026-09-05
Started: 2026-07-30

Choosing normalisation and imputation methods
Introduction | Installation and packages | Normalisation | What normalisation does | Normalisation methods available in NADIA | How normalisation methods are evaluated | Comparing normalisation methods with NADIA | Imputation | Why values are missing | How NADIA represents missing intensities | Imputation methods available in NADIA | How imputation methods are evaluated | Comparing imputation methods with NADIA | Applying the selected combination | Effect on differential abundance results | Practical decision guide | References and software | Session information

Last update: 2026-09-05
Started: 2026-07-30

Input formats: Spectronaut, DIA-NN, TMT and LFQ
Introduction | DIA: Spectronaut | DIA: DIA-NN | Declaring the experimental design | TMT: Proteome Discoverer | Label-free: Proteome Discoverer | Where the design comes from | Naming the conditions | Four sources, one common object | Session information

Last update: 2026-09-05
Started: 2026-07-30

Missing values: what they mean and how to fill them
Introduction | Installation | Why values are missing | How NADIA represents missing intensities | Diagnosing missingness in the example data | Data processing shapes the missing-value pattern | Imputation strategies available in NADIA | Why one method may not represent every gap | The default hybrid: combo | softHybrid: a continuous combination | limpa: detection-aware estimates with uncertainty | Choosing among the strategies | References and software | Session information

Last update: 2026-09-05
Started: 2026-07-30

Pattern Profiler: identifying shared protein profiles
Introduction | Setup and example data | Running Pattern Profiler | Selecting proteins for clustering | Choosing the number of clusters | Understanding the soft-clustering output | Visualising the expression patterns | Protein profiles within each cluster | Comparing cluster centroids | Saving and reusing the results | Saving the long-format table as Parquet | Storing Pattern Profiler in a NADIA project | Practical recommendations | References | Session information

Last update: 2026-09-05
Started: 2026-07-30

Results and export: sharing and preserving an analysis
Introduction | Prepare an example analysis | Install and load NADIA | Run the processing workflow | Choose an output for the task | Export tabular results | Choose between TSV and Parquet | Create a set of TSV and/or Parquet files | Archive a complete analysis | Write and read a .nadia file | Restore and verify the result | Inspect stored tables and provenance | Query or extract the archive | Combine differential abundance with clustering | Explore results with interactive tables | Save interactive HTML | Save a complete widget page | Save an individual widget as one file | Preserve reproducibility | References | Session information

Last update: 2026-09-05
Started: 2026-07-30

Visualisation: exploring and presenting results
Introduction | Setup and example data | Installation | Processing the example dataset | Choosing the appropriate visualisation | Interactive and static output | Highcharts licence | Volcano plots | Summarising the selected comparison | Creating and reading the plot | Labelling selected proteins and multiple comparisons | Boxplots of sample distributions | Comparing assays numerically | Creating and reading the boxplot | Principal component analysis | Comparing protein subsets | Creating and reading the PCA plot | Subset modes, ellipses, and sample filtering | Heatmaps | Selecting proteins for the heatmap | Creating and reading a focused heatmap | Annotations and repeated heatmaps | Protein pattern clusters | Building and summarising the example clusters | Comparing cluster centroids | Inspecting representative protein profiles | Colours and consistent presentation | Exporting figures and data | Interactive charts | Static heatmaps | Practical recommendations | Session information

Last update: 2026-09-05
Started: 2026-07-30

Readme and manuals

Help Manual

Help pageTopics
Batch Correction with BERTbatch_correct_proteomics
AUC Bar Chart (ggplot2)benchmark_auc_bars_gg
Confusion Matrix Heatmap (ggplot2)benchmark_confusion_gg
Overall Confusion Matrix Heatmap (ggplot2)benchmark_confusion_overall_gg
Performance Heatmap (ggplot2)benchmark_heatmap_gg
Grouped Metrics Bar Chart (ggplot2)benchmark_metrics_bars_gg
ROC Curves by Comparison (ggplot2)benchmark_roc_gg
Significant Proteins Stacked Bars (ggplot2)benchmark_signif_bars_gg
Benchmark Volcano Plot (Highcharter)benchmark_volcano_hc
List of Benchmark Volcano Plots (Highcharter)benchmark_volcano_hc_list
Multiple-method OpDEA Benchmarkingbenchmarking_multiple
Benchmark Proteomics Differential Expression Resultsbenchmarking_proteomics
Compute extended ranking across 11 classification + OpDEA metricsbm_compute_extended_ranking
Compute OpDEA ranking across multiple methodsbm_compute_ranking
Compute OpDEA ranking separately for each comparisonbm_compute_ranking_by_comparison
Stacked bar chart of TP/FP/FN/TN (OpDEA Figure 5 style)bm_plot_confusion_stacked
Horizontal bar chart of extended combined rankingbm_plot_extended_ranking_bars
Heatmap of extended ranking (11 metrics)bm_plot_extended_ranking_heatmap
Boxplot comparison of metric distributions across methodsbm_plot_metrics_comparison
Heatmap of aggregated metric values (not ranks)bm_plot_metrics_heatmap
Bar chart of final ranksbm_plot_ranking_bars
Bar chart of final ranks for a single comparisonbm_plot_ranking_bars_by_comp
Heatmap of metric ranks by methodbm_plot_ranking_heatmap
Heatmap of metric ranks for a single comparisonbm_plot_ranking_heatmap_by_comp
ROC Curves by Method for a Single Comparisonbm_plot_roc
Interactive Highcharts Boxplot for Proteomicsboxplot_highchart_list
Build the clustering matrix aggregated by conditionbuild_clustering_matrix
Build the output table in LONG formatbuild_long_output
Build a PCA scores data frame from data in long formatbuild_pca_scores
Centroid plot for all the clusterscluster_centroids_highchart
Cluster profile plot with Highchartscluster_profile_highchart
List of cluster profile plots with Highchartscluster_profile_highchart_list
Compute benchmark metrics for all comparisonscompute_benchmark_metrics
Compute the confidence ellipse per groupcompute_confidence_ellipse
Compute dispersion metrics by Comparison x Speciescompute_dispersion_metrics
Compute the convex hull (enclosing polygon) per groupcompute_hulls
Compute OpDEA metrics for all comparisonscompute_opdea_metrics
Configure the colour palette for the clustersconfigure_cluster_palette
Create an ExpressionSet for Mfuzzcreate_expression_set
Perform differential expression analysis on proteomics datade_analysis_proteomics
Differential abundance with the Pattern Profiler cluster of each proteindeps_with_clusters
Detect the condition columns (z-scores)detect_condition_columns
Evaluate a range of cluster numbersevaluate_cluster_range
Extract data from a SummarizedExperimentextract_se_data
Filter features by significancefilter_significant_features
Build the Colour Palette for Categorical Annotationsget_annotation_palette
Build the Colour Palette for the Heatmap Valuesget_heatmap_palette
Compute imputation quality metrics (NRMSE, SOR, PSS, ACC_OI)im_compute_metrics
ACC_OI bar plot per imputation methodim_plot_acc_oi
Faceted bar chart of all 4 imputation quality metricsim_plot_metrics
NRMSE bar plot per imputation methodim_plot_nrmse
PSS bar plot per imputation methodim_plot_pss
Ranking heatmap of imputation methodsim_plot_ranking
SOR bar plot per imputation methodim_plot_sor
Build a SummarizedExperiment for imputation benchmarkingim_prepare_se
Import benchmark metrics from multiple benchmark result foldersimport_benchmark_metrics
Import classified results from multiple benchmark result foldersimport_classified_results
Import confusion matrices from multiple benchmark result foldersimport_confusion_results
Import imputed matrices into a SummarizedExperimentimport_imp_matrices
Import normalized matrices into a SummarizedExperimentimport_norm_matrices
Import OpDEA metrics from multiple benchmark result foldersimport_opdea_results
Generate imputation quality metric plots and rankingimputation_metrics
Impute proteomics dataimpute_proteomics
Merge significance information from DEPs_resultsmerge_significance_info
Add a Pattern Profiler run to an existing '.nadia' filenadia_add_pattern_profiler
Open a connection to a '.nadia' filenadia_connect
Differential abundance with clusters, from a '.nadia' filenadia_deps_with_clusters
Example DIA experiment, already preprocessednadia_dia
Export the tables of a '.nadia' file to Parquetnadia_export_parquet
Rebuild the Pattern Profiler table from a '.nadia' filenadia_pattern_profiler
Rebuild the preprocessing object from a '.nadia' filenadia_preprocessing
Rebuild the processing result from a '.nadia' filenadia_result
Locate the NADIA agent skillnadia_skill_path
List the contents of a '.nadia' file without loading itnadia_tables
Compute quantitative group-separation metrics per normalization methodnm_compute_metrics
Intensity boxplot per methodnm_plot_boxplot
Intra-group correlation boxplot per method (PRONE-style)nm_plot_correlation
Density plot per methodnm_plot_density
Horizontal bar chart of combined final rankingnm_plot_final_ranking
MDS 2D scatter per methodnm_plot_mds
Horizontal bar chart of MDS1 variance rankingnm_plot_mds1_ranking
Bar chart of group-separation metrics per normalization methodnm_plot_metrics
Horizontal bar chart of PC1 variance rankingnm_plot_pc1_ranking
PCA scatter plot per methodnm_plot_pca
PCV boxplot per method (PRONE-style)nm_plot_pcv
PEV boxplot per method (PRONE-style)nm_plot_pev
PMAD boxplot per method (PRONE-style)nm_plot_pmad
Q-Q plot per method (NormalyzerDE style)nm_plot_qq
Sample-vs-sample scatter plot per method (NormalyzerDE style)nm_plot_scatter
Prepare a SummarizedExperiment from a proteomics_data objectnm_prepare_se
Rank normalization methods by median intragroup correlation (descending - higher is better)nm_rank_cor
Compute a combined final ranking across PCV, PMAD, PEV, Correlation and group-separation (PC1 F-ratio)nm_rank_final
Rank normalization methods by MDS1 variance explainednm_rank_mds1
Rank normalization methods by PC1 variance explainednm_rank_pc1
Rank normalization methods by median PCV (ascending - lower is better)nm_rank_pcv
Rank normalization methods by median PEV (ascending - lower is better)nm_rank_pev
Rank normalization methods by median PMAD (ascending - lower is better)nm_rank_pmad
Run multiple normalization methods from a baseline assaynm_run_normalizations
Generate quality metric plots for normalization comparisonnormalization_metrics
Normalize proteomics datanormalize_proteomics
Pattern Profiler Analysispattern_profiler_analysis
PCA Plots Colored by Covariatespca_covariates_plot
Interactive PCA Plot with Highchartspca_highchart
Build a List of PCA Plots for Multiple Subsetspca_highchart_list
Prepare Long-Format Data for tidyHeatmapprepare_heatmap_data
Preprocess DIA-NN protein-group matricespreprocess_diann
Preprocess Proteome Discoverer LFQ exportspreprocess_lfq
Preprocess Spectronaut reportspreprocess_spectronaut
Preprocess Proteome Discoverer TMT exportspreprocess_tmt
Print a summary of a DIA-NN preprocessing resultprint.diann_data
Print a summary of an LFQ preprocessing resultprint.lfq_data
Print a summary of a '.nadia' fileprint.nadia_db
Draw a proteomics heatmapprint.proteomics_heatmap
Print method for proteomics_resultprint.proteomics_result
Print a summary of a Spectronaut preprocessing resultprint.spectronaut_data
Print a summary of a TMT preprocessing resultprint.tmt_data
Process proteomics dataprocess_proteomics
Interactive Reactable Table for Protein_ID Data (post-Spectronaut)protein_list_reactable
Full Widget for the Protein_ID Table with Filters, Search and Excel Exportprotein_list_widget
Create a tidyHeatmap Heatmap for Proteomicsproteomics_heatmap
Build a List of Heatmaps for Several Subsetsproteomics_heatmap_list
PVCA Analysis - Orchestratorpvca_analysis
Compute PVCA variance componentspvca_compute
Plot PVCA variance componentspvca_plot
Full Widget for the Protein_QUANT Table with the log2 Matrix Appendedquant_list_widget
Read a '.nadia' fileread_nadia
Read Pattern Profiler data from a parquet fileread_pattern_profiler_data
Interactive Reactable Table for Differential Expression Resultsresults_list_reactable
Full Widget with Filters, Search, Export and CSSresults_list_widget
Run Mfuzz clusteringrun_mfuzz_clustering
Select the optimal number of clustersselect_optimal_clusters
Standardise an ExpressionSet (row-wise z-score)standardize_eset
Summary of the Pattern Profiler datasummarize_pattern_profiler
Interactive Reactable Table for the Sample Metadatasummary_list_widget
Interactive Volcano Plot with Highchartervolcano_highchart_list
Wrap a Heatmap Together With Its Titlewrap_heatmap_with_title
Write a complete analysis to a single '.nadia' filewrite_nadia