专栏首页R语言___生物信息基因功能富集分析-R语言
原创

基因功能富集分析-R语言

##安装bioconductor上的包;
source(“http://bioconductor.org/biocLite.R”)
biocLite(“clusterprofiler”)
biocLite("org.Hs.eg.db")#人基因名称等信息包;
##加载clusterprofiler包到当前工作路径;
library(clusterprofiler)#基因富集分析用;
library(org.Hs.eg.db)
#读入需要分析的数据,包含一列基因名称的列表;
a <- read.table(file.choose(),header = F,colClasses = "character")
#a <- read.table(file.choose(),header = F,colClasses = c("V1"= "character")),只设置第一列值为字符型;
###选取基因列的所有行
b <- a[,1]
###利用bitr函数将基因名称转换为ENTREZID号;物种是人org.Hs.eg.db;
eg = bitr(b,fromType = "SYMBOL",toType = "ENTREZID",OrgDb = "org.Hs.eg.db")
#可能会有部分基因对应不到ENTREZID,0.4% of input gene IDs are fail to map...
###转换后的基因名称保存为文档;
write.table(eg,file = "test_id.txt")
gene <- eg[,2]
###进行GO和KEGG分析;
library(clusterProfiler)
library(org.Hs.eg.db)
a <- read.table(file.choose(),header = F,colClasses = c("V1"= "character"))
b <- a[,1]
eg <- bitr(b,fromType = "SYMBOL",toType = "ENTREZID",OrgDb = "org.Hs.eg.db")
gene <- eg[,2]
ego_CC <- enrichGO(gene = gene,
                   OrgDb=org.Hs.eg.db,
                   ont = "CC",
                   pAdjustMethod = "BH",
                   minGSSize = 1,
                   pvalueCutoff = 0.01,
                   qvalueCutoff = 0.01,
                   readable = TRUE)
write.csv(as.data.frame(ego_CC),row.names = F, file = "ego_CC.csv")
barplot(ego_CC,drop = TRUE,title = "enrichment_CC",showCategory = 12)

ego_BP <- enrichGO(gene = gene,
                   OrgDb=org.Hs.eg.db,
                   ont = "BP",
                   pAdjustMethod = "BH",
                   minGSSize = 1,
                   pvalueCutoff = 0.01,
                   qvalueCutoff = 0.01,
                   readable = TRUE)
write.csv(as.data.frame(ego_BP),row.names = F, file = "ego_BP.csv")
barplot(ego_BP,drop = TRUE,title = "enrichment_BP",showCategory = 12)

ego_MF <- enrichGO(gene = gene,
                   OrgDb=org.Hs.eg.db,
                   ont = "MF",
                   pAdjustMethod = "BH",
                   minGSSize = 1,
                   pvalueCutoff = 0.01,
                   qvalueCutoff = 0.01,
                   readable = TRUE)
write.csv(as.data.frame(ego_MF),row.names = F, file = "ego_MF.csv")
barplot(ego_MF,drop = TRUE,title = "enrichment_MF",showCategory = 12)

kk <- enrichKEGG(gene = gene,
                 organism ="hsa",
                 pvalueCutoff = 0.01,
                 qvalueCutoff = 0.01,
                 minGSSize = 1,
                 #readable = TRUE ,
                 use_internal_data = FALSE)
write.csv(as.data.frame(kk),row.names = F, file = "kk.csv")
barplot(kk,drop = TRUE,title = "enrichment_kegg",showCategory = 12)

###DisGeNET4 is an integrative and comprehensive resources of gene-disease associations from several public data sources and the literature. It contains gene-disease associations and snp-gene-disease associations.
###The enrichment analysis of disease-gene associations is supported by the enrichDGN function and analysis of snp-gene-disease associations is supported by the enrichDGNv function.
dgn <- enrichDGN(gene = gene,
                 pAdjustMethod = "BH",
                 pvalueCutoff = 0.05,
                 qvalueCutoff = 0.05,
                 readable = TRUE)
head(dgn)

write.csv(as.data.frame(dgn),row.names = F, file = "dgn.csv")
barplot(dgn,drop = TRUE,title = "enrichment_disease",showCategory = 12)

###条行图,按p值从小到大排列;
barplot(ego_CC,showCategory = 24,title = "EnrichmentGO_CC")
###点状图,按富集数从大到小进行排列;
dotplot(ego_CC,title = "EnrichenmentGo_CC")

Gene Ontology富集分析结果表格。

GO ID: Gene Ontology数据库中唯一的标号信息

Description :Gene Ontology功能的描述信息

GeneRatio:输入基因中与该Term相关的基因数与整个输入基因总数的比值

BgRation:所有background基因中与该Term相关的基因数与所有background基因的比值

pvalue: 富集分析统计学显著水平,一般情况下, P-value < 0.05 该功能为富集项

p.adjust 矫正后的P-Value

qvalue:对p值进行统计学检验的q值

Count:差异基因中与该Term相关的基因数

http://scu.zju.edu.cn/redir.php?catalog_id=58400&object_id=203725

http://www.bioconductor.org/packages/release/bioc/vignettes/clusterProfiler/inst/doc/clusterProfiler.html

http://www.bio-info-trainee.com/370.html

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • #网址记录

    qinqinyang的博客:http://www.cnblogs.com/qiniqnyang/

    oriRNA
  • R语言操作FASTA文件

    Question: Subsetting a fasta file using seqinr in R

    oriRNA
  • Anaconda安装使用

    Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本p...

    oriRNA
  • 区块链学堂——区块链有前途吗?

    如果单纯只要一个结论,我认为非常有前途。 而之所以敢下此定论,可以从以下几个方面来分析判断: 从货币的起源与发展维度分析 从记账的方式和演变维度分析 从科技(互...

    企鹅号小编
  • MIT学生在“Minecraft”精心重建了自己的校园,来康康

    微软在2014年以25亿美元收购的积木游戏《我的世界》(Minecraft),已经成为过去10年来全球最受欢迎的游戏之一,月活高达1.45亿。

    新智元
  • 信息量,熵,交叉熵,相对熵与代价函数

    如果有⼈告诉我们⼀个相当不可能的事件发⽣了,我们收到的信息要多于我们被告知某个很可能发⽣的事件发⽣时收到的信息。如果我们知道某件事情⼀定会发⽣,那么我们就不会接...

    llhthinker
  • 微信小程序----Maide List(图文列表)(flex布局实现MUI的图文列表)

    1、使用flex进行布局要注意兼容性,所以采用:display: -webkit-flex;display: flex; 2、为了保证每排三个图标的两对对齐,...

    Rattenking
  • Hello! WordPress

    咕咕星
  • 谢耳朵用的MIT人工智能情绪探测器,你也可以拥有

    量子位 | 李林 强行剪辑&撰文 现在看《生活大爆炸》的人可能越来越少了,不过昨天的S10E14绝对有惊喜:谢耳朵吐露心声之后,惊现麻省理工的一件神器▽ 在片中...

    量子位
  • 【腾讯云的1001种玩法】如何使用腾讯云CVM构建自己的云桌面办公平台

    本文将介绍如何在一台 Windows2008 的 CVM 云服务器上重新安装系统为 Win10,如何在重装后正确的恢复网卡驱动程序到目标系统。

    丁鼎

扫码关注云+社区

领取腾讯云代金券