需要JoVE订阅才能观看此内容。 请登录或开始免费试用

方法文章

用于宏基因组数据生物序列分类的深度学习虚拟机平台(面向非计算机专业人员)

3.4K 次观看

DOI:

10.3791/62250

2021年9月25日

本文内容

摘要

本教程介绍了一种构建深度学习算法的简单方法,用于对宏基因组数据进行二分类序列分类。

摘要

在许多宏基因组数据分析中,物种分类、基因功能分类和病毒宿主分类等多种生物序列分类任务都是常见的处理流程。由于宏基因组数据包含大量新物种和新基因,许多研究都需要高性能的分类算法。生物学家在为特定任务寻找合适的序列分类与注释工具时常面临挑战,且往往因缺乏必要的数学与计算知识而无法自行构建相应的算法。近年来,深度学习技术成为热门研究方向,在多种分类任务中展现出显著优势。迄今为止,已开发出许多高度封装的深度学习软件包,使得生物学家无需深入了解算法细节,即可根据自身需求构建深度学习框架。本教程将指导读者构建一个易于使用的序列分类深度学习框架,整个过程无需具备充足的数学知识或编程技能。所有代码均已优化并集成于虚拟机中,用户可直接使用自己的数据运行代码。

引言

宏基因组测序技术绕过了菌株分离过程,直接对环境样本中的总DNA进行测序。因此,宏基因组数据包含来自不同生物体的DNA,且大多数生物序列来源于当前数据库中尚未收录的新型生物体。根据不同的研究目的,生物学家需要从多个角度对这些序列进行分类,例如物种分类1、病毒-细菌分类2,3,4、染色体-质粒分类3,5,6,7,以及基因功能注释(如抗生素抗性基因分类8和毒力因子分类9)。由于宏基因组数据包含大量新物种和新基因,不依赖已知数据库进行序列分类(包括DNA分类和蛋白质分类)的从头预测(ab initio)算法,成为宏基因组数据分析中的重要方法。然而,此类算法的设计需要专业的数学知识和编程技能,因此许多生物学家及算法设计初学者在构建满足自身需求的分类算法时面临困难。

随着人工智能的发展,深度学习算法已广泛应用于生物信息学领域,以完成宏基因组分析中的序列分类等任务。为了帮助初学者理解深度学习算法,我们将在下文以通俗易懂的方式描述该算法。

深度学习技术的概述如图1所示。深度学习算法的核心技术是人工神经网络,其灵感来源于人脑的结构。从数学角度来看,人工神经网络可被视为一个复杂的函数。每个对象(如DNA序列、照片或视频)首先被数字化,然后将数字化后的对象输入该函数中。人工神经网络的任务是根据输入数据给出正确的响应。例如,若构建一个人工神经网络用于执行二分类任务,则该网络应对每个对象输出一个介于0到1之间的概率得分。对于阳性对象,神经网络应给出较高的分数(例如高于0.5的分数),而对于阴性对象则应给出较低的分数。为实现这一目标,人工神经网络需通过训练和测试过程进行构建。在这些过程中,从已知数据库中下载数据,并将其划分为训练集和测试集。每个对象以适当的方式被数字化,并赋予标签(阳性对象标记为"1",阴性对象标记为"0")。在训练过程中,将训练集中的数字化数据输入神经网络。人工神经网络构建一个损失函数,用于表示输入对象的输出得分与其对应标签之间的差异。例如,若输入对象的标签为"1",而输出得分为"0.1",则损失函数值较高;而若输入对象的标签为"0",输出得分为"0.1",则损失函数值较低。人工神经网络采用特定的迭代算法,调整神经网络的参数以最小化损失函数。当损失函数无法再明显降低时,训练过程结束。最后,使用测试集中的数据对已固定的神经网络进行测试,评估其为新对象正确计算标签的能力。有关深度学习算法的更多原理,可参见LeCun 的综述10

尽管深度学习算法的数学原理可能较为复杂,但近年来已开发出许多高度封装的深度学习软件包,程序员只需几行代码即可直接构建一个简单的人工神经网络。

为了帮助生物学家和算法设计初学者更快地开始使用深度学习,本教程提供了一个构建易于使用的序列分类深度学习框架的指南。该框架采用"one-hot"编码形式作为数学模型,将生物序列数字化,并使用卷积神经网络执行分类任务(参见补充材料)。用户在使用本指南前唯一需要准备的是四个"fasta"格式的序列文件。第一个文件包含训练过程中阳性类别的所有序列(记为"p_train.fasta");第二个文件包含训练过程中阴性类别的所有序列(记为"n_train.fasta");第三个文件包含测试过程中阳性类别的所有序列(记为"p_test.fasta");最后一个文件包含测试过程中阴性类别的所有序列(记为"n_test.fasta")。本教程流程图的概览见图2,更多细节将在下文提及。

访问受限。请登录或开始试用以查看此内容。

方案

1. 虚拟机的安装

  1. 从(https://github.com/zhenchengfang/DL-VM)下载虚拟机文件。
  2. 从 https://www.virtualbox.org 下载 VirtualBox 软件。
  3. 使用相关软件(如 "7-Zip"、"WinRAR" 或 "WinZip")解压 ".7z" 文件。
  4. 通过在每一步中点击 Next 按钮来安装 VirtualBox 软件。
  5. 打开 VirtualBox 软件,点击 New 按钮以创建虚拟机。
  6. 第 6 步:在 "Name" 框中输入指定的虚拟机名称,在 "Type" 框中选择 Linux 作为操作系统,在 "Version" 框中选择 Ubuntu ,然后点击 Next 按钮。
  7. 分配虚拟机的内存大小。建议用户将滑块拖动至绿色条最右侧,以尽可能多地分配内存给虚拟机,然后点击 Next 按钮。
  8. 选择 Use an existing virtual hard disk file 选项,选择从第 1.1 步下载的文件 "VM_Bioinfo.vdi",然后点击 Create 按钮。
  9. 点击 Star 按钮以启动虚拟机。
    ​注:图 3 显示了虚拟机桌面的截图。

2. 创建共享文件夹以在物理主机和虚拟机之间交换文件

  1. 在物理主机上创建一个名为 "shared_host" 的共享文件夹,并在虚拟机桌面上创建一个名为 "shared_VM" 的共享文件夹。
  2. 在虚拟机的菜单栏中,依次单击 设备、共享文件夹、共享文件夹设置
  3. 单击右上角的按钮。
  4. 选择在步骤 2.1 中创建的物理主机上的共享文件夹,并选中 自动挂载 选项,然后单击 确定 按钮。
  5. 重启虚拟机。
  6. 在虚拟机桌面上单击右键,打开终端。
  7. 将以下命令复制到终端中:
    ​sudo mount -t vboxsf shared_host ./Desktop/shared_VM
    1. 当提示输入密码时,输入 "1",然后按下 "回车" 键,如 图 4 所示。

3. 准备训练集和测试集的文件

  1. 复制全部四个序列文件 "fasta" 训练和测试过程的格式 "共享宿主" 物理宿主的文件夹中。通过这种方式,所有文件也将出现在该 "共享_VM" 虚拟机的文件夹中。然后,复制该文件夹中的文件 "共享_VM" 文件夹到 "深度学习" 虚拟机的文件夹

4. 使用"one-hot"编码形式对生物序列进行数字化

  1. 进入 "DeepLearning" 文件夹,右键单击并打开终端。输入以下命令:
    ./onehot_encoding p_train.fasta n_train.fasta p_test.fasta n_test.fasta aa
    (用于氨基酸序列)

    ./onehot_encoding p_train.fasta n_train.fasta p_test.fasta n_test.fasta nt
    (用于核酸序列)
    ​注意:此过程的截图见图5

5. 训练和测试人工神经网络

  1. 在终端中,输入以下命令,如图6所示:
    python train.py
    注意:训练过程将开始。

访问受限。请登录或开始试用以查看此内容。

结果

在我们之前的研究中,我们采用与本教程类似的方法,开发了一系列用于宏基因组数据的序列分类工具3,11,12。作为示例,我们已将之前研究中训练集和测试集子集的序列文件3,11存入虚拟机中。

Fang & Zhou11 旨在从病毒组数据中鉴定完整的和部分的原核病毒病毒粒子蛋白。文件 "p_train.fasta" 包含训练集的病毒病毒粒子蛋白片段;文件 "n_train.fasta" 包含训练集的病毒非病毒粒子蛋白片段;文件 "p_test.fasta" 包含测试集的病毒病毒粒子蛋白片段;文件 "n_test.fasta" 包含测试集的病毒非病毒粒子蛋白片段。用户可直接执行以下两条命令以构建神经网络:
./onehot_en...

访问受限。请登录或开始试用以查看此内容。

讨论

本教程面向生物学家和算法设计初学者,介绍了如何构建一个易于使用的深度学习框架,用于宏基因组数据中生物序列的分类。本教程旨在帮助读者直观理解深度学习,并解决初学者在安装深度学习软件包和编写算法代码时常遇到的困难。对于一些简单的分类任务,用户可直接使用该框架完成分类工作。

考虑到许多生物学家对 Linux 操作系统的命令行并不熟悉,我们已在虚拟机中预装了所有依赖软件。通过这种方式,用户可直接在虚拟机中按照上述方案运行代码。此外,如果用户熟悉 Linux 操作系统和 Python 编程,也可以在服务器或本地计算机上直接运行本方案。在此情况下,用户需预先安装以下依赖软件:

Python 2.7.12 (https://www.python.org/)
Python 软件包:
numpy 1.13.1 (http://www.numpy.org/)
h5py 2.6.0 (http://www.h5py.org/)
TensorFlow...

访问受限。请登录或开始试用以查看此内容。

披露

作者声明不存在利益冲突。

致谢

本研究由国家自然科学基金(81925026、82002201、81800746、82102508)资助。

访问受限。请登录或开始试用以查看此内容。

材料

本文使用的材料清单
姓名公司目录编号评论
PC 或服务器NANA建议内存:>6GB
VirtualBox 软件NANA链接:https://www.virtualbox.org

参考文献

  1. Liang, Q., Bible, P. W., Liu, Y., Zou, B., Wei, L. DeepMicrobes: taxonomic classification for metagenomics with deep learning. NAR Genomics and Bioinformatics. 2 (1), (2020).
  2. Ren, J., et al. VirFinder: a novel k -mer based tool for identifying viral sequences from assembled metagenomic data. Microbiome. 5 (1), 69(2017).
  3. Fang, Z., et al. PPR-Meta: a tool for identifying phages and plasmids from metagenomic fragments using deep learning. GigaScience. 8 (6), (2019).
  4. Ren, J., et al. Identifying viruses from metagenomic data using deep learning. Quantitative Biology. 8 (1), 64-77 (2020).
  5. Zhou, F., Xu, Y. cBar: a computer program to distinguish plasmid-derived from chromosome-derived sequence fragments in metagenomics data. Bioinformatics. 26 (16), 2051-2052 (2010).
  6. Krawczyk, P. S., Lipinski, L., Dziembowski, A. PlasFlow: predicting plasmid sequences in metagenomic data using genome signatures. Nucleic Acids Research. 46 (6), (2018).
  7. Pellow, D., Mizrahi, I., Shamir, R. PlasClass improves plasmid sequence classification. PLOS Computational Biology. 16 (4), (2020).
  8. Arango-Argoty, G., et al. DeepARG: a deep learning approach for predicting antibiotic resistance genes from metagenomic data. Microbiome. 6 (1), 1-15 (2018).
  9. Zheng, D., Pang, G., Liu, B., Chen, L., Yang, J. Learning transferable deep convolutional neural networks for the classification of bacterial virulence factors. Bioinformatics. 36 (12), 3693-3702 (2020).
  10. LeCun, Y., Bengio, Y., Hinton, G. Deep learning. Nature. 521 (7553), 436-444 (2015).
  11. Fang, Z., Zhou, H. VirionFinder: Identification of Complete and Partial Prokaryote Virus Virion Protein From Virome Data Using the Sequence and Biochemical Properties of Amino Acids. Frontiers in Microbiology. 12, 615711(2021).
  12. Fang, Z., Zhou, H. Identification of the conjugative and mobilizable plasmid fragments in the plasmidome using sequence signatures. Microbial Genomics. 6 (11), (2020).
  13. Richter, D. C., Ott, F., Auch, A. F., Schmid, R., Huson, D. H. MetaSim-a sequencing simulator for genomics and metagenomics. PLoS One. 3 (10), 3373(2008).
  14. Zhang, M., et al. Prediction of virus-host infectious association by supervised learning methods. BMC Bioinformatics. 18 (3), 143-154 (2017).

访问受限。请登录或开始试用以查看此内容。

重印与许可

标签