摘要: 精确、全面地计算宏基因组样本之间的距离对于理解微生物组的β多样性起到至关重要的作用。目前针对宏基因组的距离计算方法往往忽略了物种之间的进化关系,抑或是舍弃掉了无法定位到系统发育树叶子结点的未知物种,从而导致对β多样性进行错误地解读。为解决以上问题,我们提出了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算法的准确性、可靠性与计算性能,本工作采用三个宏基因组数据集 (表6) 对DMS算法进行测试,并与Weighted UniFrac和Bray-Curtis距离进行比较。 表6. 测试数据集 以上测试中所有的数据集均可在DMS软件下载页面的“Supplementary”部分中下载。
失败经验
问题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的资助。
参考文献
If you have any questions/comments about this protocol, you are highly recommended to post here. We will invite the authors of this protocol as well as some of its users to address your questions/comments. To make it easier for them to help you, you are encouraged to post your data including images for the troubleshooting.