生物信息学从零开始学小教程收藏rice related analysis

一行命令完成RNAseq数据标记重要基因

2020-08-06  本文已影响0人  邓老师呦

前面介绍了怎么一行命令完成RNAseq差异分析加作图,那如果我们已经有自己重点关注的基因,并且想把这些基因在差异结果里展示出来怎么弄呢?

今天再来介绍一下,做完差异分析之后怎么在差异基因热图中标记自己关注的基因!

一 、准备2个文件:

1、差异基因表达文件:diff_gene_exp.txt

如果是已经跟着做完前面分享的RNAseq差异基因分析,可以直接把差异基因的表达值从总的表达文件中提取出来,生成差异表达文件。

差异表达文件格式如下:


在这里插入图片描述

2、需要标记的基因name文件:gene_name.txt


在这里插入图片描述

二、运行代码

1、这次需要安装R包ComplexHeatmap和circlize。安装命令如下

if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
BiocManager::install("ComplexHeatmap")
install.packages("circlize")

接着将下面代码负责另存为heatmap_mark_gene.r:

library("ComplexHeatmap")
library("circlize")

#读取文件
diff_exp = read.table("diff_gene_exp.txt",header = T, sep="\t",row.names= 1,stringsAsFactors=F)
diff_exp=as.matrix(diff_exp)

#进行zscore归一化
diff_exp_scaled = t(apply(diff_exp, 1, scale)) 
colnames(diff_exp_scaled) = colnames(diff_exp)

#需要标记的基因文件
genes = as.vector(t(read.table("gene_name.txt")))

gene_pos = which(rownames(diff_exp) %in% genes)
ha = rowAnnotation(foo = anno_mark(at = gene_pos, labels = genes))
m=round(max(abs(diff_exp_scaled)))
##画热图
pdf("heatmap_mark_gene.pdf",width=8,height=7,onefile=F)
Heatmap(diff_exp_scaled, colorRamp2(c(-m,0,m),c("blue", "#EEEEEE", "red")),
right_annotation = ha,name = "Z-score",show_row_names =FALSE)
dev.off();

2、将前面准备的2个文件和代码放到同一个文件夹,如果自己的文件名跟前面列的文件名不一致需要先改成一样。

3、代码运行

方法一:RStudio直接运行整个heatmap_mark_gene.r文件夹

方法二:打开DOS运行窗口或者linux服务器窗口,运行命令:

Rscript heatmap_mark_gene.r

三、结果展示

在这里插入图片描述

今天的技能get到了吗?学完这个内容是不是突然发现,这么高大上的图自己也能轻松的画出来呢!

欢迎关注简生信微信公众号,后期有更多的干货等着你哦!

在这里插入图片描述
上一篇下一篇

猜你喜欢

热点阅读