clusterProfiler:基因功能富集分析的惊喜之作

转录组、蛋白组等测序结束后,筛选差异基因之后需要做的第一步工作可能就是需要功能富集,看基因的作用。做富集的工具也有很多,在线的工具也有大批,但是总体来说更新较慢,可视化操作不是很强。

R语言成了很多人的选择,在众多的包中,clusterProfiler无疑对我来说最具有亮点,可以结合可视化的包,做出好的结果。

(不教数据结构讲代码的都是耍流氓,我们公众号主力于初学者学习,手把手从第一步开始,保证清楚明白,不设坑)

首先,一般做完差异基因分析,我们会得到这样一个表格。

接下来设定阈值,筛选差异基因

p_val_adj = 0.03 avg_log2FC = 0.8diff_signif = Ld[(Ld$p_val_adj< p_val_adj & abs(Ld$avg_log2FC)>avg_log2FC),] diff_signif = diff_signif[order(diff_signif$avg_log2FC),]UP  <- diff_signif[diff_signif$avg_log2FC>0, ] #上调的基因,下调的同理,FC小于0

要做差异基因,需要讲genesymbol转为ID

library(org.Mm.eg.db)Up <- bitr(row.names(UP), fromType="SYMBOL", toType="ENTREZID", OrgDb="org.Mm.eg.db")

转完后得到这样一个文件:

这样就可以进行富集分析,首次使用clusterProfiler需要安装,按照如下代码

install.packages("devtools")devtools::install_github('GuangchuangYu/clusterProfiler')library(clusterProfiler)library(enrichplot)#用于可视化的包

富集分析很简单的一句代码

ego_up <- enrichGO(Up$ENTREZID, OrgDb = "org.Mm.eg.db", ont="BP", readable=TRUE)#只选择BP富集

富集得到的结果很多,一般见过的柱状图那样显示,可是有很多terms,我们不清楚他们之间的关系,看起来也乱糟糟的。所以需要去除冗余,而clusterProfiler也提供了此功能。

ego_up <- simplify(ego_up, cutoff=0.7, by="p.adjust", select_fun=min)

最后就是可视化了,结果如下


ego_up <- pairwise_termsim(ego_up)emapplot(ego_up, cex_label_category=.6, cex_line=.5) + scale_colour_continuous(low = "#e06663", high = "#327eba", name = "p.adjust", guide = guide_colorbar(reverse = TRUE, order=1),                         trans='log10')

效果还不错,如果要显示哪些基因在这个通路中有贡献,可以运行下面的代码:

cnetplot(ego_up, categorySize="pvalue", avg_log2FC=geneList)

总之,告别了柱状图,得到好结果,也得到好图!

具体的参数功能还需自行探索,总能调整为自己喜欢的样子!

(0)

相关推荐

  • 使用R语言的clusterProfiler对葡萄做GO富集分析的简单小例子

    葡萄的参考基因组下载自NCBI,下载链接是https://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/003/745/GCF_000003745.3_12X/ 基 ...

  • 转录组学习八(功能富集分析)

    任务 选择p<0.05而且abs(log2FC)大于1的基因为显著差异表达基因集,对这个基因集用R包做KEGG/GO超几何分布检验分析. 把表达矩阵和分组信息分别作出cls和gct文件,导入到G ...

  • GO富集分析示例

    GO是Gene Ontology的简称,是基因功能国际标准分类体系.它旨在建立一个适用于各种物种的,对基因和蛋白质功能进行限定和描述的,并能随着研究不断深入而更新的语言词汇标准.GO分为分子功能(Mo ...

  • GO、KEGG富集分析(一)有参情况

    一.GO分析的理论知识 what is Gene Ontology(GO)? 基因'本体论' Gene Ontology中最基本的概念是 term.GO里面的每一个entry都有一个唯一的数字标记,形 ...

  • 上下调基因各自独立进行GO数据库的3分类富集(求美图代码)

    火山图大家应该是也基本上都没有问题,下面的MA图其实跟火山图非常的类似,两者都是log2FC信息,不同的是火山图展现P值,而MA图展现的是表达量情况! 火山图是为了说明log2FC比较大的一般来说具有 ...

  • MeSH加Cytoscape你也可以绘制超高颜值富集图

    最近实验室同学在组会上分享了一篇很有意思的文章,是于  January 2021,  发表在CELL杂志的文章<Spliceosome-targeted therapies trigger an ...

  • 让你的基因有名字

    分享一下学员笔记,主要是她跟了我们<数据挖掘>课程后,在进行GO富集分析可视化遇到的问题:展示通路的共同基因绘图时无法显示基因名,只显示ID号码 第一次绘图 下面展示代码: library ...

  • TCGA单基因免疫相关泛癌分析

    最近写了一段代码,基于肿瘤TCGA数据库进行一系列分析.只要输入基因名,就可以得到以下结果(注意:只能是mRNA的gene symbol) 1 泛癌表达:该基因在33种肿瘤中的表达 2 差异表达:肿瘤 ...

  • 使用clusterProfiler进行GO、KEGG富集分析(有参情况)

    寻找差异表达的基因并识别它们的功能,是我们进行RNA测序的最主要目的.很明显,这些差异的基因必然与功能改变密切相关,例如,比较患病个体与正常个体的组织表达谱,不难想到这些显著失调的基因参与了生物学过程 ...

  • 三阴性乳腺癌表达矩阵探索笔记之差异基因富集分析

    学徒和学员已经陆续出师,是时候把生信技能树的舞台交给后辈了! 下面是学徒写的<GEO数据挖掘课程>的配套笔记(第3篇) B站课程<三阴性乳腺癌表达矩阵探索>笔记之文献解读 三阴 ...