RNA-seq可视化,教你快速入门测序结果分析!
优秀的R包快速解决RNA-Seq下游分析
大家好,我是阿琛。关于RNA测序,差异分析之后,下游的可视化分析往往是一个十分关键而又有一定难度的内容。今天来给大家介绍一个集RNA-Seq的下游可视化和通路分析于一体的新生代R包,即RVA包。
1.1 R包的安装
"RVA") install.packages(
library(RVA)
由于该R包已经被CRAN收录,所以直接使用install.packages()代码即可完成。同时,对于安装过程中缺少的相关依赖包,大家可以根据提示,自己手动进行安装。
1.2 读取示例数据
df <-RVA::Sample_summary_statistics_table
df1 <-RVA::Sample_summary_statistics_table1
df[1:3,]
df1[1:3,]
随后,读取RVA自带的示例数据集。可以看到,两个用于输入分析的数据集均是经过R的DEseq2或limma包差异分析后的统计结果表格,包含了差异倍数(logFC),P值(P.Value),校正后的P值(adj.P.Val)等等。
d1 <- list(df, df1)
随后,将两组分析结果汇总成一个列表(list),作为后续研究分析的输入数据。在该R包分析过程中,除了输入单个分析结果的数据框(data frame)外,还可以将多个分析结果组合成列表后输入。
Cutoff Plot可以分析不同截断值组合情况下差异表达基因的数量,即评估具有不同FDR和倍数变化截止值时差异表达基因的数量。
2.1 以数据框形式输入
cutoff.result <-plot_cutoff(data = df,
gen.plot = TRUE,
gen.3d.plot = TRUE)
在输出的结果中,一共包含了3个不同板块的结果内容:
1. 表格总结了不同阈值组合下差异表达基因数目
head(cutoff.result[[1]])
可以看到,在该表格中展示了在不同的pvalue和FC组合下所得到的差异表达基因数量。
2. 通过3D图形展示分析结果
cutoff.result[[2]]
结果显示:
3. 使用2D图形展示分析结果
cutoff.result[[3]]
结果显示:
2.2 以列表形式输入
cutoff.result.list <- plot_cutoff(data = d1,
comp.names = c('a', 'b'))
当然,我们也可以将两组分析结果以列表的形式进行输入,并将两组分别命名为a和b;同样,我们可以来查看一下最终的分析结果:
1. 以表格的形式汇总了整体的分析结果
head(cutoff.result.list[[1]])
可以看到,在结果中,根据分组名称,分别对不同阈值下的差异表达基因数量进行了汇总分析;
2. 对结果进行可视化展示:与之前结果不同的是,该结果无法以3D的形式进行展示
cutoff.result.list
结果显示:
3.1 以数据框形式输入
plot_volcano(data = df)+
ggplot2::theme_bw()
对于火山图的绘制,直接使用plot_volcano()函数即可快速进行绘制;除了数据框形式输入外,我们也可以尝试将列表d1进行输入绘制。而且,由于整个绘图是基于ggplot2包而构建的,因此我们可以根据需要对其结果进一步进行修改。
3.2 对感兴趣的基因进行标记
除了使用平时标记的显著上下调基因赋予颜色外,在这个R包中还提供了另外一种方法。在RVA包中,存在一个疾病相关基因集合,我们可以对这个集合和差异分析结果进行取交集,对共同的致病基因进行标记,查看他们的上调或下调变化水平。
#疾病相关基因集合
dgs <- RVA::Sample_disease_gene_set
随后,将疾病基因集赋值给参数geneset,即可进行绘制。
df, =
geneset = dgs,
upcolor = "#FF0000",
downcolor = "#0000FF",
xlim = c(-3,3),
ylim = c(0,14))
可以看到,在火山图中,两者的共同基因被标记了出来,而且在疾病中上调基因为红色,下调基为蓝色,结合火山图中该点的位置,可以快速的进行上下调关系的比对。
在RNA-Seq下游的可视化分析过程中,除了火山图,通过热图展示整体的结果内容同样是一个十分常见的内容。在此,可以使用plot_heatmap.expr()函数来进行热图的绘制。而且,plot_heatmap.expr()函数主要基于ComplexHeatmap包的内容来进行构建,得到的图形还是比较美观的。
count <-RVA::count_table
annot <-RVA::sample_annotation
count[1:3,1:3]
str(annot)
首先,读取测序样本的Count数据以及样品的相关处理信息。可以看到,在表达数据中,行名为基因的Ensembl id号,列名为样本名;而在处理信息中,包括了样本信息(Sample id),组织类型(Tissue),时间(Day),以及处理方法(Treatment)等信息内容。
plot_heatmap.expr(data = count,
annot = annot,
sample.id = "sample_id",
annot.flags = c("tissue","day", "Treatment"),
ct.table.id.type = "ENSEMBL",
gene.id.type = "SYMBOL",
gene.names = NULL,
gene.count = 20,
title = "RVA Heatmap",
fill = "CPM",
baseline.flag = "day",
baseline.val = "0",
plot.save.to = NULL,
input.type = "count")
随后,将表达数据count赋值给data参数,将样品信息annot赋值给annot参数,设定样本名为“sample_id”,同时设定输入基因名为ENSEMBL,在热图中输出为SYMBOL形式,并展示差异最显著的前20个基因信息。这样,一张精美的热图就绘制完成了。
除了可视化展示外,该R包还提供了相关通路的富集分析内容。
pathway.result <-plot_pathway(data = df,
pathway.db = "Hallmark",
gene.id.type = "ENSEMBL")
在分析结果中,一共可以得到由5个内容所组成的列表。
pathway.result[[1]]
pathway.result[[2]]
其中,列表的第一个和第二个元素是通路分析的表格结果,分别为具有方向性的分析结果表(分别测试上调的基因组和下调的基因组)和包含所有差异表达基因的无方向性fisher精确计算的与方向无关的富集分析结果。
pathway.result[[3]]
pathway.result[[4]]
pathway.result[[5]]
而后三个结果则是分析结果的可视化展示内容,其中3为有方向性的分析结果可视化,4为无方向性的可视化展示,5为两者的结合。
好啦,关于RVA包的几个常用函数就先介绍到这里了。当然,除了这些功能以外,他还具有其他的分析和可视化功能供大家选择。同时,作为一个新生的R包,相信后面也会得到不断地改进。
回复“阿琛43”即可获得本次的代码内容~~
系列传送门
R语言小白入门课|一刻钟带你学会R数据转化
—
END—
撰文丨阿 琛
排版丨四金兄
值班 | 火 火
主编丨小雪球
2020
感谢所有小伙伴的一路陪伴
开心这一路和大家共同成长
2021
我们仍要一起并肩前行
朝更新的目标一起努力
为了感谢大家一路的支持
在春节大年初五迎财神时
酸谈将进行一场
福利抽奖直播纯抽奖part、全新福利周边
大家一定记得来观看直播奥
直播信息
直播时间:大年初五
直播时间:大年初五
直播地点:B站解螺旋直播间
直播内容:福利直播抽奖party
直播地址:
https://live.bilibili.com/8116225扫码直达直播间
大年初五
不见不散
长按识别二维码免费包邮领取!
最新评论
推荐文章
作者最新文章
你可能感兴趣的文章
Copyright Disclaimer: The copyright of contents (including texts, images, videos and audios) posted above belong to the User who shared or the third-party website which the User shared from. If you found your copyright have been infringed, please send a DMCA takedown notice to [email protected]. For more detail of the source, please click on the button "Read Original Post" below. For other communications, please send to [email protected].
版权声明:以上内容为用户推荐收藏至CareerEngine平台,其内容(含文字、图片、视频、音频等)及知识版权均属用户或用户转发自的第三方网站,如涉嫌侵权,请通知[email protected]进行信息删除。如需查看信息来源,请点击“查看原文”。如需洽谈其它事宜,请联系[email protected]。
版权声明:以上内容为用户推荐收藏至CareerEngine平台,其内容(含文字、图片、视频、音频等)及知识版权均属用户或用户转发自的第三方网站,如涉嫌侵权,请通知[email protected]进行信息删除。如需查看信息来源,请点击“查看原文”。如需洽谈其它事宜,请联系[email protected]。