摘要: 精确、全面地计算宏基因组样本之间的距离对于理解微生物组的β多样性起到至关重要的作用。目前针对宏基因组的距离计算方法往往忽略了物种之间的进化关系,抑或是舍弃掉了无法定位到系统发育树叶子结点的未知物种,从而导致对β多样性进行错误地解读。为解决以上问题,我们提出了Dynamic Meta-Storms (以下简称DMS) 算法,可基于生物分类和系统发育信息,在物种水平上对宏基因组样本进行全面地比较。在计算两个微生物组的距离时,对于其中能够精确注释到物种 (species) 水平的成分,DMS算法将这些物种映射到系统发育树的叶子结点上进行比较;而对于只能注释到属或更高水平分类信息的成分,DMS算法将其动态、合理地放置到系统发育树的虚拟中间结点上,从而最大限度地利用宏基因组的信息来计算样本之间的距离。同时,得益于并行计算技术的优化,DMS通量大且消耗资源少,在单个计算节点上计算10万个宏基因组样本的距离矩阵,仅用6.4个小时即可完成。最新版本的DMS软件可在https://github.com/qibebt-bioinfo/dynamic-meta-storms下载。输入多个宏基因组样本的物种组成后,DMS便可计算出样本之间距离矩阵 (distance matrix) ,用于后续的β多样性分析。目前DMS软件已经内置了与MetaPhlAn2兼容的生物分类信息和系统发育树,同时也支持用户自定义的生物分类信息和系统发育树。
关键词: 宏基因组分析工具, Dynamic Meta-Storms (DMS), 生物信息算法, 鸟枪宏基因组, 距离矩阵, β多样性
仪器设备
- DMS仅需要具有约2 GB RAM (内存) 的标准计算机即可支持用户的操作。为了获得最佳性能,我们建议您使用以下规格的计算机:
内存:4 GB +
CPU:4核+
软件
- DMS软件 (Jing et al., 2020) 可运行于Linux、Mac OS、Windows 10内置Linux子系统等类Unix操作系统中。Dynamic Meta-Storms依赖于OpenMP库来实现并行计算。常见版本的Linux系统已经安装了OpenMP,无需额外配置。在Mac OS中,需要安装支持OpenMP的编译器,建议使用homebrew软件包管理器,通过以下命令来配置OpenMP库
brew install gcc
DMS软件已经内置了与MetaPhlAn2 (Segata et al., 2012; Truong et al., 2015) 兼容的生物分类信息和系统发育树,其中包含了MetaPhlAn2的默认数据库中所有的细菌物种。我们建议用MetaPhlAn2对宏基因组序列进行预处理,将得到的物种名称和丰度结果作为DMS的输入来计算距离矩阵 (详见实验步骤2.1) 。DMS内置的分类信息和系统发育树同样也适用于由mOTUs、Kraken等其他软件得出来的宏基因组物种信息。同时,DMS也支持用户自定义的生物分类信息和系统发育树 (详见实验步骤3.2) 。
实验步骤
- 安装DMS
我们建议选择步骤1.1中自动安装的方式来配置DMS软件。但如果自动安装程序失败,可以按照步骤1.2中的步骤手动安装DMS软件。 - 从宏基因组序列获得物种丰度信息
- 使用DMS计算距离矩阵
- DMS软件包中工具的汇总介绍
- 计算方法
结果与分析
为了验证DMS算法的准确性、可靠性与计算性能,本工作采用三个宏基因组数据集 (表6) 对DMS算法进行测试,并与Weighted UniFrac和Bray-Curtis距离进行比较。
表6. 测试数据集
以上测试中所有的数据集均可在DMS软件下载页面的“Supplementary”部分中下载。
- 基于模拟数据的算法验证
根据图3. A的样本组成结构模拟合成的样本组成结构,模拟4组宏基因组样本 (每组10个,共40个;Synthetic Dataset 1) 。预期的样本距离如图3. B所示,即m1与m2之间的距离大于m1与m3之间的距离 (Case I) 且m1与m2之间的距离大于m1与m4之间的距离 (Case II) 。分别利用DMS, Weighted UniFrac和Bray-Curtis算法计算其距离矩阵,并进行主坐标分析 (PCoA) 来获得其β多样性分布。
图3. 模拟样本的组成结构 (A) 与预期的样本距离 (B)
图4的结果显示,只有DMS距离的结果与预期相符,Bray-Curtis距离由于没有考虑物种间的进化距离,在Case I和II均出现错误;Weighted UniFrac距离由于忽略了未注释到系统发育树叶子结点 (即species水平) 的成分,在Case II出现错误。
图4. 基于DMS, Weighted UniFrac和Bray-Curtis距离的PCoA结果
- 基于真实数据的算法测试
将人类微生物组计划 (HMP) 第1阶段 (Peterson et al., 2009) 中的2,355个真实的人体宏基因组样本作为测试数据集 (来自肠道、口腔、皮肤和生殖道四个身体部位;Real Dataset 1) 分别利用DMS, Weighted UniFrac和Bray-Curtis算法计算其距离矩阵,Anosim检验 (1,000次重复) 结果显示DMS距离能够更明显地区分样本来源的身体部位 (R = 0.965, P = 0.01;图5) 。
图5. 根据DMS, Weighted UniFrac和Bray-Curtis距离进行PCoA分析和Anosim检验
- 算法运行效率测试
随机选取不同数目 (从10,000到100,000) 的宏基因组模拟样本 (Synthetic Dataset 2) ,利用DMS算法计算其距离矩阵,并将Striped UniFrac算法 (McDonald et al., 2018) 作为参照,比较两者的总体运行时间和RAM (内存) 的最大使用值。所有测试均在同一个具有80个线程的非共享计算节点上完成。图6中的结果显示,DMS计算10万个宏基因组样本的距离矩阵,仅用6.4个小时即可完成,比参照方法快20%,且节省了40%以上的内存消耗。随着宏基因组样本的数量迅速增长,此功能将发挥更大的作用。
图6. DMS与Striped UniFrac计算不同数量样本的距离矩阵所消耗的运行时间和内存使用量的对比
失败经验
问题1
安装提示:“make: g++: command not found”
问题原因:没有安装DMS所需要的g++编译器。
解决方法:根据不同的操作系统,利用相应的命令安装g++,常见的操作系统:
Ubuntu系统:sudo apt-get install g++
CentOS系统:sudo yum install g++
MacOS系统:brew install gcc
问题2
运行提示:“MS-comp-taxa-dynamic: command not found”
问题原因:环境变量设置失败。
解决方法:请参考实验步骤1.2.2中手动配置环境变量的方法将DMS所需要的环境变量添加到配置文件中。
问题3
运行提示:“Error: Please set the environment variable "DynamicMetaStorms" to the directory”
问题原因:DMS的库文件没有配置到环境变量中。
解决方法:请参考实验步骤1.2.2中手动配置环境变量的方法将DMS的库文件配置到环境变量中。
问题4
运行提示:“Error: Cannot open file: XXX”。
问题原因:输入了错误的输入/输出文件路径。
解决方案:请检查正确的输入文件路径 (可在输入时用Tab键自动补全) ,并确保用户在输出路径下有足够的写权限。
问题5
运行提示:“Argument #X Error : Arguments must start with -”。
问题原因:运行命令中所有参数选项名称必须以“-”开头。
解决方法:请检查第X个参数并更正。
问题6
运行提示:“Error: Features: s__XXXX does not have XX Samples”
问题原因:输入的物种丰度表中,物种“s__XXXX”所在行的丰度信息列数与样本数不统一。
解决方法:请按照表3的格式,检查样本数量 (第一行) 与“s__XXXX”所在行的丰度信息个数是否一致。如果某样本中不包含该物种,则丰度标为0。如果输入的是该文件的转置格式 (即每一行表示一个样本,每一列表示一个物种) ,请在运行MS-comp-taxa和MS-comp-taxa-dynamic时增加参数“-R F”。
致谢
本项工作得到了国家自然科学基金委员会31771463和32070086,中国科学院KFZD-SW-219-5,山东省自然科学基金会ZR2017ZB0421和ZR201807060158的资助。
参考文献
- Jing, G., Zhang, Y., Yang, M., Liu, L., Xu, J. and Su, X. (2020). Dynamic Meta-Storms enables comprehensive taxonomic and phylogenetic comparison of shotgun metagenomes at the species level. Bioinformatics 36(7): 2308-2310.
- McDonald, D., Vazquez-Baeza, Y., Koslicki, D., McClelland, J., Reeve, N., Xu, Z., Gonzalez, A. and Knight, R. (2018). Striped UniFrac: enabling microbiome analysis at unprecedented scale. Nature Methods 15(11): 847-848.
- Peterson, J., Garges, S., Giovanni, M., McInnes, P., Wang, L., Schloss, J. A., Bonazzi, V., McEwen, J. E., Wetterstrand, K. A., Deal, C. et al. (2009). The NIH Human Microbiome Project. Genome Research 19(12): 2317-2323.
- Segata, N., Waldron, L., Ballarini, A., Narasimhan, V., Jousson, O. and Huttenhower, C. (2012). Metagenomic microbial community profiling using unique clade-specific marker genes. Nature Methods 9(8): 811-814.
- Su, X., Wang, X., Jing, G. and Ning, K. (2014). GPU-Meta-Storms: computing the structure similarities among massive amount of microbial community samples using GPU. Bioinformatics 30(7): 1031-1033.
- 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.
- Truong, D. T., Franzosa, E. A., Tickle, T. L., Scholz, M., Weingart, G., Pasolli, E., Tett, A., Huttenhower, C. and Segata, N. (2015). MetaPhlAn2 for enhanced metagenomic taxonomic profiling. Nature Methods 12(10): 902-90
Copyright: © 2021 The Authors; exclusive licensee Bio-protocol LLC.
引用格式:张玉凤, 荆功超, 陈俞竹, 徐健, 苏晓泉. (2021). Dynamic Meta-Storms算法:基于物种水平的生物分类学和系统发育信息对宏基因组进行全面比较. // 微生物组实验手册.
Bio-101: e2003540. DOI:
10.21769/BioProtoc.2003540.
How to cite: Zhang, Y. F., Jing, G. C., Chen, Y. Z., Xu, J. and Su, X. Q. (2021). Dynamic Meta-Storms: comprehensive taxonomic and phylogenetic comparison of shotgun metagenomes at the species level . // Microbiome Protocols eBook.
Bio-101: e2003540. DOI:
10.21769/BioProtoc.2003540.