A brief version of this protocol appeared in:
Advertisement

Navigate this Article


 

Algorithms and Software Development of DNA Barcoding   

How to cite Favorites Q&A Share your feedback Cited by

摘要:DNA 条形码分析目前已成为基础分类、系统发育、生物多样性、生态及进化生物学等研究领域常规性的实验室工作。依据基因组序列中一小段或几小段序列进行物种识别是 DNA 条形码的核心内涵,典型的 DNA 条形码研究需具备三个要素:条形码库、识别算法及问询序列,其中识别算法及软件开发处于核心地位。围绕 DNA 条形码研究中涉及的常见问题,本论文概述了国内外 DNA 条形码算法及软件开发的研究进展,对最新的算法及软件进行了介绍,提供了常用 DNA 条形码相关软件的下载链接,并对中国DNA条形码的研究现状和尚需解决的问题进行了分析和展望。

关键词: DNA 条形码, 算法, 物种识别, DNA 分类, 宏条形码, 物种界定

研究背景

对所研究的物种进行准确的鉴定是生物学不同研究领域内最基础的一个环节,迅速且精确的物种鉴定是开展生态学和生物多样性等研究的关键一步 (Shi et al., 2018)。18 世纪中叶林奈提出双名法,分类学家通过与模式标本的形态特征进行比较,分类并命名了大量的世界各地的新种 (May, 1988)。据估计,全球有 870 万种真核生物物种,经过了 250 年的分类,海洋中仍有 91% 的物种未被描述,陆地上约有 86% 的现存物种未被分类学家进行研究 (Mora et al., 2011),如此庞大的物种数量对于传统分类学家来说是个非常艰巨的任务,与此相矛盾的是,传统分类学家的研究团队却在不断地减少(Orr et al., 2021)。近些年来,随着分子生物学和生物信息学等学科的快速发展,外加测序技术的不断更新迭代,产生了大量的分子数据,这为诸多生物学领域带来了新的机遇。2003 年,加拿大学者 Hebert 提出使用线粒体细胞色素氧化酶亚基 I 的基因片段进行物种识别 (Hebert et al., 2003a),这被称为DNA 条形码 (DNA barcoding),该技术通过使用较短序列片段建立起分子数据和物种之间的匹配关系 (Hebert et al., 2003b; Hickerson et al., 2006; Hollingsworth et al., 2011)。DNA 条形码与全基因组序列相比来说一般较短,更易于获得,实验周期较短,是传统的形态学方法的有力补充,避免了传统形态方法过于依赖分类学家的经验及主观化判断,可以更加高效的实现物种识别的标准化、流程化和自动化。目前,DNA 条形码技术已经在不同生物类群得到广泛应用,包括:脊椎动物 (Hebert et al., 2004; Lorenz et al., 2005; Puncher et al., 2015)、无脊椎动物 (Hajibabaei et al., 2006; Kumar et al., 2007; Burns et al., 2008) 和植物 (Kress et al., 2005; Kress and Erickson, 2007) 等类群。与此同时也有很多研究者在不断开发 DNA 条形码数据分析的算法,比如,基于人工智能 (artificial intelligence, AI) 的反向传播 (back propagation, BP) 算法 (Zhang et al., 2008),基于模糊理论的方法 (Zhang et al., 2012b),利用分步搜索的马尔可夫模型 (Markov model) 结合模糊集理论 (fuzzy set theory) 的方法 (Shi et al., 2018),基于径向基神经网络 (radial basis function neural network, RBF NN) 的方法 (Zhang et al., 2012a),等等。为了方便用户更加便捷的使用多种不同的算法,研究者还尝试将多种算法整合在一个 R 包内 (BarcodingR),并提供条形码的相关分析,例如 DNA 条形码间隔区分析 (Zhang et al., 2017)。这些新算法和相关网站的不断涌现,为从事生物多样性调查和群落生态学研究的科研人员提供了使用 DNA 条形码更加迅速和自动化进行物种鉴定的强有力的保障。

方法进展

  1. 常用 DNA 条形码算法简介及进展
    1.1
    基于序列相似性的 BLAST 方法和基于遗传距离的邻接法 (neighbor joining, NJ)
            早期 DNA 条形码方法使用序列相似性或遗传距离来推断物种归属 (Hebert et al., 2003a; Hebert et al., 2003b; Hebert et al., 2004)。其中包括两种常用的方法:简单 BLAST 方法 (Altschul et al., 1990; Altschul et al., 1997) 和基于遗传距离的进化树方法 (邻接法,Neighbour joining, NJ) (Hebert et al., 2003a; Hebert et al., 2003b; Steinke et al., 2005)。首先,BLAST 方法通常使用 DNA 序列的相似性来搜索 DNA 条形码参考库中不一定是最近亲缘关系的最近邻 (nearest neighbor) (Koski and Golding, 2001)。其次,利用这些方法还需要一个先验的相似性阈值 (cut-off) 来确定物种的隶属关系。然而,即使在同源物种之间,这种普遍的阈值是否存在仍然值得怀疑 (Ferguson, 2002; Hickerson et al., 2006; Whitworth et al., 2007)。第三,当序列之间的差异转化为遗传距离时,信息不可避免地会丢失 (Steel et al., 1988)。最后,这些非特征的方法 (non-character-based methods) 也被批评为与经典的基于特征的形态分类 (character-based taxonomy) 相悖 (DeSalle et al., 2005)。
    1.2
    基于概率统计的算法——贝叶斯、决策论相关的 DNA 条形码算法
            10 年前,DNA 条形码技术在物种鉴定方面取得了相当大的进展,特别是在贝叶斯理论的框架下 (Munch et al., 2008a; Munch et al., 2008b; Lou and Golding, 2010)。贝叶斯方法提供了必要的统计性能,以区分可靠和不可靠的物种识别,最重要的是,提供统计置信度的衡量标准 (Munch et al., 2008a; Munch et al., 2008b; Lou and Golding, 2010)。迄今已有三种基于贝叶斯算法的方法被提出。第一个方法是计算已知属于一个特定物种的序列溯祖的似然值,然后再计算当问询序列被视为该物种的成员时的似然值的变化 (Abdo and Golding, 2007; Lou and Golding, 2010)。对于大型数据集,溯祖方法可能非常耗时,因为要对所有可能的溯祖事件进行抽样,需要生成大量的溯祖树 (Lou and Golding, 2010)。第二种贝叶斯方法是统计分配包 (SAP),它整合了来自 NCBI 的分类学信息,并利用这些信息对由马尔可夫链蒙特卡罗 (MCMC) 算法生成的树施加拓扑约束。识别概率是指问询序列与某个特定物种的序列聚到同一分支抽样树所占的比率 (Munch et al., 2008a; Munch et al., 2008b; Lou and Golding, 2010)。虽然 SAP 中的方法在真实数据集和模拟数据集上有很好的统计性能,但它不易用于大规模数据集的运算 (Munch et al., 2008a; Munch et al., 2008b)。因此,Munch et al. (2008a) 提出了一种新的贝叶斯方法,该方法使用约束邻接法 (以下简称BootstrapNJ) 来加速大数据集的分析,结果表明新方法与计算密集型的全贝叶斯方法性能类似,唯一缺点是它不能模拟数据库中没有出现的物种,并可能导致错误的推断。第三种贝叶斯方法是加速溯祖方法 (Abdo and Golding, 2007),用一种只利用从单个物种序列中分离得到的位点数的方法来取代基于溯祖的 MCMC 算法。分离位点方法只使用发生变化的核苷酸位点,因此非常快速。然而,这种方法会因为将整个序列数据集合压缩成一个数字而损失部分信息 (Lou and Golding, 2010),尽管这种损失被认为是微不足道的。虽然上述方法存在各自的局限性,但所有这些方法都为 DNA 条形码的成功运用做出了阶段性的重要贡献。
    1.3
    基于人工智能、深度学习的 DNA 条形码算法
    1)
    基于人工智能的 DNA 条形码算法
    神经网络的定义:神经网络是一个由大量自适应处理单元 (神经元) 组成的并行计算模型,这些自适应处理单元 (神经元) 通过可变强度 (权重) 的相互连接进行通讯,学习的信息存储在其中。多层网络有一层或多层隐藏神经元,通过从输入模式中逐步提取更有意义的特征,使复杂任务的学习成为可能 (Wu, 1997)。图 1a 显示了一个典型的神经网络,它包含一个输入层、几个隐含层和一个输出层 (Zhang et al., 1998; Zhang et al., 2001; Zhang et al., 2008)。在这张图中,圆圈代表输入神经元,矩形代表神经元,它们是极其简单的模拟计算设备。通常使用三层 (描述为 n-h-m 网络) 网络;输入层包含向量 X = [x1,x2,…,xn ],,包含 h 个神经元的隐层 (h=int(log2⁡(n))),一个输出向量O = [o1,o2,…,om ]。连接神经元的线代表权重,可以用两个矩阵来描述:

            下面的激活函数被用来计算一个神经元的值。设神经元 j 的激活值为oj

            设神经元 j 和神经元 i 之间的权值为 wij (1,2),这些权值决定了神经网络的输出。因此,可以说连接权值构成了神经网络的记忆。设神经元的净输入为 netj

            k 是输入到神经元 j 的神经元的数量。

            使用参考序列训练网络:使用以下编码方式对参考序列进行数字化: A = 0.1,T = 0.2, G = 0.3, C = 0.4,并用于训练网络 (图 1b)。根据 Nguyen-Widrow 初始化算法 (Nguyen and Widrow, 1990) 初始化一个层的权值和偏差,将层中每个神经元的活跃区域均匀分布在层的输入空间中。每个行向量 ti (i = 1, 2,…, m),其中 m 为物种数,包含在下面的对角矩阵中:

            其中 aii 等于1,代表物种 i,训练过程通常如下 (Zhang et al., 1998)。首先,将训练集的示例输入到输入节点。输入节点的激活值在第一隐层的每个节点上加权累加。然后通过激活函数将总和转换为节点的激活值。它依次成为下一层节点的输入,直到最终找到输出激活值。利用训练算法得到使平均平方误差 (MSEs) 等总体误差度量最小化的权值。因此,网络训练实际上是一个无约束非线性最小化问题。在网络训练之前,使用 Nguyen-Widrow 初始化算法评估权值和偏差 (Nguyen and Widrow, 1990)。简单地说,训练过程将尝试调整权值,以便网络将针对给定的网络输入生成正确的目标输出。通常使用平均平方误差 (MSE),即网络和目标输出之间的平均平方误差作为性能函数。权值和偏差在性能函数的负梯度方向上更新,使用一种称为反向传播的技术 (Werbos, 1974; Parker, 1982; Rumelhart and Mcclelland, 1986; Smith, 1993; Werbos, 1974),这种技术包括通过网络反向执行计算。


    图 1. 所涉及序列的神经网络及处理方案 a). 一个典型的神经网络,包括一个输入层,几个隐藏层和一个输出层。通常使用三层 BP 网络 (见正文)。 X = [x1,x2,…, xn ] 为输入层向量, O = [o1,o2,…, om ] 为输出层向量。这些圆形或长方形是神经元。 W(1)W(2) 和连接神经元的线分别表示每一层的权值 (定义见正文)。 b). 参考序列 (训练数据集) 和查询序列 (测试数据集) 的处理方案。虚线上面是训练数据集,下面是测试数据集用例。带箭头的线表示处理方向。序列是用文中描述的方法编码的。一旦网络被训练,就会得到一组权重和偏差。经过训练的网络可以通过产生相应的行向量来进行物种识别。双垂直虚线表示顶部图与底部图的匹配情况 (Zhang et al., 2008)。

            使用训练过的网络识别问询序列:问询序列使用上面列出的方法进行编码。每个核苷酸位点的每个数字编码成为输入向量 X 的一个元素 (图1b)。然后将输入向量 X 输入到训练后的网络中,得到每个输入向量 X 对应于公式 6 所示的不同物种的输出行向量 O (详见图1)。训练一个网络的目的是让 o1,o2,…, om 接近于目标向量 T,其行向量,如 (1,0,0,0) 对于四个物种的例子,表示物种 1 (预先定义)。从物种 1 中选取一条序列,经过训练后,网络的输出向量可以为 (0.9989,0,0,0),通常以 0.95 作为阈值。更高的值 (0.95) 可以使用但可能需要较长的训练时间 (理论价值最高的 1)。在上面的例子中,向量是指物种 1,而物种 2 对应 (0,1,0,0)。物种识别的成功率是基于以下的公式:


            其中 NumberhitNumbertest 分别为本方法成功命中的序列数和测试的总问询序列数。
    2)
    基于深度学习的 DNA 条形码算法
    卷积神经网络模型的构建:BP 浅层人工神经网络在 20 世纪 80 年代末期成为机器学习的重要研究对象,但是 BP 神经网络只有一个隐藏层,结构较为简单,特征提取能力有限,随后逐渐发展出多个隐藏层且具有复杂连接结构的深层次神经网络,并通过大数据结合高性能计算单元训练深度神经网络学习到高级语义特征,从而实现数据预测 (LeCun et al., 2015)。卷积神经网络 (convolutional neural network, CNN) 通常包含多个隐含层,是前馈神经网络模型,最初由日本研究者 Fukushima 提出 (Fukushima, 1980)。卷积神经网络得名于卷积层,其运算过程为,对于一个二维卷积层来说,一个二维输入数组与一个包括宽和高两个维度的二维卷积核 (本质也为二维数组) 进行互相关运算,而后得到另一个二维数组,此输出又被称之为卷积神经网络提取的特征图 (LeCun et al., 1998)。近来,Yang et al. (2021) 在整合分类学框架下提出一个新的整合形态-分子的深度学习神经网络模型 (MMNet),该网络可以同时利用序列和图像信息进行更为准确的物种鉴定。MMNet模型构建受到 ResNet 的启发,ResNet 是一个包含许多残差模块的深度神经网络模型 (He et al., 2016)。理论上,更深层次的神经网络可以表达更丰富的特征,但在实际应用中,梯度随着神经网络的加深而急剧下降,ResNet 算法很大程度上缓解了梯度消失问题 (He et al., 2016)。残差模块 (residual block) 由几个卷积层加上捷径连接组成,捷径连接可以更好地学习每个残差模块的恒等映射函数 (identity mapping function),并有助于在反向传播中直接传播梯度 (He et al., 2016)。然而,ResNet 不能很好地选取待识别主体重点突出的部分,会关注到背景的干扰信息,导致对局部细节的关注不足 (Hu et al., 2020; Woo et al., 2018)。考虑到特定形态特征对生物分类的重要性,形态-分子网络在 ResNet 中加入卷积块注意模块 (Convolutional Block Attention Module, CBAM),使模型能够更多地关注细微特征。注意力模块不仅告诉神经网络应该关注什么地方 (即被识别主体),还增强了感兴趣区域的表达 (Woo et al., 2018)。

            其中 F 为输入的特征图 (feature map),⊗ 代表逐元素相乘,Mc 为通道注意力映射,Ms 为空间注意力映射,MLP (Multi-Layer Perception) 为多层感知器,W0W1 均代表权重值, 和 分别表示通道上的平均池化特征和最大池化特征,分别表示空间上的平均池化特征和最大池化特征,σ 为 sigmoid 函数,f7×7代表卷积核大小为 7 × 7 的卷积层。本质上,CBAM 通过使用注意机制来增加代表性:关注重要特征并抑制不必要的特征,应用通道和空间注意模块,以便每个分支都能分别知道在通道和空间上关注什么局部细节和被识别主体在哪里 (Woo et al., 2018)。
            在自然环境中,拍摄高质量的动物照片是非常困难的,尤其是那些移动速度较快的动物,例如飞舞的蝴蝶和鸟类等。研究表明,即使很小的移动也能显著改变深度网络的输出 (Zhang, 2019)。这一问题对动物物种识别提出了很大的挑战,为了弥补这一问题,形态-分子网络添加了抗锯齿通用下采样层 (anti-aliasing common down-sampling layer) 或者称之为模糊池化层(BlurPool) (Zhang, 2019)。模糊池化采用了经典的信号处理方法,消除了现代深度神经网络的锯齿化 (aliasing) 现象,稳定了输出分类的结果和置信度,通过将抗锯齿层与现有的子采样层相结合,提高了神经网络的鲁棒性 (Zhang, 2019)。上面网络结构的改进可以解决许多遇到的问题,但是仍然面临着一个较为棘手的挑战:如何融合图像和 DNA 序列,它们是不同维度的数据。对于彩色图像数据,除了图像的宽度和高度,还有包括红、绿和蓝组成的颜色通道,它们共同组成 RGB 颜色模式,通过改变红、绿、蓝三种颜色通道,将它们相互叠加,形成一个彩色图像。虽然已经将图片和 DNA 序列都统一成三维数据,但是两个维数完全不同的矩阵不能直接相加。因此,在保留两个矩阵各自重要的特征的同时,如何将它们的维数进行统一则成了当前较为棘手的难题。为了解决这一问题,形态-分子网络中引入了协方差池化层的迭代矩阵平方根归一化,即 iSQRT-COV (Li et al., 2017)。在 iSQRT-COV 层之后,DNA 序列的维数和图像特征表示矩阵的维数变为一致,所以它们可以进行特征融合。此外,iSQRT-COV 层可以利用深度神经网络学习后通道之间的相关信息,获得更好的性能、更强的泛化能力、更快的收敛速度和更高的计算效率 (Li et al., 2017)。
            利用序列和图像训练形态-分子网络:利用独热编码 (One-hot) 将序列转化为矩阵 (采用 IUPAC 核苷酸编码方式),并用于神经网络的训练,例如: A = [[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]。图像数据需要统一长和宽的像素大小以进行批量训练,而后同时输入序列和图片进行训练。神经网络模型的损失函数采用交叉熵损失,并使用自适应矩估计 (adaptive moment estimation, Adam) 作为优化器 (Kingma and Ba, 2014)。输出层使用 k-way softmax 作为神经网络最后的激活函数,其中 k 为每个数据集中的类别数。设置批大小 (batch size) 为 20,学习率为 10-4 训练轮数为 150。物种鉴定的准确率为测试数据中正确鉴定的物种的数目占测试总物种数的比率。
    1.4
    基于模糊数学理论的 DNA 条形码算法
    1)
    基于模糊数学理论的算法简介 (FuzzyID)
    定义一个物种的隶属函数:假设有一个未知的问询物种 q ,根据最小遗传距离 (或任何其他标准),它可能属于一个物种 A。x 被定义为问询物种 q 与已知物种 A 之间的遗传距离。根据模糊集理论,当 f(x)=0 时称 q 为不包含在模糊集 A 中,当 f(x)=1 时称 q 为完全包含,当 0<f(x)<1 时称 q 为模糊隶属物种 A,f(x) 为物种隶属函数(图 2)。该函数由以下公式详细定义 (Lin et al., 2005; Yuan et al., 2008):

            需要根据实际数据集估计 θ1θ2 两个参数 (Zhang et al., 2012b)。


    2. 隶属函数 f(x) 的曲线和两个参数θ1 θ2 的估计 (a) 隶属函数f(x)曲线;(b) 估计 θ1θ。黑点表示该物种中个体的 DNA 序列,而空点表示每个问询序列。x 为遗传距离,本研究采用 K2P 距离 (Kimura, 1980; Zhang et al., 2012b)。

            隶属函数的 f(x) 参数估计:为了确定公式 1 的最大种内遗传距离和最小种间遗传距离的参数 θ1θ2,该方法搜索问询的潜在种 (PS,图2b) 的最近邻 (nearest neighbour, NN)。一旦发现了最近邻,该物种与潜在种之间的最小 K2P 遗传距离就可以估计种间变异,而潜在种个体之间的最大 K2P 遗传距离则可以估计种内变异,用这种方式尽可能多地覆盖种内遗传变异。选择 K2P 距离 (Kimura, 1980) 是因为它在条形码文献中有广泛的应用。然而,潜在种及其最近邻的潜在非互为单系性可能导致一个小的或零的条形码缺口 (‘barcoding gap’)。在这种情况下,我们转而使用数据库中所有种间变异的第 5 百分位和所有物种的第 95 百分位来分别代表种间和种内的遗传变异。
            确定公式 11 的参数后,FMF 的值就很容易得到。为了计算一个 FMF 值,首先必须计算问询到上述最小距离方法或任何其他方法所指定的潜在种的 K2P 距离,然后将其结果值输入到公式 11。为了检验 FMF 值对物种鉴定成功率的稳健性,我们使用了三个不同的模糊函数值 (FMF = 0.90、0.95和0.99; 表示为MF90、MF95和MF99) 作为接受 (如果较高) 或拒绝 (如果较低) 物种隶属度的阈值 (Zhang et al., 2012b)。
    2)
    基于模糊数学理论和隐马模型的算法简介-条形码和宏条形码物种识别 (FuzzyID2)
    FuzzyID2 算法在 FuzzyID 的基础上整合了两步搜索策略 (Shi et al., 2018)。首先利用隐马尔可夫模型 (HMM) (Eddy, 1998; Yada et al., 1996) 将搜索范围从整个参考库缩小到更小的子数据集,然后利用 K2P-1NN 算法找出最近邻作为最佳搜索目标。一旦发现了潜在物种,计算其模糊隶属度值,给出物种鉴定的置信水平 (Zhang et al., 2012b)。
            建立本地参考数据库:在开始进行标本鉴定之前,需要有一个包含有正确分类信息的条形码的参考数据库。参考数据集文件以 .fasta 格式准备,并使用必需的 ID“>sequenceID_family_genus_species” 作为注释行。我们开发了一个 Python 脚本将这些条形码存储进 Sqlite3 数据库系统 (http://www.sqlite.org)。 通过两个表:(1) 一个项目表,存储整个核苷酸序列与必需的参数 (如θ1θ) 和 (2) 一个粗略的表包含了用于 HMM 数据库构建的序列。从 BOLD 系统以 .tsv 格式下载的数据集可以转换为 .fasta 格式,并通过 Python 脚本传输到本地数据库。当构建本地参考数据库时,需要一个配置文件 (默认是 config.txt),其中包含用于构建数据库的参数。为了加速整个搜索过程,隐马尔可夫模型 (HMM) 首先进行粗略搜索。HMM 库的构建分为三个步骤:(1) 从参考数据库中随机抽取每个物种的 n 个条形码作为粗略数据集 (n 由配置文件中设置的参数 roughMaxNum、roughMinNum 和 roughPercent 确定;当一个物种的样本小于 roughMinNum 时,将保留其所有的条形码);(2) Hmmbuild 程序,来自 HMMER 3.0 软件套件 (Eddy, 2011; Finn et al., 2011),为每个条形码构建了 HMM 配置文件;(3) Hmmpress 程序被调用链接和压缩概要文件到一个 HMM 库,并最终完成这部分准备工作。我们开发了一个 Python 脚本来自动实现所有这些功能。
            粗略搜索:问询序列必须以 .fasta 格式提供。粗略搜索的目的是将整个参考数据集的搜索范围限制在属级,以便最终搜索。HMMER 3.0 软件套件中的 Hmmscan 程序 (Eddy, 2011; Finn et al., 2011) 运行在 HMM 库中,它的搜索结果是基于对数几率 (log-odds) 似然分数排序的,该分数可以显示序列相似性降序排列。与问询的相似度分数最高的属将被选择用于精确搜索过程。当参考库中缺少目标属时,问询将不会返回命中值,从而导致问询失败,程序将返回未检测到问询结果。当目标物种不在参考库中,但属存在时,问询通常发现目标物种所在属然后找到属内最近邻物种,然而问询的 FMF 值通常很小,从而避免假阳性鉴定。单个体种 (由单一条形码表示的物种) 的种内遗传距离的最大值将被指定为同一属内物种的平均值,或者,如果该属只有单条条形码,将被指定为该科内物种的平均值。一个属中仅包含一个种的种间遗传距离的最小值将被赋给它的科的平均值。
            精确检索:由于搜索范围已从整个参考数据集缩小到特定的属,可以采用 K2P 距离法 (Zhang et al., 2012b) 计算问询序列与所选属参考条形码之间的两两遗传距离。对于潜在属中的每个物种,程序依次选择 m 个条形码 (默认为 m = 10,如果物种少于 10 个条形码,则保留所有数据) 来表示该物种并加速计算。K2P 距离最小的最近邻条形码问询序列将成为最后的结果,来自选定物种的条形码构成潜在的模糊隶属集。在遗传距离计算中,也可以使用 p-距离 (p-distance)、F81 (Felsenstein, 1981) 或GTR模型 (Tavaré, 1986)。最终,通过计算模糊集合函数 FMF 值,对条形码物种识别结果的可信度进行估计。
  2. DNA 条形码分析工具简介
    2.1
    在线 DNA 条形码分析系统 – BOLD
    1)
    简介
    生命条形码数据系统 (通常称为 BOLD 或 BOLD systems) 是专门致力于 DNA 条形码相关活动的网页平台 (Ratnasingham and Hebert, 2007; Ratnasingham and Hebert, 2013)。它是加拿大生物多样性基因组学中心开发的基于云的数据存储和分析平台。它由五个模块组成:数据库 (DATABASES)、物种识别 (IDENTIFICATION)、基于条形码的分类 (TAXONOMY)、数据收集与分析工作台 (WORKBENCH) 和相关资源 (RESOURCES),为 DNA 序列分析提供在线平台 (Ratnasingham and Hebert, 2007)。自 2005 年推出以来,BOLD 在不断更新,提供了一系列功能,包括数据组织、验证、可视化和发布。该系统的最新版本 (v4),于 2017 年推出,除了对数据收集和分析相关模块进行了改进,数据发布、引用和注释方面也推出了新功能 (BOLDSYSTEMS)。截止 2021 年 2 月 23 日,BOLD 已经包含了 321,275 个正式描述的物种的条形码序列,包括动物、植物、真菌、原生生物 (共计约 1,200 万条记录,约 920 万份标本),其中记录最多的则是动物界节肢动物门 (Kingdoms of Life Being Barcoded BOLDSYSTEMS)。
            任何对 DNA 条形码感兴趣的研究人员都可以免费使用 BOLD。通过提供专门服务,它帮助出版符合国际核苷酸序列数据库中条形码指定所需标准的记录。由于其基于网络的交付方式和灵活的数据安全模型,它也能够很好地支持涉及广泛研究联盟的项目。BOLD 的数据发布主要来源于 2010- 2015 年国际生命条形码 (iBOL) 联盟执行的一个项目 BARCODE 500K。该项目旨在获取代表 50 万个物种的 500 万个标本的 DNA 条形码记录数据。所有标本的收集、序列分配和信息整理工作都由来自世界各国的大量科学家、合作者和机构共同完成。数据的积累提高了 DNA 条形码识别的准确性,有利于生命条形码的实现。
    2)
    主要功能及使用方法
    在线 BOLD 系统的常用功能包括以下几项:(1) 利用条形码进行物种识别;(2) 物种分类地位查询;(3) 物种条形码数据获取;(4) 物种分布数据获取;(5) 文章发表前条形码数据提交和更新。具体使用注意事项可参考官方使用手册: http://www.boldsystems.org/index.php/Resources。本文提供了中文版常规操作流程的图文介绍,详见附件 1 (https://github.com/zhangab2020/BOLD system)。
    3)
    其他注意事项
    a)
    BOLD 数据库和 GenBank 在条形码数据上会有交集,但是识别结果不完全一致。此前问询多条钩蛱蝶属 (Polygonia) 的 COI 数据,BOLD 识别结果均是白钩蛱蝶 (Polygonia c-album),而 GenBank BLAST 的结果是黄钩蛱蝶 (Polygonia c-aureum),所以还必须结合形态数据和生殖器玻片进行识别。数据库的识别结果也只是一种参考,如果想准确识别物种,必须将传统的形态数据、生殖器玻片和条形码识别结果相结合。
    b)
    基于测序技术的不断革新和全球数据整合的不断深化,海量的数据有待挖掘,目前 BOLD 和 GBIF 等多个数据库都推出了 API (Application Programming Interface,应用程序接口),方便研究者使用代码批量获取目的数据 (数据集),网页版数据库的学习和使用的成本比较低,适合处理少量数据,如果涉及大量的物种检索等网页重复检索任务时,建议使用 R 包 (rgbif, https://cran.r-project.org/web/packages/rgbif/index.html )。
    2.2
    本地 DNA 条形码分析工具 – BarcodingR 和 FuzzyID2
    1)
    BarcodingR
    BarcodingR 是一个用于 DNA 条形码研究的 R 软件包,它整合了基于 DNA 条形码的物种识别算法和数据分析策略,避免了各种非商业用途软件的局限性,为 DNA 条形码的研究提供了便捷性和可操作性 (CRAN - Package BarcodingR)。可在 Microsoft Windows、Mac OSX 和 Linux 上运行。BarcodingR 包括基于 BP 的算法 (Zhang et al., 2008; Zhang and Savolainen, 2009)、基于模糊集的方法 (Zhang et al., 2012b) 和贝叶斯物种识别方法 (Jin et al., 2013),以及在条形码研究中各种有用的新功能,如条形码评估、kmer 优化 (Polychronopoulos et al., 2014; Weitschek et al., 2015; Kuksa and Pavlovic, 2009),DNA 条形码间隙分析,物种隶属分析,划界比较分析和一致性鉴定 (Zhang et al., 2017; 金倩,2017a)。
            主要函数及功能:BarcodingR 软件包以软件包 “ape” (Paradis et al., 2004)、“adegenet” (Jombart, 2008)、“mclust” (Fraley and Raftery, 1999)、“phyclust” (Chen and Dorman, 2017)、“cclust” (https://cran.r-project.org/)、“pegas” (Paradis, 2010)、“seqinr” (Charif et al., 2005)、“nnet” (Ripley, 1996)、“e1071” (https://cran.r-project.org/) 和“spider” (Brown et al., 2012) 为基础建立。该软件包主要用途是进行物种识别和条形码分析。具体函数及功能详见表 1,其中 3 个较为关键的物种识别函数依次是 ‘barcoding.spe.identify,‘barcoding.spe.identify2’和 ‘bbsik’。barcoding. spe.identify 函数进行物种识别主要通过人工智能方法、模糊集合理论和贝叶斯方法,通过以下参数进行控制:
    a)
    人工智能方法 bpNewTraining/bpNewTrainingOnly/bpUseTrained 参数。当数据集较小时 (≤ 500 条序列),可以选择 bpNewTraining 参数,训练集和问询集同时计算。当数据集较大时 (> 500 条序列) 需要通过 bpNewTrainingOnly 参数先进行人工智能训练,然后再通过 bpUseTrained 进行问询集的物种识别。训练的模型参数被存放于一个临时文件中(早期版本),当运行 bpUseTrained 时加载训练结果并进行物种识别。
    b)
    模糊集合理论 fuzzyId 参数。每一条问询序列的识别结果都被赋予一个 FMF 值 (范围从0-1),代表序列分配的可能性 (Zhang et al., 2012b)。为了提高识别效率,在搜索参考数据过程中采用 KNN 搜索算法替代 MD 算法 (http://www.stats.ox.ac.uk/pub/MASS4/)。贝叶斯方法 Bayesian 参数按照Jin et al. (2013) 提出的基于贝叶斯理论和形态有限介入的方法对蛾类进行物种识别,主要通过 Bayesian 参数实现。

    表 1. BarcodingR 软件包主要函数及功能 (Zhang et al., 2017; 金倩, 2017b)


    2)
    FuzzyID2
    FuzzyID2 基于 Zhang et al. (2012) 提出的模糊集合理论方法进行了扩展,可以应用于动植物大数据集 DNA 条形码,以及环境 DNA 和宏条形码数据的分子物种识别软件。FuzzyID2 采用了两步搜索策略,整合了隐马尔可夫模型算法和模糊集合理论方法 (详见1.4章节)。首先利用隐马尔可夫算法将问询序列的搜索范围从整个参考库缩小至小数据集,然后利用 1NN (one nearest-neighbour) 算法找到与问询序列具有最小遗传距离的序列作为问询结果。计算遗传距离时可选用的碱基替代模型有 K2P、F81、GTR。最后利用模糊集合理论评估本次问询的结果。
            软件的安装与编译:FuzzyID2 是使用 C++ 和 Python 编写的运行在 Linux 平台的命令行程序,调用了 HMMER3.0 软件库来为第一步搜索加速,调用 Bio++ v2.1.0 软件库用于计算遗传距离。参考数据集储存在 SQLite3 数据库中。FuzzyID2 是在 GNU 框架下的开源软件,可以从 https://github.com/zhangab2008/FuzzyID2 下载,包含用户手册和测试数据集。
            # 软件解压
        $ tar zxvf FuzzyID2.tar.gz
            # 32位平台的编译命令
        $ g++ main.cpp mainFunction.cpp commonFunction.cpp -o FuzzyID2_i686 -lsqlite3 -lbpp-core -lbpp-seq -lbpp-phyl -Wl,-rpath ./lib -L ./lib -I ./include
        $ ln -s FuzzyID2_i686 FuzzyID2
            # 64位平台的编译命令
           $ g++ main.cpp mainFunction.cpp commonFunction.cpp -o FuzzyID2_x86_64 -lsqlite3 -lbpp-core -lbpp-seq -lbpp-phyl -Wl,-rpath ./lib64 -L ./lib64 -I ./include
        $ ln -s FuzzyID2_x86_64 FuzzyID2
            软件使用:参考数据集文件格式应为 .fasta 格式或 BOLD 系统的 .tsv 格式,文件名应包含条形码名称,如 “Moths_COI.fasta”。利用程序脚本 “FuzzyID2_makeDB.py” 和配置文件 “config.txt”,将条形码序列储存在 SQLite3 数据库系统中,并自动生成粗选步骤所需的隐马库。参考数据集文件中条形码序列应符合如下形式:“>sequenceID_familyName_genusName_speciesName”;配置文件中需设置参考库名称、指定建库所需的条形码序列文件等信息。在使用时首先输入如下命令运行程序构建本地参考库:
        $ python3 FuzzyID2_makeDB.py
            输入配置文件名,如 “config.txt”,随后自动建库程序开始运行。输入如下命令,分别计算参考库中每个物种的最大种内距离和最小种间距离 (以参考库名 “Lepidoptera” 为例) :
        $ ./FuzzyID2 -c Theta1 -m K2P -d Lepidoptera
        $ ./FuzzyID2 -c Theta2 -m K2P -d Lepidoptera
            通过如下命令开始对问询序列进行物种识别,找到参考库中与问询序列具有最小遗传距离的序列所在种,并对问询结果进行 FMF 值评估:
        $ ./FuzzyID2 -c ID -m K2P -d Lepidoptera -in query.fas -out output.csv
            其中,-c 指定执行参数,-d 指定参考库,-in 和 -out 分别指定输入和输出文件,-m 指定计算遗传距离所用的碱基替代模型 (建库和问询时所用的模型需保持一致)。
  3. DNA 条形码分析中的一些问题及思考
    3.1
    可靠性、阈值及假阳性
    大多数 DNA 条形码物种识别算法在匹配到潜在目标物种后会相应地给出识别结果的可靠性 (reliability),也称置信水平 (confidence level),例如在线识别数据库 BOLD 系统中返回的相似性百分比,以及本地识别方法中基于模糊集合算法的 FMF 值、基于反向传导神经网络算法的 BP 概率、基于贝叶斯算法的后验概率等 (Zhang et al., 2017)。可靠性值能够用于描述问询序列属于条形码算法给出的物种识别结果的可靠程度,当可靠性达到 100% (或 1) 时,即认为在该算法的分析下问询样本确定属于识别结果中得到的目标物种;当可靠性为 0 时,则认为问询样本完全不属于目标物种,这也表明参考数据库 (reference library) 中的序列并未涵盖问询样本所属的物种。
            然而,当可靠性值介于 0 和 1 之间时,则需要设置阈值 (threshold) 来进一步判断是否应该接受识别结果。例如,在过去曾经一度被认为是区分脊椎动物物种的 2% 序列差异 (Avise and Walker, 1999)、区分鳞翅目昆虫物种的 3% 序列差异 (Hebert et al., 2003a; Hebert et al., 2003b),将 98% 或 97% 的序列相似性作为判断是否属于同一物种的标准。而随着研究的不断推进,越来越多的研究者已经发现,阈值的选择在不同方法、不同类群间存在特异性,不能完全依赖一个统一的标准来简单定义 (Collins and Cruickshank, 2013; Wiemers and Fiedler, 2007)。因此,针对特定的方法或数据集找到具体的阈值成为了进行 DNA 条形码物种识别前的关键步骤 (Shi et al., 2018)。一般而言,采用有监督测试的方法,将已知物种名的条形码序列作为未知样本实施问询步骤,记录得到的识别结果及可靠性值,经多次重复后,从 0 至 1 以 0.01 为间隔取值,统计在何种情况下识别结果与实际物种名的匹配率最高,进而以该可靠性临界值作为判断问询样本是否属于识别结果的特定阈值,用于后续利用该方法针对该类群进行的条形码物种识别过程。
            在确定具体阈值后,可以依据问询得到的可靠性值是否高于阈值来判断是否接受识别结果。若可靠性大于或等于阈值,且问询样本确实属于条形码识别的目标物种,则记为真阳性 (TP, true positive) 结果;若可靠性小于阈值,且问询样本确实不属于条形码识别的目标物种,则记为真阴性 (TN, true negative) 结果。相反地,若可靠性大于或等于阈值,但问询样本确实不属于条形码识别的目标物种,则记为假阳性 (FP, false positive) 结果;若可靠性小于阈值,但问询样本确实属于条形码识别的目标物种,则记为假阴性 (FN, false negative) 结果。据此可以进一步计算条形码分析方法的准确性 (accuracy; ACC = (TP+TN) / (TP+FP+FN+TN))、灵敏度 (sensitivity; TPR = TP / (TP+FN)) 和特异度 (specificity; TNR = TN / (TN+FP)) 等指标,来描述不同条形码算法的物种识别效果。
            在实际进行 DNA 条形码分析算法开发的过程中,参考数据库过低的类群覆盖度和条形码序列不明显的种内、种间差异等因素,给条形码物种识别的准确性带来了不小的挑战。前者要求算法具有较高的避免假阳性错误的能力,即当参考数据库中不包含问询序列所属的物种时,能够在输出识别结果的同时返回一个较低的可靠性值;而后者则需要找到最优的划分方式,快速提取到种内共有而种间特异性的序列特征信息,用以同时降低假阳性和假阴性错误的比例,获得更高的物种识别准确性。
    3.2
    样本量对 DNA 条形码识别的影响
    在进行 DNA 条形码物种识别的过程中,无论选用何种算法,参考数据库 (reference library) 内所包含的样本量大小,也对识别结果的准确率高低具有重要影响。这里的样本量一方面指数据库中所包含的类群的物种数目,另一方面也指每个物种所具有的个体数目。样本量越大,算法所能参考和处理的信息越多,物种识别的结果就越准确。
            利用课题组早期积累的雾灵山蛾类昆虫数据库,我们按照 0.5、0.6、0.7、0.8、0.9 的比例从中进行随机抽取形成数据集,每类随机抽取重复 50 次,来模拟不同样本量下的参考数据库情况。对不同抽样比例所形成的数据集进行条形码本地物种识别测试结果显示,当不考虑可靠性值对识别结果的判断,直接检验条形码目标物种与问询序列所属物种的匹配度时,随着抽样比例的增加,物种识别成功率逐渐增加,并在 0.9 的抽样比例下达到最大;按 0.5 与 0.6 比例抽取时的识别成功率相近 (p = 0.0799),按 0.7、0.8 和 0.9 比例抽取时的识别成功率相近,且后三者的识别成功率结果显著地高于前两者。当以 0.95 为可靠性阈值接受识别结果时,五种不同抽样比例下所得到的物种识别成功率,均显著地高于不考虑可靠性值条件下的成功率结果;且按 0.9 比例抽取时物种识别成功率显著地更高,为 92.42% (95%CI: 91.50%-93.35%),而其余四者间则无显著差异,表明考虑阈值对识别结果进行判断以及尽可能增加样本量大小,对条形码物种识别成功率具有至关重要的作用。
    3.3
    物种非单系性对 DNA 条形码识别的影响
    由于线粒体基因在细胞内属于单链、环状、多拷贝基因,并遵循母系遗传规律,其內禀的杂交渐渗 (introgressive hybridization) 和不完全谱系分选 (incomplete lineage sorting) 现象 (Funk and Omland, 2003; McGuire et al., 2007),会使得不同物种可能具有相同的 COI 序列片段或同一物种具有多种基因型,从而导致分子物种鉴定得到错误的结果 (Mutanen et al., 2016)。特别是物种在基于 DNA 条形码序列的基因树上所呈现出的非单系性 (non-monophyly),会在很大程度上影响例如基于 BP 神经网络算法等人工智能方法的条形码物种识别成功率。
            利用 Perl 语言等文本编辑语言解析基因树的拓扑结构,能够在不改变原本序列关系的基础上,将原本在谱系结构中未聚成单系的物种,按树的实际拓扑结构自动分配标签。如图 3 所示,该处理针对同一物种的不同样本在系统发育树上未聚为一支的情况 (如物种A),根据其所在的进化枝的拓扑结构进行重新编码,使未处于同一枝上的物种 A 区分开来,而同一进化枝上的物种 A 则保持一致,从而在 BP 网络模型的输入数据中以不同的可操作分类单元 (operational taxonomic units, OTU) 的形式进行训练,以消除物种的非单系性对 BP 方法模型训练中权值调整过程的影响,使网络模型获得更好的收敛效果。在对单系性为 98.32% 的雾灵山蛾类数据集物种识别成功率的测试中,当排除物种非单系性的干扰后,50 次随机重复抽取所得到的数据集的测试结果显示,物种识别成功率由原本的平均 87.31% 提高至平均 98.55%,提高幅度从 5.76 个百分点到 16.05 个百分点不等,表明参考数据集中物种单系性的高低对 BP 方法进行物种识别的成功率具有显著的影响 (p < 2.2 × 1e-16)。


    3. 非单系物种处理效果示意图

展望

  1. 中国 DNA 条形码研究现状
    与世界其他国家相比,条形码技术在中国的发展起步相对较晚,直至 2009 年以来,我国 DNA 条形码技术相关研究的发展才开始增速 (图4) (Yang et al., 2020)。然而,自 DNA 条形码技术被提出至今,中国约有超过一半 (54.8%) 的 DNA 条形码研究是用中文发表的,而非使用英文,这使得中国科学家在国际 DNA 条形码领域中的贡献被严重低估了。同时,就条形码数据的总数而言,中国科学家所产生的数据量已经接近该领域几个领先国家的数据量,仅次于加拿大、美国、澳大利亚位列第四 (Yang et al., 2020)。


    4. 2003-2018 年中国相比于世界各国研究人员在 DNA 条形码领域发表的论文数量

            通过分析近 16 年来由中国科学家发表的 2,266 篇文献,Yang et al. (2020) 从文章类型、分类群偏好、中国条形码研究特点、未来可能的发展方向和有待解决的问题等方面了解中国条形码研究的基本情况。从中可以明显发现,DNA 条形码技术在我国的主要研究焦点集中在医学和经济上重要的物种鉴定方面,所产生的条形码数据大多数与植物和动物类群有关,特别是在中药品种的真伪鉴定上;其它应用则体现在食品安全、检验检疫、病虫害防治和入侵物种等方面。此外,将条形码技术应用在系统发育、种群遗传学、生物多样性等领域的研究也正在不断涌现。在方法和技术上,中国科学家开发了许多新的 DNA 条形码方法,用以从大量的序列信息中分析条形码数据 (如前文所述)。但相比于基础研究和应用类研究,关于 DNA 条形码分析方法的研究仅占全部文章的 10.98% (图5),还存在相当大的提升空间。此外,环境 DNA (eDNA) 和宏条形码 (metabarcoding) 可能是 DNA 条形码相关研究领域的新方向,一些国内科学家正在确保准确性的同时,开发更有效的获取宏条形码数据的方法 (Liu et al., 2013; Liu et al., 2017),这将极大促进条形码研究领域的进一步扩展。


    5. 中国科学家每年发表的 DNA 条形码不同类型的文章数量

            尽管条形码技术在中国取得了很大的进步,但仍有几个问题需要解决。首先,我国的条形码研究多为跟踪性研究,缺乏原创性。例如,大多数 DNA 条形码的重要概念或倡议,包括宏条形码和 eDNA,都不是由中国科学家提出的。其次,虽然针对特定类群构建了一些本地条形码库 (如Hou et al., 2018; Gong et al., 2018),但中国尚未建立具有国际领先水平的 DNA 条形码库。第三,大多数国内期刊不要求作者将他们的 DNA 条形码提交到公开数据库中,使得这些 DNA 条形码数据对其他条形码研究团体来说通常是无法直接获得的。因此,我国未来的 DNA 条形码研究,无论在概念还是方法层面,都应该进一步取得更多原创性的突破。
  2. DNA 条形码相关软件下载链接
    1)
    BarcodingR package version 1.0-3 (Zhang et al., 2017; https://cran.r-project.org/web/packages/rgbif/index.html)
    2)
    FuzzyID2 version 1.0 (Shi et al., 2018; https://github.com/zhangab2020/FuzzyID2)
  3. 小结与建议
    本文概述了国内外 DNA 条形码算法及软件开发的研究进展,对最新的算法及软件进行了介绍,并提供了常用 DNA 条形码的下载链接,建议研究人员根据课题研究需要选择合适的分析方法及软件进行使用。此外,DNA 条形码研究作为基础分类、系统发育、生物多样性、生态及进化生物学相关实验室重要的基础性、常规性研究工作,研究者在实际工作也可不断尝试拓展 DNA 条形码的使用场景,不断开发新的算法和软件。

致谢

感谢审稿人和编辑对本文初稿提出的修改建议。本研究受到国家杰出青年基金项目 (项目号:31425023)、国家自然基金面上项目 (项目号:31772501) 资助。

竞争性利益声明

作者声明没有利益冲突。

参考文献

  1. 金倩,武春生,陈芬,罗桂杰,蔡卫佳,刘旭,杨采青,郝梦迪,张爱兵. (2017a). 基于 DNA 条形码的物种界定算法比较研究——以北京周边地区舟蛾科为例. 应用昆虫学报 54(01): 13-21.
  2. 金倩,阮倩倩,陈芬,罗桂杰,张爱兵. (2017b). DNA条形码专用R包及其主要功能简介. 环境昆虫学报 39(03): 485-492.
  3. Altschul, S. F., Gish, W., Miller, W., Myers, E. W. and Lipman, D. J. (1990). Basic local alignment search tool. J Mol Biol 215(3): 403-410.
  4. Altschul, S. F., Madden, T. L., Schäffer, A. A., Zhang, J., Zhang, Z., Miller, W. and Lipman, D. J. (1997). Gapped BLAST and PSI-BLAST: a new generation of protein database search programs. Nucleic Acids Res 25(17): 3389-3402.
  5. Avise, J. C. and Walker, D. (1999). Species realities and numbers in sexual vertebrates: perspectives from an asexually transmitted genome. Proc Natl Acad Sci U S A 96(3): 992-995.
  6. Abdo, Z. and Golding, G. B. (2007). A step toward barcoding life: a model-based, decision-theoretic method to assign genes to preexisting species groups. Syst Biol 56(1): 44-56.
  7. Burns, J. M., Janzen, D. H., Hajibabaei, M., Hallwachs, W. and Hebert, P. D. (2008). DNA barcodes and cryptic species of skipper butterflies in the genus Perichares in Area de Conservacion Guanacaste, Costa Rica. Proc Natl Acad Sci U S A 105(17): 6350-6355.
  8. Brown, S. D., Collins, R. A., Boyer, S., Lefort, M. C., Malumbres-Olarte, J., Vink, C. J. and Cruickshank, R. H. (2012). Spider: an R package for the analysis of species identity and evolution, with particular reference to DNA barcoding. Mol Ecol Resour 12(3): 562-565.
  9. Charif, D., Thioulouse, J., Lobry, J. R. and Perrière, G. (2005). Online synonymous codon usage analyses with the ade4 and seqinR packages. Bioinformatics 21(4): 545-547.
  10. Collins, R. A. and Cruickshank, R. H. (2013). The seven deadly sins of DNA barcoding. Mol Ecol Resour 13(6): 969-975.
  11. Chen, W. C. and Dorman, K. (2017). phyclust: phylogenetic clustering (phyloclustering)
  12. DeSalle, R., Egan, M. G. and Siddall, M. (2005). The unholy trinity: taxonomy, species delimitation and DNA barcoding. Philos Trans R Soc Lond B Biol Sci 360(1462): 1905-1916.
  13. Eddy, S. R. (1998). Profile hidden Markov models. Bioinformatics 14(9): 755-763.
  14. Eddy, S. R. (2011). Accelerated profile HMM searches. PLoS Comput Biol 7(10): e1002195.
  15. Fukushima, K. (1980). Neocognitron: a self organizing neural network model for a mechanism of pattern recognition unaffected by shift in position. Biol Cybern 36(4): 193-202.
  16. Fraley, C. and Raftery, A. E. (1999). MCLUST: software for model-based cluster analysis. J Classif 16(2): 297-306.
  17. Ferguson, J. W. H. (2002). On the use of genetic divergence for identifying species. Biol J Linn Soc 75(4): 509-516.
  18. Funk, D. J. and Omland, K. E. (2003). Species-level paraphyly and polyphyly: frequency, causes, and consequences, with insights from animal mitochondrial DNA. Annu Rev Ecol Evol S 34: 397-423.
  19. Finn, R. D., Clements, J. and Eddy, S. R. (2011). HMMER web server: interactive sequence similarity searching. Nucleic Acids Res 39(Web Server issue): W29-37.
  20. Gong, L., Qiu, X. H., Huang, J., Xu, W., Bai, J. Q., Zhang, J., Su, H., Xu, C. M. and Huang, Z. H. (2018). Constructing a DNA barcode reference library for southern herbs in China: a resource for authentication of southern Chinese medicine. PLoS One 13(7): e0201240.
  21. Hebert, P. D. N., Stoeckle, M. Y., Zemlak, T. S. and Francis, C. M. (2004). Identification of birds through DNA barcodes. PLoS Biol 2(10): 1657-1663.
  22. Hickerson, M. J., Meyer, C. P. and Moritz, C. (2006). DNA barcoding will often fail to discover new animal species over broad parameter space. Syst Biol 55(5): 729-739.
  23. Hajibabaei, M., Janzen, D. H., Burns, J. M., Hallwachs, W. and Hebert, P. D. (2006). DNA barcodes distinguish species of tropical Lepidoptera. P Natl Acad Sci USA 103(4): 968-971.
  24. Hebert, P. D., Cywinska, A., Ball, S. L. and deWaard, J. R. (2003a). Biological identifications through DNA barcodes. Proc Biol Sci 270(1512): 313-321.
  25. Hebert, P. D., Ratnasingham, S. and deWaard, J. R. (2003b). Barcoding animal life: cytochrome coxidase subunit 1 divergences among closely related species. Proc Biol Sci 270 Suppl 1(Suppl 1): S96-99.
  26. Hollingsworth, P. M., Graham, S. W. and Little, D. P. (2011). Choosing and using a plant DNA barcode. PLoS ONE 6(5): e19254.
  27. He, K., Zhang, X., Ren, S. and Sun, J. (2016). Deep residual learning for image recognition. IEEE Conference on Computer Vision and Pattern Recognition. 770-778.
  28. Hou, G., Chen, W. T., Lu, H. S., Cheng, F. and Xie, S. G. (2018). Developing a DNA barcode library for perciform fishes in the South China Sea: species identification, accuracy and cryptic diversity. Mol Ecol Resour 18(1): 137-146.
  29. Hu, J., Shen, L., Albanie, S., Sun, G. and Wu, E. (2020). Squeeze-and-excitation networks. IEEE Trans Pattern Anal Mach Intell 42(8): 2011-2023.
  30. Jombart, T. (2008). adegenet: a R package for the multivariate analysis of genetic markers. Bioinformatics 24(11): 1403-1405.
  31. Jin, Q., Han, H., Hu, X., Li, X., Zhu, C., Ho, S. Y., Ward, R. D. and Zhang, A. B. (2013). Quantifying species diversity with a DNA barcoding-based method: Tibetan moth species (Noctuidae) on the Qinghai-Tibetan Plateau. PLoS One 8(5): e64428.
  32. Kimura, M. (1980). A simple method for estimating evolutionary rates of base substitutions through comparative studies of nucleotide sequences. J Mol Evol 16(2): 111-120.
  33. Koski, L. B. and Golding, G. B. (2001). The closest BLAST hit is often not the nearest neighbor. J Mol Evol 52(6): 540-542.
  34. Kress, W. J., Wurdack, K. J., Zimmer, E. A., Weigt, L. A. and Janzen, D. H. (2005). Use of DNA barcodes to identify flowering plants. P Natl Acad Sci USA 102(23): 8369-8374.
  35. Kress, W. J. and Erickson, D. L. (2007). A two-locus global DNA barcode for land plants: the coding rbcL gene complements the non-coding trnH-psbA spacer region. PLoS One 2(6): e508.
  36. Kumar, N. P., Rajavel, A. R., Natarajan, R. and Jambulingam, P. (2007). DNA barcodes can distinguish species of Indian mosquitoes (Diptera : Culicidae). J Med Entomol 44(1): 1-7.
  37. Kuksa, P. and Pavlovic, V. (2009). Efficient alignment-free DNA barcode analytics. BMC Bioinformatics 10 Suppl 14(Suppl 14): S9.
  38. Kingma, D. and Ba, J. (2014). Adam: a method for stochastic optimization. arXiv e-prints:1412-6980.
  39. LeCun, Y., Bottou, L., Bengio, Y. and Haffner, P. (1998). Gradient-based learning applied to document recognition. P IEEE 86(11): 2278-2324.
  40. Lin, L. Z., Qian, Z. Q., Zong, G. and Wang, G. (2005). A study of computer self-learning method for the membership function coefficient in fuzzy diagnosis. Mechanical Engineer
  41. Lorenz, J. G., Jackson, W. E., Beck, J. C. and Hanner, R. (2005). The problems and promise of DNA barcodes for species diagnosis of primate biomaterials. Philos Trans R Soc Lond B Biol Sci 360(1462): 1869-1877.
  42. Lou, M. and Golding, G. B. (2010). Assigning sequences to species in the absence of large interspecific differences. Mol Phylogenet Evol 56(1):187-94.
  43. LeCun, Y., Bengio, Y. and Hinton, G. (2015). Deep learning. Nature 521(7553): 436-444.
  44. Li, P., Xie, J., Wang, Q. and Gao, Z. (2017). Towards faster training of global covariance pooling networks by iterative matrix square root normalization. arXiv e-prints.
  45. Liu, S., Yang, C., Zhou, C. and Zhou, X. (2017). Filling reference gaps via assembling DNA barcodes using high-throughput sequencing-moving toward barcoding the world. Gigascience 6(12): 1-8.
  46. Liu, S. L., Li, Y. Y., Lu, J. L., Su, X., Tang, M., Zhang, R., Zhou, L. L., Zhou, C. R., Yang, Q., Ji, Y. Q., Yu, D. W. and Zhou, X. (2013). SOAPBarcode: revealing arthropod biodiversity through assembly of Illumina shotgun sequences of PCR amplicons. Methods Ecol Evol 4(12): 1142-1150.
  47. May, R. M. (1988). How many species are there on earth? Science 241(4872): 1441-1449.
  48. McGuire, J. A., Linkem, C. W., Koo, M. S., Hutchison, D. W., Lappin, A. K., Orange, D. I., Lemos-Espinal, J., Riddle, B. R. and Jaeger, J. R. (2007). Mitochondrial introgression and incomplete lineage sorting through space and time: phylogenetics of crotaphytid lizards. Evolution 61(12): 2879-2897.
  49. Munch, K., Boomsma, W., Huelsenbeck, J. P., Willerslev, E. and Nielsen, R. (2008a). Statistical assignment of DNA sequences using Bayesian phylogenetics. Syst Biol 57(5): 750-757.
  50. Munch, K., Boomsma, W., Willerslev, E. and Nielsen, R. (2008b). Fast phylogenetic DNA barcoding. Philos Trans R Soc Lond B Biol Sci 363(1512): 3997-4002.
  51. Mora, C., Tittensor, D. P., Adl, S., Simpson, A. G. B. and Worm, B. (2011). How many species are there on earth and in the ocean? PLoS Biol 9(8): e1001127.
  52. Mutanen, M., Kivela, S. M., Vos, R. A., Doorenweerd, C., Ratnasingham, S., Hausmann, A., Huemer, P., Dinca, V., van Nieukerken, E. J., Lopez-Vaamonde, C., Vila, R., Aarvik, L., Decaëns, T., Efetov, K. A., Hebert, P. D., Johnsen, A., Karsholt, O., Pentinsaari, M., Rougerie, R., Segerer, A., Tarmann, G., Zahiri, R. and Godfray, H. C. (2016). Species-level para- and polyphyly in DNA barcode gene trees: strong operational bias in European Lepidoptera. Syst Biol 65(6): 1024-1040.
  53. Nguyen, D. and Widrow, B. (1990). Improving the learning speed of 2-layer neural networks by choosing initial values of the adaptive weights. IJCNN International Joint Conference on Neural Networks, IEEE, San Diego, CA, USA 1990
  54. Orr, M. C., Ferrari, R. R., Hughes, A. C., Chen, J., Ascher, J. S., Yan, Y. H., Williams, P. H., Zhou, X., Bai, M., Rudoy, A., Zhang, F., Ma, K. P. and Zhu, C. D. (2021). Taxonomy must engage with new technologies and evolve to face future challenges. Nat Ecol Evol 5(1): 3-4.
  55. Paradis, E., Claude, J. and Strimmer, K. (2004). APE: Analyses of phylogenetics and evolution in R language. Bioinformatics 20(2): 289-290.
  56. Paradis, E. (2010). pegas: an R package for population genetics with an integrated-modular approach. Bioinformatics 26(3): 419-420.
  57. Parker, D. B. 1982. Learning-logic invention report 581-64, File 1. Office of Technology Licensing, Stanford University, Palo Alto, California.
  58. Polychronopoulos, D., Weitschek, E., Dimitrieva, S., Bucher, P., Felici, G. and Almirantis, Y. (2014). Classification of selectively constrained DNA elements using feature vectors and rule-based classifiers. Genomics 104(2): 79-86.
  59. Puncher, G. N., Arrizabalaga, H., Alemany, F., Cariani, A., Oray, I. K., Karakulak, F. S., Basilone, G., Cuttitta, A., Mazzola, S. and Tinti, F. (2015). Molecular identification of Atlantic bluefin tuna (Thunnus thynnus, Scombridae) larvae and development of a DNA character-based identification key for Mediterranean scombrids. PLoS One 10(7): e0130407.
  60. Rumelhart, D. E. and Mcclelland, J. L. (1986). Parallel distributed processing. MIT Press. Massachusetts.
  61. Ripley, B. D. (1996). Pattern recognition and neural networks. 1st edition. Cambridge University Press.
  62. Ratnasingham, S. and Hebert, P. D. (2007). BOLD: the Barcode of Life Data System. Mol Ecol Notes 7(3): 355-364.
  63. Ratnasingham, S. and Hebert, P. D. (2013). A DNA-based registry for all animal species: the barcode index number (BIN) system. PLoS One 8(7): e66213.
  64. Steel, M. A., Hendy, M. D. and Penny, D. (1988). Loss of information in genetic distances. Nature 336(6195): 118.
  65. Smith, M. (1993). Neural networks for statistical modeling. Van Nostrand Reinhold. New York. ISBN: 9781850328421.
  66. Steinke, D., Vences, M., Salzburger, W. and Meyer, A. (2005). TaxI: a software tool for DNA barcoding using distance methods. Philos Trans R Soc Lond B Biol Sci 360(1462): 1975-1980.
  67. Shi, Z. Y., Yang, C. Q., Hao, M. D., Wang, X. Y., Ward, R. D. and Zhang, A. B. (2018). FuzzyID2: A software package for large data set species identification via barcoding and metabarcoding using hidden Markov models and fuzzy set methods. Mol Ecol Resour 18(3): 666-675.
  68. Tavaré, S. (1986). Some probabilistic and statistical problems in the analysis of DNA sequences. Lectures on Mathematics in the Life Sciences 17: 57-86.
  69. Werbos, P. J. (1974). Beyond regression: new tools for prediction and analysis in the behavioral sciences. Doctoral Dissertation. Harvard University, Cambridge.
  70. Wu, C. H. (1997). Artificial neural networks for molecular sequence analysis. Comput Chem 21(4): 237-256.
  71. Whitworth, T. L., Dawson, R. D., Magalon, H. and Baudry, E. (2007). DNA barcoding cannot reliably identify species of the blowfly genus Protocalliphora (Diptera: Calliphoridae). Proc Biol Sci 274(1619): 1731-1739.
  72. Wiemers, M. and Fiedler, K. (2007). Does the DNA barcoding gap exist? - a case study in blue butterflies (Lepidoptera: Lycaenidae). Front Zool 4(8).
  73. Weitschek, E., Cunial, F. and Felici, G. (2015). LAF: Logic Alignment Free and its application to bacterial genomes classification. BioData Min 8(39).
  74. Woo, S., Park, J., Lee, J. Y. and Kweon, I. S. (2018). CBAM: convolutional block attention module. In: Ferrari, V., Hebert, M., Sminchisescu, C. and Weiss, Y. (Eds.). In: Computer Vision – ECCV 2018. Springer, 3-19.
  75. Yada, T., Ishikawa, M., Tanaka, H. and Asai, K. (1996). Extraction of hidden Markov model representations of signal patterns in DNA sequences. Pac Symp Biocomput 686-696.
  76. Yuan, J., Shi, H. and Chang, L. (2008). Construction of fuzzy membership functions based on least squares fitting. Kongzhi yu Juece/Control and Decision 23(11): 1263-1262.
  77. Yang, B., Zhang, Z. X., Yang, C. Q., Wang, Y., Orr, M. C., Wang, H. B., and Zhang, A. B. (2021). Identification of species by combining molecular and morphological data using convolutional neural networks. Syst Biol syab076.
  78. Yang, C. Q., Lv, Q. and Zhang, A. B. (2020). Sixteen years of DNA barcoding in China: what has been done? what can be done? Front Ecol Evol 8.
  79. Zhang, G. Q., Patuwo, B. E. and Hu, M. Y. (1998). Forecasting with artificial neural networks: the state of the art. Int J Forecasting 14(1): 35-62.
  80. Zhang, A. B., Wang, Z. J. and Li, D. M. (2001). Application of BP model and LOGIT model to prediction of occurrence of forest insect pest. Acta Ecol Sin 21(12): 2159-2165.
  81. Zhang, A. B., Sikes, D. S., Muster, C. and Li, S. Q. (2008). Inferring species membership using DNA sequences with back-propagation neural networks. Syst Biol 57(2): 202-215.
  82. Zhang, A. B. and Savolainen, P. (2009). BPSI2.0: a C/C++ interface program for species identification via DNA barcoding with a BP-neural network by calling the Matlab engine. Mol Ecol Resour 9(1): 104-106.
  83. Zhang, A. B., Feng, J., Ward, R. D., Wan, P., Gao, Q., Wu, J. and Zhao, W. Z. (2012a). A new method for species identification via protein-coding and non-coding DNA barcodes by combining machine learning with bioinformatic methods. PLoS One 7(2): e30986.
  84. Zhang, A. B., Muster, C., Liang, H. B., Zhu, C. D., Crozier, R., Wan, P., Feng, J. and Ward, R. D. (2012b). A fuzzy-set-theory-based approach to analyse species membership in DNA barcoding. Mol Ecol 21(8): 1848-1863.
  85. Zhang, A. B., Hao, M. D., Yang, C. Q. and Shi, Z. Y. (2017). BarcodingR: an integrated R package for species identification using DNA barcodes. Methods Ecol Evol 8(5): 627-634.
  86. Zhang, R. (2019). Making convolutional networks shift-invariant again. arXiv e-prints.
Please login or register for free to view full text
Copyright: © 2021 The Authors; exclusive licensee Bio-protocol LLC.
引用格式:张爱兵, 杨炳, 王瑛, 杨采青. (2021). DNA条形码算法及软件开发. Bio-101: e1010669. DOI: 10.21769/BioProtoc.1010669.
How to cite: Zhang, A. B., Yang, B., Wang, Y. and Yang, C. Q. (2021). Algorithms and Software Development of DNA Barcoding. Bio-101: e1010669. DOI: 10.21769/BioProtoc.1010669.
Q&A

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.

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.

We use cookies on this site to enhance your user experience. By using our website, you are agreeing to allow the storage of cookies on your computer.