PICRUSt2简介
微生物群落标记基因测序的局限性之一是无法提供群落功能组成信息。2013年发布的PICRUSt(Phylogenetic Investigation of Communities by Reconstruction of Unobserved States)程序可以根据标记基因测序图谱预测细菌群落潜在功能的丰度信息。相比于PICRUSt,PICRUSt2拥有更新的更大的基因家族(gene families)和参考基因组(reference genomes)数据库,且允许添加自定义参考数据库和兼容任何OTU聚类或ASV去噪算法。PICRUSt2的基因组预测优化方案提高了功能预测准确性,包括把序列插入参考系统发育树中而不限于OTU有参预测、更严格地预测通路丰度和新增复杂表型预测功能(phenotype predictions)。基准测试表明,PICRUSt2总体上比其他同类方法更准确,软件处理比较结果见下图b/c子图。应用PICRUSt2功能预测分析实质上是将细菌群落物种组成数据“映射”到已知的细菌群落基因功能图谱数据库,其标准工作流程见下图a子图。如果在研究中有应用PICRUSt2程序处理数据,请引用Douglas G M , Maffei V J , Zaneveld J R , et al. PICRUSt2 for prediction of metagenome functions[J]. Nature Biotechnology, 2020, 38: 685–688. https://doi.org/10.1038/s41587-020-0548-6


二、PICRUSt2安装
(1) Windows系统下创建Linux子系统
PICRUSt2仅支持在拥有16 GB及以上内存的Linux或Mac系统上运行,本文演示在Windows系统下的Linux子系统中安装PICRUSt2, Linux子系统创建方法请参考Windows系统下创建Linux子系统,Conda安装方法请参考Conda安装qiime2-amplicon。本文提供PICRUSt2程序安装包V2.5.2/V2.5.1/V2.5.0/V2.4.2和sepp程序安装包V4.5.1的百度网盘下载链接,访问网盘获取。
百度网盘链接:https://pan.baidu.com/s/1TEwQqKBtw2lpMA4tjhKduQ
提取码:gi7o
(2) 优化源镜像
# 清除所有旧源conda config --remove-key channels# 添加清华源镜像等加速通道conda config --add channels biocondaconda config --add channels conda-forgeconda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/conda config --set show_channel_urls yes

(3) 下载PICRUSt2程序安装包
访问https://github.com/picrust/picrust2/releases,查看最新PICRUSt2版本。
# 创建且进入picrust2/工作文件夹mkdir /mnt/d/meta/picrust2 && cd /mnt/d/meta/picrust2

① 下载方法一,左键单击“Source code(tar.gz)”按钮,直接网页下载PICRUSt2 v2.5.2程序安装包。注意,下载的程序安装包要放在Linux子系统的工作路径下;

② 下载方法二,右键单击“Source code(tar.gz)”按钮,选择“复制链接地址”获取源码下载链接,执行下述wget命令下载PICRUSt2 v2.5.2程序安装包;
# wget在线下载wget https://github.com/picrust/picrust2/archive/refs/tags/v2.5.2.tar.gz

(4) 源文件安装PICRUSt2
访问https://github.com/picrust/picrust2/wiki/Installation,参考官方安装流程。
① 解压程序安装包
# 解压压缩文件tarxvzfpicrust2-2.5.2.tar.gz

② pip安装PICRUSt2
# 进入picrust2-2.5.2/工作路径cdpicrust2-2.5.2/# Conda创建且激活环境(有要求的)condaenv create -f picrust2-env.yaml

# 激活picrust2环境condaactivate picrust2# pip安装PICRUSt2,确保所有程序包下载成功pipinstall --editable .

# 安装测试,Bioconda安装无需测试pytest


(5) 解除源安装报错提示
依据报错提示“FAILED tests/test_place_seqs.py::place_seqs_tests::test_run_place_seqs_pipeline_sepp - SystemExit: 1”,查阅PICRUSt2官网论坛会话记录#312(https://github.com/picrust/picrust2/issues/312)、#342(https://github.com/picrust/picrust2/issues/342)和#347(https://github.com/picrust/picrust2/issues/347)。PICRUSt2程序设计者提及,报错很可能是sepp程序和更新版本的dendropy程序不兼容导致的,即属于sepp程序的特有错误。如果使用默认的epa-ng而非sepp,则可以忽略此问题。否则,使用者需要排除故障、确认和安装兼容的特定版本的dendropy和sepp才可以解除报错提示。

一个PICRUSt2程序使用者提及,使用pip将dendropy 4.6.0替换为dendropy 4.5.2可以解除报错提示。

然而,另一个PICRUSt2程序使用者提及,使用pip将dendropy 4.6.0替换为dendropy 4.5.2不起作用,仍然出现报错提示。

# 查看得知已安装的dendropy程序包是4.4.0版本piplist

# 卸载已安装的4.4.0版本dendropy程序包pipuninstall dendropy# 安装指定的4.5.2版本dendropy程序包pipinstall dendropy==4.5.2 -i https://pypi.mirrors.ustc.edu.cn/simple/

再次pytest测试,仍然出现报错提示,接下来尝试更换sepp程序版本。由于当前的sepp程序版本是4.3.10(查看pip list输出),最新的sepp程序版本是4.5.1,所以测试更换为4.5.1版本是否可以解除报错提示。
# 卸载已安装的4.3.10版本sepp程序包pipuninstallsepp

# 下载并解压Github官网4.5.1版本sepp程序包wget https://github.com/smirarab/sepp/archive/refs/tags/4.5.1.tar.gztar xvzf 4.5.1.tar.gz

# 进入sepp-4.5.1文件夹cdsepp-4.5.1# ci/文件夹有需求文件requirements.txt,执行安装,如果没有就忽略pip3install -r ci/pip_requirements.txt

# python配置和安装pythonsetup.py configpythonsetup.py install

# 查看pip安装文件目录,已成功安装指定版本pip list

再次pytest测试,仍然出现报错提示。基于上述思路,后续尝试了dendropy程序和sepp程序的多种版本交叉组合,仍然出现报错提示。此外,尝试安装PICRUSt2旧版本V2.5.1/V2.5.0/V2.4.2,仍然无法解除报错提示。此类报错问题暂时超出小编能力范围,希望更新的PICRUSt2程序版本可以做好程序兼容调试。虽然PICRUSt2 V2.5.2版本无法解除报错提示,但是只要分析不涉及sepp功能,PICRUSt2程序仍是可以正常使用的。
********V2.5.1********

********V2.5.0********

********V2.4.2********

(6) Conda直接安装PICRUSt2
由于Conda直接安装PICRUSt2的方法也存在类似错误且无法自动匹配参考数据库,不作演示。请读者参考https://anaconda.org/bioconda/picrust2尝试安装使用。
# conda安装picrust2conda install bioconda::picrust2conda install bioconda/label/cf201901::picrust2

夜雨聆风