最近咱們《生信技能樹》的VIP答疑群,有這樣的提問:
我覺得很有代表性,很多人僅僅是學(xué)了個皮毛,知道是需要進行ID轉(zhuǎn)換,也能夠運行代碼。但是卻搞不懂,不理解自己為什么進行ID轉(zhuǎn)換,以及做了ID轉(zhuǎn)換后是為了方便什么樣的后續(xù)分析!
在教程《研究最熱門的基因是什么》里面,我提到了普通的詞云展現(xiàn)的基因是 Entrez Gene,絕大部分人是沒辦法一目了然的去認識它,比如這個時候雖然知道研究最多的是7157和 7124 這兩個基因,但是一般人是沒辦法認識這兩個數(shù)字背后的基因啦。
所以,我們需要理所當(dāng)然的做一個ID轉(zhuǎn)換,如下所示的代碼:
library(org.Hs.eg.db)
ids=toTable(org.Hs.egSYMBOL)
head(ids)
tbs=merge(ids,tb,by='gene_id')
wordcloud(words = tbs$symbol, freq = tbs$Freq, min.freq = 1,
max.words=200, random.order=FALSE, rot.per=0.35,
colors=brewer.pal(8, "Dark2"))
重新出圖很清晰的看到了最熱門的基因就是TP53
這就是我們常見的GO/KEGG的數(shù)據(jù)庫注釋分析,我們這個時候并不會關(guān)心具體基因的名字,因為哪怕是正常的基因symbol,如果是成百上千個基因給到你,人力也是不可能是去全部記憶。但是把他們注釋到數(shù)據(jù)庫,就方便看他們整體的功能啦!
在:差異分析要的是表達量矩陣,基因名字并不重要啊,我提到過其實這樣的注釋并不一定要進行ID轉(zhuǎn)換,因為只需要ID是一以貫之的即可:
通常情況下,我們是拿到了上下調(diào)基因集合,去做GO和KEGG數(shù)據(jù)庫注釋,如果是人類數(shù)據(jù),下面是一個示例代碼:
gene_up=rownames(deg[deg$avg_logFC>0,])
gene_down=rownames(deg[deg$avg_logFC < 0,])
library(org.Hs.eg.db)
#把SYMBOL改為ENTREZID,這里會損失一部分無法匹配到的
gene_up=as.character(na.omit(AnnotationDbi::select(org.Hs.eg.db,
keys = gene_up,
columns = 'ENTREZID',
keytype = 'SYMBOL')[,2]))
gene_down=as.character(na.omit(AnnotationDbi::select(org.Hs.eg.db,
keys = gene_down,
columns = 'ENTREZID',
keytype = 'SYMBOL')[,2]))
# 人家的包就是 entrez ID 設(shè)計
library(clusterProfiler)
#對正相關(guān)基因進行富集分析
go <- enrichGO(gene_up, OrgDb = "org.Hs.eg.db", ont="all")
library(ggplot2)
library(stringr)
barplot(go, split="ONTOLOGY")+ facet_grid(ONTOLOGY~., scale="free")+
ggsave('gene_up_GO_all_barplot.png')
go=DOSE::setReadable(go, OrgDb='org.Hs.eg.db',keyType='ENTREZID')
write.csv( go@result,file = 'gene_up_GO_all_barplot.csv')
#對負相關(guān)基因進行富集分析
go <- enrichGO(gene_down, OrgDb = "org.Hs.eg.db", ont="all")
barplot(go, split="ONTOLOGY")+ facet_grid(ONTOLOGY~., scale="free")+
ggsave('gene_down_GO_all_barplot.png')
go=DOSE::setReadable(go, OrgDb='org.Hs.eg.db',keyType='ENTREZID')
write.csv( go@result,file = 'gene_down_GO_all_barplot.csv')
如果是其它物種,尤其是小眾的,可能是得自己慢慢摸索了。
如果你是需要做GO/KEGG的數(shù)據(jù)庫注釋分析,其實絕大部分lncRNA本來就是并不會出現(xiàn)在主流的GO/KEGG的數(shù)據(jù)庫,你把它的ID變來變?nèi)ザ际且粯拥慕Y(jié)果哈!
大量lncRNA的功能是未知的,但是它們主要是cis-regulators,所以可以根據(jù)它們臨近的蛋白編碼基因功能來近似推斷,然后表達量的相關(guān)性也可以類推到。
如果是根據(jù)位置關(guān)系推斷,使用bedtools等工具!
如果是感覺表達量的相關(guān)性,可以看數(shù)據(jù)庫。比如雜志Cancer Medicine, 2020的文章《 Genome-wide DNA methylation analysis by MethylRad and the transcriptome profiles reveal the potential cancer-related lncRNAs in colon cancer》,在進行結(jié)直腸癌相關(guān)lncRNA的功能富集分析,就是采用LncRN2Target v2.0和StarBase分析與15個lncRNA共表達的蛋白編碼基因,其中l(wèi)ncRNA HULC和ZNF667-AS1分別鑒定到28個、9個共表達的蛋白編碼基因!
與十萬人一起學(xué)生信,你值得擁有下面的學(xué)習(xí)班:
聯(lián)系客服