导语
GUIDE ╲
进行差异基因表达 (DGE) 是 RNA 测序 (RNA-seq) 数据最常见的应用之一。
背景介绍
差异基因表达 (DGE) 是 RNA 测序 (RNA-seq) 数据最常见的应用之一。 由于对RNA-seq数据进行分析的工具种类繁多以及得到的结果文件中提供了大量信息,导致对DGE 结果的解释可能不直观且耗时。在这里,小编给大家介绍一个 R 包 ViDGER,包含九个函数,这些函数可以进行信息丰富的可视化,用于解释来自三个广泛使用的差异表达工具 Cuffdiff、DESeq2 和 edgeR 的 DGE 结果。
R包安装
代码语言:javascript复制if (!requireNamespace("BiocManager", quietly=TRUE))
install.packages("BiocManager")
BiocManager::install("vidger")
##新版
if (!require("devtools")) install.packages("devtools")
devtools::install_github("btmonier/vidger", ref = "devel")
可视化展示
01
boxplot
使用 vsBoxPlot() 函数确定 FPKM 或 CPM 值的分布(修改type,可以选择Cuffdiff、DESeq2 和 edgeR方法)
代码语言:javascript复制vsBoxPlot(
data = df.cuff, d.factor = NULL, type = 'cuffdiff', title = TRUE,
legend = TRUE, grid = TRUE
)
代码语言:javascript复制data("df.edger")
vsBoxPlot(
data = df.edger, d.factor = NULL, type = "edger", title = TRUE,
legend = TRUE, grid = TRUE, aes = "boxdot"
)
代码语言:javascript复制data("df.edger")
##画小提琴
vsBoxPlot(
data = df.edger, d.factor = NULL, type = "edger", title = TRUE,
legend = TRUE, grid = TRUE, aes = "viosumm"
)
代码语言:javascript复制data("df.edger")
##颜色设置
vsBoxPlot(
data = df.edger, d.factor = NULL, type = "edger", title = TRUE,
legend = TRUE, grid = TRUE, aes = "viosumm", fill.color = "Paired"
)
02
scatter plot
基本散点图函数 vsScatterPlot()
代码语言:javascript复制vsScatterPlot(
x = 'hESC', y = 'iPS', data = df.cuff, type = 'cuffdiff',
d.factor = NULL, title = TRUE, grid = TRUE
)
vsScatterMatrix()是vsScatterPlot() 函数的扩展
代码语言:javascript复制vsScatterMatrix(
data = df.cuff, d.factor = NULL, type = 'cuffdiff',
comp = NULL, title = TRUE, grid = TRUE, man.title = NULL
)
03
差异基因表达矩阵
使用 vsDEGMatrix() 函数可视化每个实验处理水平的差异表达基因 (DEG) 的数量。
代码语言:javascript复制vsDEGMatrix(
data = df.deseq, padj = 0.05, d.factor = 'condition',
type = 'deseq', title = TRUE, legend = TRUE, grid = TRUE
)
04
MA Plots
vsMAPlot() 根据基因表达值可视化两个样本之间的差异
代码语言:javascript复制vsMAPlot(
x = 'treated_paired.end', y = 'untreated_paired.end',
data = df.deseq, d.factor = 'condition', type = 'deseq',
padj = 0.05, y.lim = NULL, lfc = NULL, title = TRUE,
legend = TRUE, grid = TRUE
)
代码语言:javascript复制 vsMAMatrix(
data = df.cuff, d.factor = NULL, type = 'cuffdiff',
padj = 0.05, y.lim = NULL, lfc = 1, title = TRUE,
grid = TRUE, counts = TRUE, data.return = FALSE
)
05
volcano plots
使用 vsVolcano() 函数进行可视化,根据基因表达值可视化两个样本之间的方差,其中计算的 p 值(y 轴)的 -log10 是针对 log2 变化(x 轴)绘制的。
代码语言:javascript复制vsVolcano(
x = 'iPS', y = 'hESC', data = df.cuff, d.factor = NULL,
type = 'cuffdiff', padj = 0.05, x.lim = NULL, lfc = NULL,
title = TRUE, legend = TRUE, grid = TRUE, data.return = FALSE
)
代码语言:javascript复制vsVolcanoMatrix(
data = df.cuff, d.factor = NULL, type = 'cuffdiff',
padj = 0.05, x.lim = NULL, lfc = NULL, title = TRUE,
legend = TRUE, grid = TRUE, counts = TRUE
)
06
highlight数据点
代码语言:javascript复制data("df.cuff")
hl <- c(
"XLOC_000033",
"XLOC_000099",
"XLOC_001414",
"XLOC_001409"
)
vsScatterPlot(
x = "hESC", y = "iPS", data = df.cuff, d.factor = NULL,
type = "cuffdiff", title = TRUE, grid = TRUE, highlight = hl
)
代码语言:javascript复制hl <- c(
"FBgn0036248",
"FBgn0026573",
"FBgn0259742",
"FBgn0038961",
"FBgn0038928"
)
vsVolcano(
x = "treated_paired.end", y = "untreated_paired.end",
data = df.deseq, d.factor = "condition",
type = "deseq", padj = 0.05, x.lim = NULL, lfc = NULL,
title = TRUE, grid = TRUE, data.return = FALSE, highlight = hl
)
小编总结
ViDGER包封装了多种绘图函数,基本可以满足我们对差异基因可视化的各种需求!大家快快拿去试试吧!
END