使用ReporterScore包进行富集分析

23 篇文章 12 订阅
订阅专栏
7 篇文章 1 订阅
订阅专栏

Introduction

上次已经在 一篇推文中介绍过了微生物组分析常用的功能富集分析方法以及reporter score方法的原理,并且也介绍了我开发的R包ReporterScore

但时那个时候R包写的还比较粗糙,功能也不多,最近进一步优化了这个包的各种功能,支持两种模式,多种统计检验方法,支持两组甚至更多组的实验设计(这个挺好用的),KEGG数据库的同步做的也比较好了,还增加了一些可视化形式。

以下是我给这个R包github主页( https://github.com/Asa12138/ReporterScore)下写的介绍和用法,这里简单翻译一下贴过来了。但其实里面还有不少功能没在下面写出,可以在R包里探索一下,哈哈。

Citation

这个包暂时还没有在刊物上发表,要在出版物中引用 ReporterScore,请使用:

Chen Peng, Chao Jiang. ReporterScore: an R package for Reporter Score-based Microbial Enrichment Analysis. R package (2023), https://github.com/Asa12138/ReporterScore

🤗也欢迎在GitHub上点个star⭐️

Install

if(!require("devtools"))install.packages("devtools")
devtools::install_github('Asa12138/pcutils',dependencies=T)
devtools::install_github('Asa12138/ReporterScore',dependencies=T)
library(ReporterScore)

Usage

1. Inputdata (KO abundance table and metadata)

通常,我们可以使用 KEGG数据库来注释我们的微生物组测序数据,特别是环境微生物组,因为KEGG相对来说更全面(当然大部分还是unknown)。

具体方法包括直接使用blast对KEGG序列数据库进行比对,使用KEGG官方mapper软件,使用 EggNOG数据库并将结果转化为KEGG注释。

这样我们就可以得到一个KO丰度表(行是KO,列是样本)用于我们的富集分析:

data("KO_abundance_test")
head(KO_abundance[,1:6])
##                WT1         WT2         WT3         WT4         WT5         WT6
## K03169 0.002653545 0.005096380 0.002033923 0.000722349 0.003468322 0.001483028
## K07133 0.000308237 0.000280458 0.000596527 0.000859854 0.000308719 0.000878098
## K03088 0.002147068 0.002030742 0.003797459 0.004161979 0.002076596 0.003091182
## K03530 0.003788366 0.000239298 0.000445817 0.000557271 0.000222969 0.000529624
## K06147 0.000785654 0.001213630 0.001312569 0.001662740 0.002387006 0.001725797
## K05349 0.001816325 0.002813642 0.003274701 0.001089906 0.002371921 0.001795214

还需要提供实验设计的元数据metadata(行是样本,列是组)。

head(metadata)
##     Group Group2
## WT1    WT     G3
## WT2    WT     G3
## WT3    WT     G3
## WT4    WT     G3
## WT5    WT     G3
## WT6    WT     G1

2. Pathway database

ReporterScore内置了KEGG 通路和模块数据库(2023-08 版)用于KO 丰度表分析。

你可以使用 load_KOlist() 查看并使用 update_KO_file() 更新这些数据库(通过 KEGG API),因为使用最新的数据库非常重要。

或者你可以使用custom_modulelist()自定义你自己的通路数据库(感兴趣的基因集)。

load_KOlist()
head(KOlist$pathway)

3. One step enrichment

使用函数reporter_score可以一步得到reporter score结果。

有一些重要的参数可供调节:

  • mode: “mixed” 或 “directed”(仅适用于两组差异分析或多组相关分析),详细信息参见pvalue2zs
  • 方法:统计检验类型。 默认为”wilcox.test”:
    • t.test (参数)和 wilcox.test (非参数)。 对两组样品进行比较。 如果分组变量包含两个以上水平,则执行成对比较。 - anova(参数)和 kruskal.test(非参数)。 执行比较多个组的单向方差分析测试。
    • “pearson”、“kendall”或”spearman”(相关分析),请参见cor
  • p.adjust.method:用于测试结果的p.adjust.method,参见p.adjust
  • type/modulelist:选择通路数据库,默认数据库为”pathway”或”module”,或使用自定义的模块列表。

group作为因子变量,第一个水平将被设置为对照组,你可以更改因子水平来改变你的比较。

例如,我们想要比较两组”WT-OE”,并使用”directed”模式,因为我们只想知道 OE 组 中哪些通路被富集或耗尽:

cat("Comparison: ",levels(factor(metadata$Group)))
## Comparison:  WT OE

reporter_score_res=reporter_score(KO_abundance,"Group",metadata,mode="directed")

结果是一个”reporter_score”对象:

elementsdescription
kodf你的输入 KO_abundance 表
ko_pvalueko 统计结果包含 p.value
ko_statko统计结果包含p.value和z_score
reporter_s在每个途径中的reporter score
modulelist默认 KOlist 或自定义模块列表数据框
group你的数据中的比较组
metadata示例信息数据框包含组

4. Visualization

绘制最显着富集的通路:

#View(reporter_score_res$reporter_s)
plot_report(reporter_score_res,rs_threshold = c(-2,2))

当我们聚焦于一条通路时,例如 “map00780”:

plot_KOs_in_pathway(reporter_score_res,map_id = "map00780")

或者显示为网络:

plot_KOs_network(reporter_score_res,map_id = "map00780",main="")

我们也可以查看通路中每个 KO 的丰度:

plot_KOs_box(reporter_score_res,map_id = "map00780",only_sig = TRUE)

或者热图形式呈现:

plot_KOs_heatmap(reporter_score_res,map_id = "map00780",only_sig = TRUE,heatmap_param = list(cutree_rows=2))

example for “mixed”

如果我们的实验设计超过两组,我们可以选择多组比较和“mixed”模式:

cat("Comparison: ",levels(factor(metadata$Group2)))
## Comparison:  G1 G2 G3

reporter_score_res2=reporter_score(KO_abundance,"Group2",metadata,mode="mixed",
      method = "kruskal.test",p.adjust.method1 = "none")

plot_KOs_in_pathway(reporter_score_res2,map_id = "map00541")

Details

Step by step

一步函数 reporter_score 由三部分组成:

  1. ko.test:此函数有助于通过各种内置方法计算 KO_abundance 的 p-value,例如差异分析(t.test、wilcox.test、kruskal.test、anova)或相关分析(pearson 、spearman、kendall)。 你还可以通过其他方法计算 KO_abundance 的 p-value,例如“DESeq2”、“Edger”、“Limma”、“ALDEX”、“ANCOM”,并自行进行 p值矫正,然后跳过ko.test 步骤转到步骤2…
  2. pvalue2zs:该函数将 KO 的 p-value 转换为 Z-score(选择模式: “mixed” 或 “directed”)。
  3. get_reporter_score 该函数计算特定数据库中每个通路的reporter score。 你可以在此处使用自定义数据库。

这样你就可以一步一步得到reporter score。

Other enrichment methods

ReporterScore 还提供了其他丰富方法,如 KO_fisher(fisher.test)、KO_enrich(fisher.test, from clusterProfiler)、KO_gsea (GSEA, from clusterProfiler),输入数据来自 reporter_score,并且也支持自定义数据库,因此你可以轻松比较各种富集方法的结果并进行全面分析:

data("KO_abundance_test")
reporter_score_res2=reporter_score(KO_abundance,"Group",metadata,mode="mixed")
#View(reporter_score_res2$reporter_s)
#reporter_score
reporter_score_res2$reporter_s$p.adjust=p.adjust(reporter_score_res2$reporter_s$p.value,"BH")
filter(reporter_score_res2$reporter_s,(ReporterScore)>1.64,p.adjust<0.05)%>%pull(ID)->RS
#fisher
ko_pvalue=reporter_score_res2$ko_pvalue
fisher_res=KO_fisher(ko_pvalue)
filter(fisher_res,p.adjust<0.05)%>%pull(ID)->Fisher
#enricher
enrich_res=KO_enrich(ko_pvalue)
filter(enrich_res,p.adjust<0.05)%>%pull(ID)->clusterProfiler
#GESA
set.seed(1234)
gsea_res=KO_gsea(ko_pvalue)
filter(gsea_res@result,p.adjust<0.05)%>%pull(ID)->GSEA

venn_res=list(RS=RS,Fisher=Fisher,CP=clusterProfiler,GSEA=GSEA)
library(pcutils)
venn(venn_res)
venn(venn_res,"network",vertex.label.cex=c(rep(1,4),rep(0.5,22)))

KO levels

KEGG BRITE 是一个层次分类系统的集合,捕获各种生物对象的功能层次结构,特别是那些表示为 KEGG 对象的功能层次结构。

我们收集了 k00001 KEGG Orthology (KO) 表,以便你可以总结每个级别的丰度。 使用 load_KO_htable 获取 KO_htable 并使用 update_KO_htable 进行更新。 使用 up_level_KO 可以升级到“pathway”、“module”、“level1”、“level2”、“level3”、“module1”、“module2”、“module3”之一中的特定级别。

load_KO_htable()
head(KO_htable)
## # A tibble: 6 × 8
##   level1_id level1_name level2_id level2_name        level3_id level3_name KO_id
##   <chr>     <chr>       <chr>     <chr>              <chr>     <chr>       <chr>
## 1 A09100    Metabolism  B09101    Carbohydrate meta… map00010  Glycolysis… K008…
## 2 A09100    Metabolism  B09101    Carbohydrate meta… map00010  Glycolysis… K124…
## 3 A09100    Metabolism  B09101    Carbohydrate meta… map00010  Glycolysis… K008…
## 4 A09100    Metabolism  B09101    Carbohydrate meta… map00010  Glycolysis… K250…
## 5 A09100    Metabolism  B09101    Carbohydrate meta… map00010  Glycolysis… K018…
## 6 A09100    Metabolism  B09101    Carbohydrate meta… map00010  Glycolysis… K068…
## # ℹ 1 more variable: KO_name <chr>
plot_KO_htable()
KO_level1=up_level_KO(KO_abundance,level = "level1",show_name = TRUE)
pcutils::stackplot(KO_level1[-which(rownames(KO_level1)=="Unknown"),])

Reference

  1. Patil, K. R.
    & Nielsen, J. Uncovering transcriptional regulation of metabolism by using metabolic network topology.
    Proc Natl Acad Sci U S A 102, 2685–2689 (2005).

  2. L. Liu, R. Zhu, D. Wu, Misuse of reporter score in microbial enrichment analysis. iMeta. 2, e95 (2023).

  3. https://github.com/wangpeng407/ReporterScore

关注公众号,获取最新推送

关注公众号 ‘biollbug’,获取最新推送。

代谢组数据分析六:基于报告分数的功能分析
专注生信领域
05-21 281
“基于广义报告者得分的分析(GRSA)”方法是一种无需阈值的方法,适用于所有类型的生物医学特征,如基因、化学化合物和微生物种类。它基于拓扑学做功能富集分析
Reporter Score 微生物功能富集分析
Asa12138的博客
05-15 2068
Reporter score是一种改良的微生物富集分析的新方法,这里分享其原理和一个实现的R
ReporterScore(GRSA方法)正式发表于杂志Briefings in Bioinformatics
Asa12138的博客
03-31 890
最近,我开发的RReporterScore(GRSA方法)发表在杂志Briefings in Bioinformatics上,这是一种灵活的,可用于复杂多组学数据的功能富集新方法。
iMeta | 浙大吴顶峰和同济刘蕾等对微生物富集分析Reporter Score的误用研究
悟道西方
03-05 446
点击蓝字 关注我们微生物富集分析Reporter Score的误用iMeta主页:http://www.imeta.science研究论文●原文链接DOI: https://doi.org/10.1002/imt2.95●2023年2月23日,浙江大学吴顶峰和同济大学刘蕾等在iMeta在线发表了题为“Misuse of reporter score in microbial enric...
R语言基因功能富集分析气泡图
Bio大恐龙
10-22 4276
基因功能富集分析气泡图 ontology 基因本体论 基因富集分析 R语言ggplot绘制散点图
ReporterScore 的一些更新
Asa12138的博客
11-09 197
最近ReporterScore 又新加了一些好用的功能
R语言】——基因GO/KEGG富集分析!超级简单的保姆级教程!
热门推荐
weixin_54004950的博客
01-09 4万+
GO/KEGG功能富集分析中重要的是背景基因的选择,使用R clusterProfiler对基因进行富集,需要导入目的基因(前景基因)相对应物种的参考基因组(背景基因),现阶段“bioconductor”已有十几种常见动物,如人类、小鼠等物种的OrgDb。”介绍如何使用DAVID在线分析工具对基因进行GO/KEGG功能富集分析使用R ggplot对获得的基因GO/KEGG功能富集结果进行可视化。:富集到该GO term/KEGG term中的基因数目/给定基因的总数目;
植物MWAS研究—小米产量与微生物组关联分析
刘永鑫的博客——宏基因组公众号
09-10 7340
MWAS简介微生物组关联分析(Microbiome/Metagenome-wide association studies , MWAS)是指捕获多维尺度上的互作作用,从而提供捕获复杂作用关系的方法,该方法切实可行的预测微生物组和疾病状态的关系。就是不做任何假设的分析整个微生物组的结构变化,目的是鉴定与疾病、表型相关的微生物物种、基因或代谢物质等。全微生物组关联分析 (MWAS) 与全基因组关联分析
微生物群落基于KEGG预测功能的丰度分布图绘制
刘永鑫的博客——宏基因组公众号
08-04 3万+
功能预测在基于16S rRNA扩增子的研究中,因为了解微生物群落功能的需要,我们经常会使用一些软件工具对16S rRNA扩增子数据进行功能预测,比如PICRUSt2。这些功能预测的结果大...
MPB:青岛大学苏晓泉组-使用Meta-Apo对16S扩增子的微生物组功能信息进行校正
刘永鑫的博客——宏基因组公众号
03-30 640
为进一步提高《微生物组实验手册》稿件质量,本项目新增大众评审环节。文章在通过同行评审后,采用公众号推送方式分享全文,任何人均可在线提交修改意见。公众号格式显示略有问题,建议电脑端点击文末阅...
如何使用R进行KEGG和GO分析
qq_42224274的博客
08-16 4万+
先贴上代码,后面有空的时候来解释: source("http://bioconductor.org/biocLite.R");biocLite("clusterProfiler") biocLite("clusterProfiler") getwd() setwd("E:/my project/R_project") library(org.Hs.eg.db) data(geneList, p...
富集分析--R--clusterProfiler下载安装与报错分析解决
Tian問的博客
09-26 2万+
生信分析富集分析是必不可少的,最常见是调用clusterProfiler进行分析。clusterProfiler功能也比较强大,主要是做GO和KEGG的功能富集及其可视化。 但clusterProfiler依赖的很多,不仅安装过程复杂、耗时长,而且经常出现各种各样的错误。对于生信小白来说,错误很难解决。本文总结常见的报错。 clusterProfiler的安装: R version 3.6以上版本: if (!requir...
R语言smoothHR_R语言GEO数据挖掘功能富集分析,clusterprofiler
weixin_42316073的博客
01-02 1576
欢迎关注医科研公众号,这里是白介素2的读书笔记:)跟我一起聊临床与科研的故事, 生物医学数据挖掘,R语言,TCGA、GEO,SEER数据挖掘。点这里跳转到原文,关注我藕~功能富集分析在得到了差异基因的基础之上,进一步进行功能富集分析,这里我们使用clusterprofiler本文将对差异基因进行 GO, KEGG注释并完成可视化,GSEA分析Sys.setlocale...
3d NMDS多样性分析R语言
m0_53945548的博客
10-16 261
保存图片是个问题,我试了一下,export出html文件,然后到网页截图会比较清楚。
科研绘图系列:R语言散点相关系数图(scatter plot)
专注生信领域
10-15 561
科研绘图系列:R语言散点相关系数图(scatter plot)
科研绘图系列:R语言突出强调部分的饼图(pie plot)
最新发布
专注生信领域
10-17 373
科研绘图系列:R语言突出强调部分的饼图(pie plot)
poisson过程——随机模拟(Python和R实现)
所念皆星河
10-16 587
poisson过程——随机模拟(Python和R实现)——exponential()使用,自动poisson过程实现。def poisson函数使用
R语言绘制Venn图(文氏图、温氏图、维恩图、范氏图、韦恩图)
zegeai的博客
10-14 861
Venn图,又称文氏图,标题中其他名字也是它的别称,由封闭圆形组成,代表不同集合。圆形重叠部分表示集合交集,非重叠处为独有元素。在生物学、统计学等领域广泛应用,可展示不同数据集相似性与差异,辅助逻辑分析。以直观方式呈现复杂集合关系,是有力的可视化工具。
写文章

热门文章

  • 基因集富集分析(GSEA)简介 9633
  • 宏基因组分析流程(Metagenomic workflow)202405|持续更新 6345
  • R绘制优美的进化树(进阶) 5709
  • Antibiotics resistance gene 抗生素抗性基因(ARG) 5682
  • Zotero 7.0正式版,大更新! 5230

分类专栏

  • 宏基因组 37篇
  • 功能富集分析 7篇
  • R语言 23篇
  • 小工具 10篇
  • 生信数据库 9篇

最新评论

  • 使用ReporterScore包进行富集分析

    Asa12138: 同一个KO可以出现在不同的通路里呀,比如K00001应该9个通路都有才对

  • 使用ReporterScore包进行富集分析

    chenxiaohei7: 您好,想请教一下, 我使用 up_level_KO 可以升级我的数据到level3,结果为什么同一丰度有多个通路。比如 N1=1000,对应K00001,但到level3有两个通路结果,是因为什么呢? 求解答,非常感谢!!

  • 使用InStrain进行宏基因组群体分析

    Lancet33: inStrain profile /gpfs/hpc/home/lijc/zhanghao/SP0105519_dedup.bam \ /gpfs/hpc/home/lijc/zhanghao/kraken2ref/kraken2REF.fna \ -o /gpfs/hpc/home/lijc/zhanghao/SP0105519_dedup.IS \ -p 4 \ -g /gpfs/hpc/home/lijc/zhanghao/kraken2ref/kraken2REF.fna.genes.fna -s SP0105519.stb

  • Zotero 7.0正式版,大更新!

    Asa12138: 那可能是你的系统不太兼容表情包可以退回去用之前的吧

  • Zotero 7.0正式版,大更新!

    sherry2024: 升级后超级卡顿,根本没法用表情包

最新文章

  • R整理和分析文献信息
  • 一些有趣的绘图R包
  • ggh4x包拓展ggplot2绘图
2024
10月 3篇
09月 4篇
08月 6篇
07月 11篇
06月 6篇
05月 11篇
04月 1篇
03月 3篇
01月 1篇
2023年22篇

目录

目录

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家仿铜玻璃钢雕塑制作流程山阳玻璃钢雕塑厂家新余玻璃钢雕塑销售厂家六盘水玻璃钢雕塑制作濮阳公园景观玻璃钢雕塑厂家重庆玻璃钢卡通雕塑阿狸定做登封市玻璃钢雕塑雕刻四川佛像玻璃钢雕塑销售电话东莞市大型玻璃钢雕塑嘉兴玻璃钢头像雕塑台州动物玻璃钢雕塑商场吊挂美陈海南玻璃钢雕塑销售市场石首玻璃钢雕塑厂家售卖玻璃钢雕塑厂家红色革命主题玻璃钢雕塑摆件城市景观玻璃钢雕塑玻璃钢花盆鹅卵石河北步行街玻璃钢雕塑多少钱武汉校园玻璃钢雕塑定做价格台州玻璃钢陶瓷雕塑价格东城玻璃钢雕塑工厂江门商场美陈雕塑金华佛像玻璃钢雕塑供应商云南仿铜玻璃钢雕塑多少钱贵州玻璃钢广场雕塑价格佛山玻璃钢仿铜人物雕塑厂浙江常用商场美陈销售公司玻璃钢雕塑用什么涂料好玻璃钢雕塑底座用什么密封香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化