【轉錄組入門】8:差異基因結果注釋


作業要求:

我們統一選擇p<0.05而且abs(logFC)大於一個與眾的基因為顯著差異表達基因集,對這個基因集用R包做KEGG/GO超幾何分布檢驗分析。

然后把表達矩陣和分組信息分別作出cls和gct文件,導入到GSEA軟件分析。

基本任務是完成這個分析。

 

 

【1】環境准備

1 >source(“https://bioconductor.org/biocLite.R”)     # 載入安裝工具
2 >biocLite(“clusterProfiler”)     # 安裝包
3 >biocLite(“org.Hs.eg.db”)    # 物種是人,用Hs;根據物種選擇包
4 >library(clusterProfiler)   # 加載包
5 >library(org.Hs.eg.db)
6 
7 # 初次安裝和加載這兩個包,會需要額外加載幾個別的包
8 # 分別install.packages("xxx") 或 library("xxx")即可

 

 【2】gene_id 轉換

GO富集分析必須要用ENTREZID

最常見的是ENSEMBL,ENTREZID兩大類。

ENTREZID=keg=ncbi-geneid,它們三者id相同

 1 # 查看數據庫的id類型
 2 > keytypes(org.Hs.eg.db)
 3 # select()函數和bitr()函數都可以進行id轉換
 4 > gene_id <- diff_gene$row.names     # gene_id是character
 5 
 6 > gene <- select(org.Hs.eg.db,keys=gene_id,columns="ENTREZID",keytype="ENSEMBL")
 8 # org.Hs.eg.db: 是數據庫類型。   Keys:輸入的gene_id文件。
 9 # Columns:是轉換后的id類型。   Keytype:是轉換前的id類型
10 
11 > gene <- bitr(gene_id, OrgDb=org.Hs.eg.db, fromType="ENSEMBL",toType="ENTREZID")
13 # gene_id:是輸入的gene_id文件。   OrgDb:是數據庫類型。
14 # fromType:是轉換前的id類型。  toType:轉換后的id類型。

# 上面的“gene_id”也可以通過下面的方式輸入:
> gene_id <- c("ENSG00000153707")

 

【3】GO富集分析及畫圖

GO富集要使用ENTREZID

 1 # GO富集分析
 2 > ego <- enrichGO(gene,OrgDb,keytype=”ENTREZID”,ont=”MF”,pvalueCutoff=0.01,pAdjustMethod=”BH”,qvalueCutoff=0.05,
 3 minGSSize=1,readable=FALSE)
 4 # gene:是差異基因的id。  Orgdb:物種注釋數據庫類型
 5 # Ont:有三種,生物過程(BP),細胞組分(CC),分子功能(MF)
 6 # Keytype:geneid類型。   pAdjustMethod:P值校正方法。
 7 
 8 # 實際代碼
 9 > ego <- enrichGO(gene=ENTREZID_id2$ENTREZID,OrgDb=org.Hs.eg.db,ont="MF",readable=TRUE)
10 # 將GO結果寫入csv文件
11 > write.csv(as.data.frame(ego),”enrich-GO.csv”,row.names=F)
12 
13 
14 # 畫圖
15 # 氣泡圖
16 > dotplot(ego,font.size=10)     
17 # 網絡圖
18 > enrichMap(ego,vertex.label.cex=1.2,
19 layout=igraph::layout.kamada.kawai)

【4】KEGG(pathway)分析

 1 # KEGG富集分析 
 2 > ekk <- enrichKEGG(gene,organism=”human”,pavlueCutoff=0.01,qvalueCutoff=0.05,minGSSize=1)
 4 # 物種是人,使用organism=”human”,其他所有物種縮寫看官網
 5 KEGG Organisms: Complete Genomes
 6 https://www.genome.jp/kegg/catalog/org_list.html
 7 
 8 # 將KEGG結果寫入csv文件
 9 > write.csv(as.data.frame(ekk),”enrich-KEGG.csv”,row.names=F)
10 
11 # 畫圖
12 > dotplot(ekk,font.size=5)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM