ViDGER--直观地可视化差异基因表达结果

2022-03-28 14:58:24 浏览数 (4)

导语

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

0 人点赞