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.
plotomics ships GPU-accelerated visualization widgets for bioinformatics data. Every widget is an htmlwidget: it works in the RStudio Viewer, R Markdown, Quarto documents, and Shiny apps out of the box.
This vignette walks through four common plot types with synthetic data so you can run every example without any external files.
A volcano plot shows differential-expression results: log2 fold change on the x-axis, statistical significance on the y-axis.
library(plotomics)
set.seed(42)
de <- data.frame(
x = rnorm(5000),
y = abs(rnorm(5000)) * 3,
label = paste0("GENE", seq_len(5000))
)
volcano(de, fc_threshold = 1, label_top_n = 5)The widget renders all 5 000 points on the GPU, so even with hundreds of thousands of genes the plot stays interactive. Threshold lines and gene labels are vector overlays drawn on top.
bioheatmap() displays a numeric matrix as a colormap
texture. Row and column labels come from dimnames.
set.seed(1)
mat <- matrix(rnorm(200 * 50), nrow = 200, ncol = 50)
rownames(mat) <- paste0("gene", seq_len(200))
colnames(mat) <- paste0("sample", seq_len(50))
bioheatmap(mat, z_score = TRUE, colormap = "rdbu")Setting z_score = TRUE normalizes each row before
coloring, which is useful when comparing expression levels across genes
with different baselines. The "rdbu" colormap gives a
red-white-blue diverging scale centered at zero.
A dot plot encodes two values per cell: dot size for the fraction of cells expressing a gene, and dot colour for the expression level.
genes <- c("CD3D", "CD3E", "CD8A", "MS4A1", "CD79A", "LYZ", "CD14")
clusters <- c("CD8 T", "CD4 T", "B", "Mono")
df <- expand.grid(
gene = factor(genes, levels = genes),
cluster = factor(clusters, levels = clusters),
stringsAsFactors = FALSE
)
set.seed(7)
df$pct <- sample(5:95, nrow(df), replace = TRUE)
df$value <- round(runif(nrow(df), 0, 3), 1)
dotplot(df, colormap = "viridis")Row and column order follows the factor levels of gene
and cluster, so you control the layout without sorting the
data frame itself.
embedding() renders a 2-D scatter of reduced-dimension
coordinates. Points are drawn with WebGL, so several hundred thousand
cells stay smooth.
set.seed(3)
n <- 2000
emb <- data.frame(
x = c(rnorm(n/2, -3), rnorm(n/2, 3)),
y = c(rnorm(n/2, 0), rnorm(n/2, 2)),
color = factor(rep(c("Cluster A", "Cluster B"), each = n/2))
)
embedding(emb, point_size = 4)When color is a factor, the legend order and colour
assignment follow the factor levels. This matches the
drop = FALSE convention in ggplot2: unused levels are
preserved and the palette stays stable across subsets.
Every widget comes with a *Output() /
render*() pair for Shiny. A minimal app:
All 15 widgets follow the same pattern: pass a data frame (or matrix), set options, get back an htmlwidget. See the function reference for the full list and their parameters.
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.