用clusterProfiler做其实够用了,网页在线做没多大必要,能够起起对照作用吧。网页在线做,后续挑出自己想要的模块,会方便一些,但自己用包做手动挑也还好。记录这篇,是因为网页做了几次,想记录下来留个印象。
做富集分析,对于输出结果,不能只看前多少个有显著富集的term,应该要看符合自己设的padjust阈值的所有term,看完再挑选自己想要展示的term成图。这样做能避免得出的结论不全面,对于事先没有预想的term或者是事先预想的term不全面这些情况有帮助。
clusterProfiler做富集,可以对冗余 GOterm 去冗余,如:merge_go <- clusterProfiler::simplify(go, cutoff=0.7, by="p.adjust", select_fun=min)。要不要去冗余看去冗余前后展示出的效果是不是自己想要的,来决定。
p值(pvalue),q值(qvalue,FDR),padj(p-adjusted)
p.adjust值和qvalue值表示的都是一个调整后的p值,但计算方法略有不同。
p.adjust表示通过一定的多重比较校正方法调整后的p值,比如BH法则(Benjamini-Hochberg)调整获得的FDR值。
qvalue表示通过Storey及其同事提出的计算方法获得的估计的假发现率(FDR)值。
两者都试图通过不同的统计方法对原始的p值进行调整,控制假阳性率,从而产生一个调整后的p值用于判断结果的显著性。
但计算方法不同: p.adjust值主要通过在一系列假设检验中对每个p值进行校正获得,属于传统的多重比较校正方法。qvalue利用原始p值的整体分布情况,以一定假设下估计假发现率,是一种基于假发现率的校正方法。
在许多富集分析工具的结果中,这两个值都会作为可选的调整后p值提供。users可以根据需求选择使用,但理论上qvalue方法更可靠一些。在判断富集结果的显著性时,建议以调整后的p值或q值作为标准,而不要依赖原始p值,从而避免高假阳性率。
(来自claude的回答,挺不错)
基迪奥网页做富集分析:
动态GO富集分析:富集结果统计图、条形图、气泡图,可动态调整
https://www.omicshare.com/tools/home/report/goenrich.html
GO富集分析高级版:富集结果统计图、条形图、气泡图、富集圈图、富集差异气泡图、有向无环网络图,不可动态调整 https://www.omicshare.com/tools/Home/Soft/gogseasenior
动态KEGG富集分析:富集结果统计图、条形图、气泡图,可动态调整
https://www.omicshare.com/tools/home/report/koenrich.html
KEGG富集分析高级版: 富集结果统计图、条形图、气泡图、富集圈图、富集差异气泡图、kegg网络图,不可动态调整 https://www.omicshare.com/tools/Home/Soft/pathwaygseasenior
GO富集
GO总共有三个ontology(本体),分别描述基因的分子功能(molecular function)、细胞组分(cellular component)、参与的生物过程(biological process)。GO的基本单位是term(词条、节点),每个term都对应一个属性。
气泡图
x轴是Rich Factor,表示目的基因富集到该通路的基因数目与背景基因富集到该通路的基因数目的比值,所以比值越大,富集到该通路的基因数目越多;
y轴是富集出来的通路名称,一般根据P-value或Q-value从小到大排列顺序(最上面是最小的),挑选富集通路前20或30的通路来绘图;点的大小表示Gene数目,点越大,表示富集到该通路的基因越多;点的颜色渐变最为重要,代表P值的高低,-log10(Pvalue)越大,P值越小,表示该通路越显著。
P值是在进行富集分析时利用超几何检验计算出来的结果。Q值是计算得到的P值进一步经过多重检验校正后的值。所以一般情况下Q值比P值的检验更严格。这时候也可以分两种情况,第一种是经过Q值的检验筛选后得到了与实验设计相关的通路,那此时就可以用Q值来绘图。第二种是经过Q值检验没有得到满意的结果,那可以换P值检验,得到与实验相关的通路。
P-value是正常数值显示还是取10的对数的负值来显示,主要看P-value的大小,如果P-value非常小时,就可以对数据归一化处理;如果数据较大,但又小于0.05时,可以不用对数据做处理。
圆圈的大小代表基因的数目,圆圈的颜色代表P-value,也就是说 Rich Factor越大,P-value越小,gene count圈越大,这事就越可信。
富集结果表(out.[PFC].html )
三个Ontology(C, F, P)会分别展示。以生物过程(biological process)为例子,如下表:
第一列为GO term的ID,点击GO ID,可显示这个GO term包含的所有基因:
再点击这个GO ID,就可以链接到 http://amigo.geneontology.org 官网,可以查看GO的具体信息。
第二列为GO term的功能描述;
GeneRatio:注释到该通路的目的基因数 / 注释到所有通路(BP/MF/CC)中的目的基因数
BgRatio:背景基因集合中注释到该通路的基因数 / 背景基因集基因数
pvalue:富集分析统计学显著水平,一般情况下, P-value < 0.05 该功能为富集项
p.adjust :矫正后的P-Value
qvalue:对p值进行统计学检验的q值
第三列:数字为目的基因中富集到这个GO term的基因数,out 括号里数字为目的基因在 BP/MF/CC 里的总数,括号内百分比等于Generatio。
第四列:数字为背景基因中富集到这个GO term的基因数,All括号里数字为背景基因在 BP/MF/CC 里的总数,百分比为Bgratio
第五列:P value,即第三列的百分比与第四列的百分比相比,是否有显著差异。将小于0.05的P value标红显示;这些GO term是按照P value从小到大排列的,方便找差异富集结果。即最上面的 term 为在目的基因中富集最显著的GO term,说明目的基因显著富集于这个功能。
KEGG富集
富集结果表(out.htm)
包含了pathway名称、目的基因中注释到该pathway的基因数目以及占总目的基因数目的比例、所有背景基因中注释到该pathway的基因数目以及占总背景基因数目的比例、P值、Q值、pathway 的ID(ko号)。点击pathway名称可以查看该pathway包含的基因ID,继续点pathway名称可以链接到KEGG官网上pathway相应的通路图
代谢通路文件夹包(out_map)
存放的就是每个pathway的map图和相应的KEGG官网链接。
pathway注释统计图(outpath.png/svg)
Pathway的B级分类基因注释数目的统计图:纵坐标黑色字体为A级分类名称,彩色字体为B级分类名称。横坐标表示注释到相应B级pathway的基因数目。
显著性柱状图/气泡图(out.barplot/ out.gradient;pdf and png)
显著富集pathway去前多少个根据 富集结果表(out.htm)再调整,用p值比用q值条件要松,颜色代表p值,柱状长短(气泡大小)代表富集到此通路基因的数量,横坐标RichFactor代表目的基因中位于该pathway条目的基因数目与背景基因中位于该pathway条目的基因总数的比值,比值越大,富集程度则越大。
clusterProfiler做的GO富集结果和在线工具不一致?真的是这样吗(Yunze Liu)
参考:
https://www.omicshare.com/forum/thread-826-1-1.html
https://www.omicshare.com/forum/thread-6821-1-1.html
https://www.omicshare.com/forum/thread-6822-1-1.html
https://www.omicshare.com/forum/forum.php?mod=viewthread&tid=7295&highlight=KEGG