Meta-analysis visualization tool with publication-ready customization
MetaVolcanoR combines differential gene, transcript, methylation and protein expression results from multiple studies to identify consistently perturbed genes. It implements three complementary meta-analysis strategies:
All methods exploit volcano plot reasoning for intuitive visualization of meta-analysis results.
# Install devtools if needed
install.packages("devtools")
# Install MetaVolcanoR
devtools::install_github("iza-mcac/MetaVolcanoR")
# Will be available after Bioconductor submission
BiocManager::install("MetaVolcanoR")
library(MetaVolcanoR)
# Load example data (5 studies, ~20k genes each)
data(diffexplist)
# Run Random Effects Model meta-analysis
meta_results <- rem_mv(
diffexp = diffexplist,
metathr = 0.01,
outputfolder = tempdir(),
draw = "HTML"
)
# View interactive volcano plot
meta_results@MetaVolcano
# Explore forest plot for specific gene
draw_forest(meta_results, gene = "MMP9", draw = "PDF")Plot Customization: - Custom color schemes (including colorblind-friendly palettes) - Automatic or manual gene labeling - Adjustable point sizes and plot dimensions - Custom titles and legends
Data Preparation Helpers: - prepare_deseq2() - One-line conversion from DESeq2 results - prepare_limma() - Format limma/voom output - prepare_edger() - Convert edgeR results - prepare_swish() - Convert swish/Fishpond transcript-level results - prepare_limma() - One-line conversion from limma/voom results - prepare_edger() - One-line conversion from edgeR results
Example with customization:
meta_custom <- rem_mv(
diffexp = diffexplist,
metathr = 0.01,
# Customization options:
colors = c(low = "navy", mid = "white", high = "darkred", na = "gray80"),
label_genes = c("MMP9", "COL6A6", "MXRA5"), # Specific genes
label_size = 4,
plot_title = "Disease vs Control Meta-Analysis",
show_legend = TRUE
)📖 Full Tutorial and Examples - Comprehensive vignette with: - Data preparation from DESeq2/limma/edgeR - All three meta-analysis methods explained - Customization gallery - Publication tips
Provide a named list of data frames, each containing: - Gene identifiers (names or IDs) - Log2 fold changes - P-values - Optional: Confidence intervals or variance (required for REM)
Quick data prep from DESeq2:
library(DESeq2)
dds <- DESeq(dds)
res <- results(dds)
# One-line conversion!
deg_table <- prepare_deseq2(res)Most rigorous approach - accounts for between-study heterogeneity.
rem_results <- rem_mv(diffexp = study_list, metathr = 0.01)When to use: You have confidence intervals or standard errors
Fast exploration of cross-study DEG consistency.
vote_results <- votecount_mv(
diffexp = study_list,
pvalue = 0.05,
foldchange = 0.5
)When to use: Quick overview, studies use different platforms
Aggregates p-values (Fisher’s method) and averages fold changes.
comb_results <- combining_mv(
diffexp = study_list,
metafc = "Mean" # or "Median"
)When to use: Focus on statistical evidence aggregation
GPL-3
Contributors: Izabela Mamede, Bárbara Marinho, Cesar Prada, Diogenes Lima, Helder Nakaya
Maintainer (at the moment): Izabela Mamede (iza.mamede@gmail.com)