扩增子分析|ggpicrust2包进行PICRUSt2预测功能的分析和可视化(通路PCA,热图和差异图)

一、引言

      ggpicrust2包由凯斯西储大学张亮亮团队发布ggpicrust2是一个综合的 R 包,旨在为分析和解释PICRUSt2功能预测结果。它提供了多项功能,包括路径名称/描述注释、高级差异丰度(DA)分析方法,以及 DA 结果的可视化,帮助研究人员深入理解微生物群落的功能潜力。该方法自发布以来广受重视和使用。

       该包的独特功能之一是能够比较不同 DA 方法在同一数据集上的一致性和不一致性。允许用户在预测和测序特定样本的宏基因组时评估各种方法之间的一致性和差异性,评估结果的稳健性。通过对不同方法进行比较,他们能够根据对同一样本的宏基因组预测或测序结果的一致性评估做出明智的决定并得出可靠的结论。如下所示,是ggpicrust2的工作流程,可根据自己数据的类型选择响应的工作流程。

二、文献美图欣赏

ggpicrust2原文中提供的可视化图片。

三、实例数据和R代码

🌟安装并加载ggpicrust2包

ggpicrust2依赖众多的CRAN和Bioconductor包,因此使用的时候要确包众多依赖包安装完全。

#####################ggpicrust2包安装#############################
if (!requireNamespace("BiocManager", quietly = TRUE))
  install.packages("BiocManager")

pkgs <- c("phyloseq", "ALDEx2", "SummarizedExperiment", "Biobase", "devtools", 
          "ComplexHeatmap", "BiocGenerics", "BiocManager", "metagenomeSeq", 
          "Maaslin2", "edgeR", "lefser", "limma", "KEGGREST", "DESeq2")

for (pkg in pkgs) {
  if (!requireNamespace(pkg, quietly = TRUE))
    BiocManager::install(pkg)
}
#从CRAN中安装稳定版ggpicrust2包
if(!require("ggpicrust2")) {install.packages("ggpicrust2")}

#要从 GitHub 安装ggpicrust2的最新开发版本
#if(!require("devtools")){install.packages("devtools")}
#devtools::install_github("cafferychen777/ggpicrust2")

🌟使用包里自带的数据运行ggpicrust2包。

# 加载示例数据
data(ko_abundance)
data(metadata)
# 进行ggpicrust2分析
results_file_input <- ggpicrust2(data = ko_abundance, 
                                 metadata = metadata,
                                 group = "Environment", 
                                 pathway = "KO",       
                                 daa_method = "LinDA", 
                                 ko_to_kegg = TRUE,     
                                 order = "pathway_class",  
                                 p_values_bar = TRUE,      
                                 x_lab = "pathway_name")
results_file_input

# 保存图像
ggsave('pic1.png', width = 15, height = 5, bg = 'white')

🌟输出结果

🌟通路热图分析

##################通路热图########################
library(tidyverse)
library(ggh4x)
library(ggpicrust2)
# 加载数据
data("metacyc_abundance")
data("metadata")

# 进行差异表达分析
metacyc_daa_results_df <- pathway_daa(
  abundance = metacyc_abundance %>% column_to_rownames("pathway"),
  metadata = metadata,
  group = "Environment",
  daa_method = "LinDA"
)

# 注释结果
annotated_metacyc_daa_results_df <- pathway_annotation(
  pathway = "MetaCyc",
  daa_results_df = metacyc_daa_results_df,
  ko_to_kegg = FALSE
)

# 使用 p < 0.05过滤特征值
feature_with_p_0.05 <- metacyc_daa_results_df %>% 
  filter(p_adjust < 0.05)

# 绘制热图
pathway_heatmap(
  abundance = metacyc_abundance %>% 
    right_join(
      annotated_metacyc_daa_results_df %>% select(all_of(c("feature","description"))),
      by = c("pathway" = "feature")
    ) %>% 
    filter(pathway %in% feature_with_p_0.05$feature) %>% 
    select(-"pathway") %>% 
    column_to_rownames("description"),
  metadata = metadata, 
  group = "Environment"
)

🌟输出结果

🌟通路PCA分析

##################通路PCA###########################
# Create example functional pathway abundance data
data("metacyc_abundance")
data("metadata")

pathway_pca(abundance = metacyc_abundance %>% column_to_rownames("pathway"), metadata = metadata, group = "Environment")

🌟输出结果

四、参考文献

Chen Yang, Jiahao Mai, Xuan Cao, Aaron Burberry, Fabio Cominelli, Liangliang Zhang, ggpicrust2: an R package for PICRUSt2 predicted functional profile analysis and visualization, Bioinformatics, Volume 39, Issue 8, August 2023, btad470

五、相关信息

!!!本文内容由小编总结互联网和文献内容总结整理,如若侵权,联系立即删除!

 !!!有需要的小伙伴评论区获取今天的测试代码和实例数据。

 📌示例代码中提供了数据和代码,小编已经测试,可直接运行。

以上就是本节全部结果。

如果这篇文章对您有用,请帮忙一键三连(点赞、收藏、评论、分享),让该文章帮助到更多的小伙伴。

PICRUSt2是一个用于预测微生物基因组功能的工具,它可以通过基因家族注释基于参考基因组的比对来对16S rRNA或宏基因组数据进行功能预测。在R中使用PICRUSt2需要先安装相关的R,然后按照以下步骤操作: 1. 安装依赖PICRUSt2 ```r if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager") BiocManager::install(c("phyloseq", "dplyr", "stringr", "tidyr", "magrittr")) ``` ```r if (!requireNamespace("devtools", quietly = TRUE)) install.packages("devtools") devtools::install_github("picrust/picrust2", build_vignettes = TRUE) ``` 2. 加载依赖PICRUSt2 ```r library(phyloseq) library(dplyr) library(stringr) library(tidyr) library(magrittr) library(picrust2) ``` 3. 读取OTU表物种注释信息 ```r otu_file <- "otu_table.biom" otu_table <- import_biom(otu_file) tax_file <- "taxonomy.tsv" tax_table <- read.delim(tax_file, header = FALSE, stringsAsFactors = FALSE) colnames(tax_table) <- c("OTU_ID", "taxonomy") ``` 4. 处理物种注释信息 ```r tax_table %<>% separate(taxonomy, into = c("kingdom", "phylum", "class", "order", "family", "genus", "species"), sep = ";") tax_table$OTU_ID <- str_remove(tax_table$OTU_ID, ".*OTU_") ``` 5. 将OTU表物种注释信息合并成phyloseq对象 ```r tax_table_phylo <- otu_table_to_phyloseq( otu_table = otu_table, tax_table = tax_table, refseq_col = "OTU_ID" ) ``` 6. 运行PICRUSt2 ```r picrust2_pipeline(tax_table_phylo, outdir = "picrust2_output") ``` 在运行过程中,PICRUSt2会下载安装必要的参考数据库,并生成预测功能注释文件。最后,可以使用以下命令读取并处理预测功能注释文件: ```r ko_file <- "picrust2_output/metagenome_predictions/ko_metagenome_contributions.tsv.gz" ko_table <- read.delim(ko_file, header = TRUE, stringsAsFactors = FALSE, check.names = FALSE) colnames(ko_table)[1] <- "OTU_ID" ko_table$OTU_ID <- str_remove(ko_table$OTU_ID, ".*OTU_") ko_table %<>% pivot_longer(cols = -OTU_ID, names_to = "KO_ID", values_to = "abundance") %>% group_by(OTU_ID, KO_ID) %>% summarize(abundance = sum(abundance)) %>% ungroup() # 根据KO ID获取KEGG通路信息 ko_to_pathway_file <- "picrust2_output/pathways_out/predicted_metagenome_unstratified.tsv.gz" ko_to_pathway_table <- read.delim(ko_to_pathway_file, header = TRUE, stringsAsFactors = FALSE, check.names = FALSE) colnames(ko_to_pathway_table) <- c("KO_ID", "pathway_ID", "abundance") ``` 处理完毕后,就可以使用R中的其它工具对预测功能注释数据进行进一步分析可视化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值