The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Interactive Volcano Plot

Guangchuang Yu
School of Basic Medical Sciences, Southern Medical University

2025-09-09

Prepare example data

library(airway)
library(DESeq2)
library(org.Hs.eg.db)
library(AnnotationDbi)

data("airway")

counts_mat <- assay(airway)
airway <- airway[rowSums(counts_mat) > 1, ]

dds <- DESeqDataSet(airway, design = ~ cell + dex)
dds <- DESeq(dds)
res <- results(dds, contrast = c("dex", "trt", "untrt"))

df <- as.data.frame(res)
df$gene_id <- rownames(df)
df$symbol <- mapIds(org.Hs.eg.db, 
                    keys = df$gene_id,
                    column = "SYMBOL", 
                    keytype = "ENSEMBL", 
                    multiVals = "first")

df <- df[!is.na(df$symbol), ]
df <- df[, c("log2FoldChange", "padj", "symbol")]

head(df)
                log2FoldChange         padj symbol
ENSG00000000003    -0.38125398 1.281209e-03 TSPAN6
ENSG00000000419     0.20681260 1.962081e-01   DPM1
ENSG00000000457     0.03792043 9.111955e-01  SCYL3
ENSG00000000460    -0.08816818 8.946325e-01  FIRRM
ENSG00000000938    -1.37822703           NA    FGR
ENSG00000000971     0.42640213 1.818075e-05    CFH

Interactive volcano plot

library(ivolcano)

ivolcano(df,
        logFC_col = "log2FoldChange",
        pval_col = "padj",
        gene_col = "symbol",
        top_n = 5,
        onclick_fun=onclick_genecards)

We can use the fanyi package to query NCBI gene description and translated to local language to be displayed on the plot, see also https://yulab-smu.top/ivolcano/.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.