转录因子富集分析
转录因子因子富集分析背后的原理与GO,KEGG等富集分析是一样的。
这里还是使用Y叔的R包“clusterProfiler”。
首先我们要知道哪些基因是转录因子,并且属于哪一个转录因子家族。这个信息可以在这里下载(https://pan.baidu.com/s/12Zi-FvySMuaWyM2b9_2yuA)。这个文件中只需要两列,一列是转录因子家族的名字,一列是基因的名字。根据这个文件,整理出共有多少个转录因子家族,并给每个转录因子家族一个唯一的编号。将编号和名字存入一个新文件。
上面是所有转录因子,首先要筛选出在我们样品中表达的转录因子。
其次需要确认差异表达的转录因子。
最后需要一个转录因子编号和名字的对应文件。
样品中表达的转录因子,输入格式如下:共两列,第一列是转录因子家族编号,第二列是基因ID。其中编号是根据刚刚下载的文件整理而来。即一个基因家族有唯一一个编号。
image-20181113214442331
差异表达的转录因子,输入格式如下:只有一列,基因的ID
image-20181113214653231
还需要是一个转录因子ID和名字的对应文件,输入格式如下:
image-20181113214844642
准备好之后,直接套用GO分析的代码就好。
#设置工作目录
setwd("/Users/markdown/6DS/RNA-seq/DEG3")
#加载需要的R包
library("clusterProfiler")
library(ggplot2)
library(stringr)
#读入差异表达的转录因子,注意这里分隔符是"\t",默认没有表头。如果是逗号分隔符请使用sep=","
gene <- read.csv("NS1vsCT_DEG_TF_list.txt",header=FALSE,sep="\t")
gene <- as.factor(gene$V1)
#读入在样本中表达的转录因子,这一部分即是背景基因
term2gene <- read.csv("NS1vsCT_DEG_TF_background.txt",header=FALSE,sep="\t")
#读入转录因子ID与名字对应的文件
term2name <- read.csv("~/Desktop/scripts/TF_analysis/TF_name.txt",header=FALSE,sep="\t")
#进行富集分析
x <- enricher(gene,TERM2GENE=term2gene,TERM2NAME=term2name)
#富集分析结果保存到文件
out_file <- paste("DEG_NS1vsCT_HC_TF_enricher.out.txt",sep ="\t")
write.csv(x,out_file)
#图片展示
dotplot(x, showCategory=10)
#保存图片
ggsave(filename="DEG_NS1vsCT_HC_TF_enricher_dotplot.png",dpi=600)
dev.off()
结果展示
结果部分其实还有很多形式展示,具体的请见Y叔的R包clusterProfiler的说明。Y叔今年一月份在bioRxiv上在线一篇文章可以参考"clusterProfiler: An universal enrichment tool for functional and comparative study"。
Y叔文中展示的图片
其实基因家族也是可以做富集分析的。只要知道哪些基因属于哪个基因家族就可以了。但是目前,我还没找到相关的文件。唯一想到的是可以根据PFAM ID做,也即蛋白结构域的ID。