导航

【转录组入门】8:差异基因结果注释

Posted on 2018-07-03 21:56  微凉charles  阅读(2521)  评论(0编辑  收藏  举报

作业要求:

我们统一选择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)