摘要:测序通量的提高和测序成本的降低,极大地方便了微生物组研究实验的开展,进而产生了浩如烟海的组测序数据,这些数据中蕴藏着微生物与其环境表型(如宿主健康或生态系统状态)之间的关联。想要破译隐藏在微生物组数据下的生物信息,出色而又可靠的软件工具是不可或缺的。然而现在的大多数的软件,其可用性方面的缺陷为非计算机专业的用户设置了难以逾越的鸿沟。与此同时,计算通量已经成为了许多分析平台处理大规模数据集的一个重要瓶颈。为解决此问题,我们开发了Parallel-Meta Suite(PMS),一个用于快速和全面的微生物组数据分析、可视化和注释的可交互软件套件。PMS采用了最先进的算法,涵盖序列微生物组数据物种与功能解析、统计分析、可视化等一系列流程,并具有友好的图形界面,可以满足各种用户的分析需求。为了适应快速增长的计算能力需求,PMS的整个分析流程都使用并行计算策略进行了优化,具备快速处理上万的样本的能力。此外,PMS还具有多操作系统兼容、简易安装与全自动运行等特性
关键词: 微生物组, 宏基因组, 扩增子, 分析流程, 可视化, 并行计算
仪器设备
目前Linux(如Ubuntu、CentOS、RedHat等)、Mac OS和Windows 10/11内置的WSL(Windows Subsystem for Linux)等操作系统均能够支持PMS。
PMS仅需要具有约2GB内存的标准计算机即可支持其安装与执行。为了更好的体验和更快的计算,我们推荐在具有8GB以上内存和4核3.3Ghz以上CPU的标准计算机上使用PMS。
软件
PMS软件最新版本为3.7。该软件主要由C++和R语言开发编写。
C++语言的支持需要安装C++编译器(例如g++)。对于Linux操作系统,大多版本已经在系统中安装了g++。对于Mac OS,建议从App Store安装Xcode应用程序,即可完成编译器的安装与配置。
R语言需要安装r-base提供运行环境。对于Linux操作系统,可以使用系统自带的包管理工具安装r-base。对于Mac OS,建议从App Store安装RStudio应用程序,即可完成R运行环境的安装与配置。
vsearch已经内置于PMS中,版本号为2.15.1。如果想要手动安装或更新,请从https://sourceforge.net/projects/vsearch/下载,并放置“vsearch”于$ParallelMETA/bin/ 目录下。
实验步骤
- 安装Parallel-Meta Suite
我们建议选择步骤 1.1 中自动安装的方式来配置PMS软件。但如果自动安装程序失败,可以按照步骤 1.2 中的步骤手动安装PMS软件。
- 输入格式
- 分析
- Parallel-Meta Suite的工作流程
图5. PMS的工作流程
PMS的分析工作流程如图5所示。PMS可以接受宏基因组的鸟枪序列或扩增子序列作为原始输入。对于鸟枪法测序序列,利用隐式马尔可夫模型(Mistry等, 2013)识别和提取标记基因片段(如16S rRNA或18S rRNA基因)。对于扩增子序列,PMS对标记基因进行ASV降噪(Callahan等, 2017)和去嵌合体(Edgar等, 2011),以降低测序错误的干扰(这一步骤对于鸟枪法测序序列的默认设置是关闭,也可由用户自行开启)。然后,通过内置的vsearch(Rognes等, 2016)将序列与参考数据库进行比对,进行从界级到物种级的剖析和分类学注释。每个分类级别上群落成员的相对丰度也使用标记基因拷贝数进行校正。之后,使用PICRUSt算法(Douglas等, 2020)预测功能信息的KEGG Orthology(KO)基因家族,并通过KEGG BRITE层次结构对代谢途径进行注释。PMS还通过NSTI(Nearest Sequenced Taxonomy Index)值来衡量功能的预测准确性(Langille等, 2013),NSTI是由OTU和它们在系统发育结构中最近的单独测序的亲属之间的距离之和计算出来。
微生物组的物种信息通过Krona(Ondov等, 2011)和条形图进行可视化。然后,在用户选择的特定分类学或路径级别上进行微生物多样性分析、生物标记物选择和共现网络构建。α多样性分析计算每个样品的香农、辛普森和Chao1指数。对于离散的元数据(如类型、状态、性别等),α多样性指数进行Wilcoxon或Kruskal秩和检验,对于连续变量(如年龄、BMI、PH值等)进行回归分析。β多样性通过加权/非加权Meta-Storms(Su等, 2012)算法(针对物种分类)或Hierarchical Meta-Storms(Zhang等, 2021)(针对功能)计算所有样本之间距离矩阵,并通过热图进行可视化。之后,通过PCoA(主坐标分析)和PCA(主成分分析)图展示β-多样性模式,对离散元数据进行PERMANOVA和ANOSIM检验,对连续变量和距离值进行回归分析。在生物标志物分析中,PMS使用Wilcoxon或Kruskal秩和检验,选择出在不同组别(离散数据变量)间具有显著差异的微生物或基因单元作为候选标记物,然后通过随机森林(Vangay等,2019; Qian等,2020)的重要性进行排序。与连续变量密切相关的微生物组特征也通过回归分析被挑选出来作为生物标志物。在共现网络中,网络节点是群落特征(例如,一个微生物分类单元),网络的边代表节点间的Spearman相关性,然后计算网络密度、直径、半径和集中度来量化网络属性。
结果与分析
为了证明PMS在解码微生物组概况和将生态模式与关键meta数据联系起来的能力,这里选取了医院开业前后室内微生物组的变化验证。所有的数据集均可在 PMS 软件下载页面的“Supplementary”部分中下载。
该数据集包含894个来自医院开业前后室内环境的16S-扩增子微生物组样本。我们用所有的默认参数执行了PMS分析流程。从结果中我们可以观察到,医院开放后,α多样性的香农指数下降(图6A;Wilcoxon检验p值<0.01),整体群落的β多样性明显转变(图6B;加权Meta-Storms距离,PERMANOVA检验p值<0.01),均已被Lax等人(Lax等, 2017)验证过。两个时间点之间的这种微生物动态也可以通过相对丰度的变化来说明(图6C)。使用统计测试和机器学习分析方法,PMS还确定了有助于区分医院表面从开业前到开业后状态的这种生态变化的最重要的微生物,如葡萄球菌、莱茵海拉菌和莫德斯特菌。这个机器学习模型在区分室内样本(图6D)的属级状态方面达到了95.91%的准确率(误差率=4.09%)。
图6. 医院开业前后室内微生物组的变化
(A)医院开业后,α多样性的香农指数下降,Wilcoxon测试P值<0.01(P值<0.05表示差异显著);(B)根据加权的Meta-Storms距离,开院前和开院后状态下的整体β多样性有显著差异,PERMANOVA检验P值<0.01(P值<0.05表示有显著差异);(C)两个时间点之间属水平的相对丰度的动态变化;(D)五种细菌属被选为可以区分两个时间点的生物标志物。X轴是随机森林模型产生的重要性得分(准确性的平均下降),该模型评估了每个生物标志物对区分不同医院状态的重要性
视频1. PMS安装使用指南与示范
失败经验
问题1
安装提示:”make: g++: command not found”
问题原因:没有安装Parallel-Meta Suite所需要的g++编译器。
解决方法:根据不同的操作系统,利用相应的命令安装 g++,常见的操作系统:
Ubuntu Linux系统:sudo apt-get install g++
CentOS Linux系统:sudo yum install g++
Mac OS 系统:通过App Store安装Xcode应用程序
问题2
运行提示:”Please set the environment variable ParallelMETA to the directory”
问题原因:环境变量设置失败。
解决方法:请参考实验步骤 1.2.2 中手动配置环境变量的方法将 Parallel-Meta Suite 所需要的环境变量添加到配置文件中。
问题3
运行提示:”PM-pipeline: command not found”
问题原因:环境变量设置失败。
解决方法:请参考实验步骤 1.2.2 中手动配置环境变量的方法将 Parallel-Meta Suite 所需要的环境变量添加到配置文件中。
问题4
运行提示:”Error: Cannot open file: XXX”
问题原因:输入了错误的输入/输出文件路径。
解决方案:请检查正确的输入文件路径(可在输入时用Tab 键自动补全),并确保用户在输出路径下有足够的写权限。
问题5
运行提示:”Argument #X Error : Arguments must start with -”
问题原因:运行命令中所有参数选项名称必须以“-”开头。
解决方法:请检查第 X 个参数并更正。
问题6
运行提示:
vsearch: unrecognized option '--cluster_unoise'
Error: Cannot open file: ./Result/tmp/denoised
vsearch: unrecognized option '--uchime3_denovo'
Error: Cannot open file: ./Result/tmp/nonchimeras
vsearch: unrecognized option '--otutabout'
Profiling finished
Error: Open Mapping File error : ./Result/tmp/map_output.txt
问题原因:用户使用PMS软件时,系统自动调用了默认环境的vsearch,而该vsearch的版本与PMS中所需的vsearch版本(v2.15.1)不同。
解决方法:更换环境变量中vsearch变量值,或者更新默认环境下vsearch版本。
问题7
运行提示:
Installing package into ‘/usr/local/lib/R/site-library’ (as ‘lib’ is unspecified)
Warning in install.packages(p, dep = TRUE, repos = “http://cran.us.r-
project.org/”) :
'lib = “/usr/local/lib/R/site-library”' is not writable
Error in install.packages(p, dep = TRUE, repos = “http://cran.us.r-project.org/”) :
unable to install packages
问题原因:R包的安装存在问题,用户对该文件夹没有”写”权限,需要改变/usr/local/lib/R/site-library文件夹的权限或者更换R library位置。
解决方法:
方案一:增加文件夹权限
step1: 进入文件夹
cd /usr/local/lib/R
step2: 加权限
sudo chmod o+w site-library
step3: 检查权限
ls -l
step4: 输出行如下
drwxrwsrwx xxxxxxxxxx(省略) site-library
方案二:以管理员身份进入
step1: su root
step2: 输入密码进入
step3: 再次执行命令
问题8
运行提示:出现”Installing package into “usr/local/lib/R/site-library” (as lib is unspecifed)”之后出现很多代码,一直在刷新
问题原因:PMS画图依赖一些R包,这时是在安装R包。
解决方法:如果安装了很长时间R包还是没有下载好,建议用户更换下载R包的源(如清华)。打开Rscript文件夹下的config.R文件,更换usePackage函数
(文件中第13-17行)为以下内容:
usePackage <- function(p) {
if (!is.element(p, installed.packages()[,1]))
install.packages(p, dep=TRUE, repos=“https://mirrors.tuna.tsinghua.edu.cn/CRAN/”)
suppressWarnings(suppressMessages(invisible(require(p, character.only=TRUE))))
}
问题9
运行提示:randomForest包安装不成功,用”install.packages(“randomForest”,
dep=TRUE, repos=“https://mirrors.tuna.tsinghua.edu.cn/CRAN/”)”命令单独安
装后报错:-bash: syntax error near unexpected token ”randomForest”
问题原因:没有进入R环境就直接执行安装命令
解决方法:
step1:
输入R后回车
step2:
显示R version 3.6.x xxxxx等一系列提示信息后,输入
install.packages(“randomForest”, dep=TRUE,
repos=“https://mirrors.tuna.tsinghua.edu.cn/CRAN/”)
回车后根据提示进行操作就可以。
问题10
运行提示:
“There are 0 sequences in total
Profiling starts
Profiling finished
0 matches are parsed
0 taxonomy annotations are parsed out”
问题原因:在当前执行命令的路径下找不到seqs.list中的文件地址。
以PMS样例数据举例,执行命令地址为 /home/username,输入正确路径
/mnt/d/parallel-meta-suite/example/seqs.list(meta同理)后生成如下命令:
PM-pipeline -i /mnt/d/parallel-meta-suite/example/seqs.list -m /mnt/d/parallel-
meta-suite/example/meta.txt
但seqs.list样本地址为seqs/S0437C.fna,在当前执行命令地址/home/username
下找不到seqs/S0437C.fna,因此运行后会出现这种错误。
解决方法:
方案一:切换到seqs.list、meta.txt、seq文件夹所在的位置再次执行
PM-pipeline –i seqs.list –m meta.txt
方案二:更换seqs.list中每个样本的地址。按照前面的路径举例,如果
在/home/username下执行,那么seqs.list中S0437C样本对应的地址是
/mnt/d/parallel-meta-suite/example/seqs/S0437C.fna,其他同理。
问题11
运行提示:运行完成后,打开文件夹中PDF文件,显示PDF文件已损坏或
该文件可能已被移除至别处、修改或删除
问题原因:R包安装未成功导致调用相应R包时出错,无法画图,因此该文
件为空无法打开显示
解决方法:根据error.log文件中的报错,重新安装需要的R包。如果有很多
R包都未安装成功,建议按照前面换清华源的步骤操作后再次执行“Rscript
config.R”以重新安装R包。
问题12
运行提示:软件分析的结果中只有Phylum(门)和Genus(属)层的分析结果,能否直接得到样品全部分类层次的信息?
问题原因:PMS默认只输出Phylum(门)和Genus(属)层的分析结果,可以在分析参数中指定任意多个层次。
解决方法: 在3.1配置向导“Diversity”类别的“Taxonomy Level”项中,选中任意多个层次(图7);或者在PM-pipeline命令中,用“-L”参数指定任意多个层次。
图7. 配置向导中指定任意多个分类层次
致谢
本项工作得到了国家重点研发计划2021YFF0704500、国家自然科学基金31771463和32070086项目的支持。
参考文献
- Callahan, B. J., McMurdie, P. J. and Holmes, S. P. (2017). Exact sequence variants should replace operational taxonomic units in marker-gene data analysis.The ISME Journal 11(12): 2639-2643.
- Douglas, G. M., Maffei, V. J., Zaneveld, J. R., Yurgel, S. N., Brown, J. R., Taylor, C. M., Huttenhower, C. and Langille, M. G. I. (2020). PICRUSt2 for prediction of metagenome functions. Nature Biotechnology 38(6): 685-688.
- Edgar, R. C., Haas, B. J., Clemente, J. C., Quince, C. and Knight, R. (2011). UCHIME improves sensitivity and speed of chimera detection. Bioinformatics 27(16): 2194-2200.
- Langille, M. G. I., Zaneveld, J., Caporaso, J. G., McDonald, D., Knights, D., Reyes, J. A., Clemente, J. C., Burkepile, D. E., Vega Thurber, R. L., Knight, R., Beiko, R. G. and Huttenhower, C. (2013). Predictive functional profiling of microbial communities using 16S rRNA marker gene sequences.Nature Biotechnology 31(9): 814-821.
- Lax, S., Sangwan, N., Smith, D., Larsen, P., Handley, K. M., Richardson, M., Guyton, K., Krezalek, M., Shogan, B. D., Defazio, J., Flemming, I., Shakhsheer, B., Weber, S., Landon, E., Garcia-Houchins, S., Siegel, J., Alverdy, J., Knight, R., Stephens, B. and Gilbert, J. A. (2017). Bacterial colonization and succession in a newly opened hospital. Science Translational Medicine 9(391).
- Mistry, J., Finn, R. D., Eddy, S. R., Bateman, A. and Punta, M. (2013). Challenges in homology search: HMMER3 and convergent evolution of coiled-coil regions.Nucleic Acids Research 41(12): e121-e121.
- Ondov, B. D., Bergman, N. H. and Phillippy, A. M. (2011). Interactive metagenomic visualization in a Web browser. BMC Bioinformatics 12(1): 385.
- Qian, X., Liu, Y.-X., Ye, X., Zheng, W., Lv, S., Mo, M., Lin, J., Wang, W., Wang, W., Zhang, X. and Lu, M. (2020). Gut microbiota in children with juvenile idiopathic arthritis: characteristics, biomarker identification, and usefulness in clinical prediction. BMC Genomics 21(1): 286.
- Rognes, T., Flouri, T., Nichols, B., Quince, C. and Mahé, F. (2016). VSEARCH: a versatile open source tool for metagenomics. PeerJ 4: e2584.
- Su, X., Xu, J. and Ning, K. (2012). Meta-Storms: efficient search for similar microbial communities based on a novel indexing scheme and similarity score for metagenomic data. Bioinformatics 28(19): 2493-2501.
- Vangay, P., Hillmann, B. M. and Knights, D. (2019). Microbiome Learning Repo (ML Repo): A public repository of microbiome regression and classification tasks.GigaScience 8(5): giz042.
- Zhang, Y., Jing, G., Chen, Y., Li, J. and Su, X. (2021). Hierarchical Meta-Storms enables comprehensive and rapid comparison of microbiome functional profiles on a large scale using hierarchical dissimilarity metrics and parallel computing.Bioinformatics Advances 1(1): vbab003.
Copyright: © 2022 The Authors; exclusive licensee Bio-protocol LLC.
引用格式:李坚, 陈俞竹, 苏晓泉. (2022). 利用Parallel-Meta Suite在多平台下进行交互式微生物组分析. // 微生物组实验手册.
Bio-101: e2204656. DOI:
10.21769/BioProtoc.2204656.
How to cite: Li, J., Chen, Y. Z. and Su, X. Q. (2022). Interactive Microbiome Data Analysis on Multiple Platforms Using Parallel-Meta Suite. // Microbiome Protocols eBook.
Bio-101: e2204656. DOI:
10.21769/BioProtoc.2204656.