用于Sanger测序的深度碱基识别器的制作方法

文档序号:26009845发布日期:2021-07-23 21:29阅读:316来源:国知局
用于Sanger测序的深度碱基识别器的制作方法

本公开一般涉及用于碱基识别(basecall)的系统、装置和方法,并且更具体地涉及在sanger测序分析中使用深度机器学习进行碱基识别的系统、装置和方法。



背景技术:

使用毛细管电泳(ce)遗传分析仪的sanger测序是金标准dna测序技术,其提供了高准确度、长读取能力和支持许多研究领域中的不同应用范围的灵活性。用于ce遗传分析仪上sanger测序的碱基识别和质量值(qv)的准确度对于成功的测序项目是必要的。开发了传统的碱基识别器以提供完整和集成的碱基识别解决方案来支持测序平台和应用。它最初被设计成碱基识别长质粒克隆(纯碱基),然后后来延伸到碱基识别混合碱基数据以支持变体鉴定。

然而,明显的混合碱基偶尔被称为纯碱基,即使预测的qv很高,并且由于测序伪影,例如染料斑点、聚合酶滑动和引物杂质引起的n-1峰、迁移率移位等,也相对频繁地出现假阳性,其中纯碱基被错误地称为混合碱基。显然,需要改进混合碱基的碱基识别和qv准确度以支持用于鉴定变体如单核苷酸多态性(snp)和杂合插入缺失变体(hetindels)的测序应用。由于5'和3'端的迁移率移位和低分辨率,5'和3'端的传统碱基识别器的碱基识别精度也相对较低。传统碱基识别器也很难对长度短于150个碱基对(bps),特别是短于100bps的扩增子进行碱基识别,未能估计平均峰间距、平均峰宽度、间距曲线和/或宽度曲线,有时会导致错误率增加。

因此,非常希望对于混合碱基和5'和3'末端提高碱基识别准确度,使得碱基识别算法可以提供更高保真度的sanger测序数据,改进变体识别、增加读取长度,并且还节省测序应用的测序成本。

变性毛细管电泳是本领域普通技术人员熟知的。总之,在毛细管的入口端将核酸样本注射到毛细管中的变性分离介质中,并对毛细管两端施加电场。样本例如聚合酶链式反应(pcr)混合物或其它样本中的不同核酸组分由于其电泳特性的差异而以不同的速度迁移到检测点。因此,它们在不同时间到达检测器(通常是紫外(uv)或荧光检测器)。结果呈现为一系列检测的峰,其中每个峰理想地代表样本的一种核酸组分或种类。峰面积和/或峰高度表示所述混合物中的组分的初始浓度。

任何给定峰(包括伪影峰)的量值最通常是基于核酸(例如dna)的uv吸收或来自与核酸相关联的一个或多个标签的荧光发射而光学地确定。适用于核酸ce检测的uv和荧光检测器是本领域公知的。

ce毛细管本身通常是石英,尽管可以使用本领域技术人员已知的其它材料。商业上有许多ce系统,具有单毛细管和多毛细管能力。本文所述的方法适用于使核酸样本的ce变性的任何装置或系统。

因为游离溶液中不同大小的多核苷酸的电荷-摩擦阻力比相同,所以电泳分离需要存在筛分(即分离)介质。适用的ce分离基质与变性核酸ce所必需的变性剂的存在相容,变性剂的常见实例是8m尿素。



技术实现要素:

描述了用于碱基识别应用的系统和方法,例如在基于微流体分离的碱基识别系统中(其中分离通过蚀刻到玻璃、硅或其它衬底中或上的微通道进行),或通过使用单个或多个圆柱形毛细管的毛细管电泳分离。

附图说明

为了容易地识别对任何特定元件或动作的讨论,附图标记中的一个或多个最高有效数位是指其中首次引入所述元件的附图编号。

图1示出了根据一个实施例的ce装置100。

图2示出了根据一个实施例的ce系统200。

图3示出了根据一个实施例的ce过程300。

图4示出了根据一个实施例的ce过程400。

图5示出了根据一个实施例的基本深度神经网络500。

图6示出了根据一个实施例的人工神经元600。

图7示出了根据一个实施例的递归神经网络700。

图8示出了根据一个实施例的双向递归神经网络800。

图9示出了根据一个实施例的长短期记忆900。

图10示出了根据一个实施例的碱基识别器系统1000。

图11示出了根据一个实施例的扫描标签模型训练方法1100。

图12示出了根据一个实施例的qv模型训练方法1200。

图13是可以结合本发明实施例的计算装置1300的实例框图。

具体实施方式

除非另外明确地或通过上下文指示,否则本文使用的术语应符合其本领域的普通含义。

本文中的“质量值”是指给定碱基识别出错的可能性的估计(或预测)。典型地,按照由phred程序建立的约定来缩放质量值:qv=–10log10(pe),其中pe表示识别出错的估计概率。质量值是碱基识别和一致性识别(consensus-calling)算法的确定性的量度。较高的值对应于较低的算法错误机会。样本质量值指样本的每碱基质量值,一致性质量值指每一致性质量值。

在此上下文中,“s型函数”是指形式为f(x)=1/(exp(-x))的函数。s型函数用作在人工神经网络中的激活函数。它具有将宽范围的输入值映射到范围为0至1或有时为-1至1的特性。

本文中的“毛细管电泳遗传分析仪”是指将电场施加到装有样本的毛细管上,使得带负电荷的dna片段向正电极移动的仪器。dna片段通过培养基的速度与其分子量成反比。电泳过程可以以一个碱基的分辨率按大小分离延伸产物。

本文中的“图像信号”是指来自用于在数据运行期间鉴定碱基的染料之一的荧光的强度读数。信号强度数字显示在样本文件的“注释”视图中。

本文中的“示范性商业ce装置”是指包括美国应用生物系统公司(appliedbiosystems,inc.,abi)遗传分析仪型号310(单毛细管)、3130(4毛细管)、3130xl(16毛细管)、3500(8毛细管)、3500xl(24毛细管)、3730(48毛细管)和3730xl(96毛细管)、agilent7100装置、princetechnologies,inc.的princetm毛细管电泳系统、lumex,inc.的capel-105tmce系统和美国贝克曼库尔特(beckmancoulter)的p/acetmmdq系统等。

本文中的“碱基对”是指dna序列中的互补核苷酸。胸腺嘧啶(t)与腺嘌呤(a)互补,鸟嘌呤(g)与胞嘧啶(c)互补。

本文中的“relu”是指整流函数,即定义为ints输入的正部分的激活函数。它也被称为斜坡函数,并且类似于电信号理论中的半波整流。relu是深度神经网络中常用的激活函数。

本文中的“杂合插入缺失变体”是指单核苷酸多态性。

本文中的“迁移率移位”是指由与不同标记的反应延伸产物相关的不同荧光染料分子的存在引起的电泳迁移率变化。

本文中的“变体”是指一致性序列不同于所提供的参考序列的碱基。

本文中的“聚合酶滑移”是指在dna复制期间导致三核苷酸或二核苷酸膨胀或收缩的突变形式。当在复制位点发现重复核苷酸序列(串联重复)时,通常发生滑移事件。串联重复是基因组的不稳定区域,其中可以发生频繁的核苷酸插入和缺失。

本文中的“扩增子”是指pcr反应的产物。通常,扩增子是dna的短片段。

本文中的“碱基识别”是指将核苷酸碱基赋予荧光信号的每个峰(a、c、g、t或n)。

本文中的“原始数据”是指显示针对四种荧光染料中的每一种收集的荧光强度(信号)的多色图。

本文中的“基间距”是指从一个峰到下一个峰的数据点的数目。负间距值或红色所示间距值表示您的样本和/或分析参数存在问题。

本文中的“分离或筛分介质”是指包括凝胶,然而可以使用非凝胶液体聚合物,例如线性聚丙烯酰胺、羟烷基纤维素(hec)、琼脂糖和醋酸纤维素等。可用于毛细管电泳的其它分离介质包括但不限于水溶性聚合物,如聚(n,n′-二甲基丙烯酰胺)(pdma)、聚乙二醇(peg)、聚乙烯吡咯烷酮(pvp)、聚环氧乙烷、多糖和聚醚多元醇;各种聚乙烯醇(pval)相关聚合物、聚醚-水混合物、溶致聚合物液晶等。

本文中的“adam优化器”是指一种优化算法,其可以代替传统的随机梯度下降过程来用于基于训练数据更新网络权重迭代。随机梯度下降可为所有权重更新保持单一学习率(称为α),并且训练期间学习率不会改变。对于每个网络权重(参数),都将维持学习率,并随着学习的发展而分别进行调整。adam结合了随机梯度下降的其它两个扩展的优点。具体而言,自适应梯度算法(adagrad)可以保持每参数的学习率,从而改进稀疏梯度问题(例如自然语言和计算机视觉问题)的性能,而均方根传播(rmsprop)也可以保持每参数的学习率,所述学习率根据最近的权重梯度幅度的平均值(例如,改变速度有多快)进行调整。这意味着所述算法在在线和非静态问题(例如嘈杂)上效果很好。adam认识到adagrad和rmsprop两者的好处。adam并没有像rmsprop中那样根据平均第一力矩(均值)调整参数学习率,而是利用了梯度第二力矩(无中心方差)的平均值。具体来说,所述算法计算梯度和平方梯度的指数移动平均值,并且参数β1和β2控制这些移动平均值的衰减率。移动平均值的初始值以及β1和β2值都接近1.0(建议)会导致力矩估算值偏向零。通过首先计算偏差估计值,然后再计算偏差校正的估计值,可以克服此偏差。

本文中的“双曲正切函数”是指tanh(x)=sinh(x)/cosh(x)形式的函数。tanh函数是人工神经网络中常用的激活函数。像s形一样,tanh函数也是s形的(“s”形),但是输出范围为(-1,1)的值。因此,tanh的强负输入将映射到负输出。此外,只有零值输入映射到近零输出。这些特性使得网络在训练期间不太可能“卡住”。

本文中的“相对荧光单位”是指电泳方法中的测量值,例如用于dna分析。“相对荧光单位”是在采用荧光检测的分析中使用的测量单位。

本文中的“ctc损失函数”是指连接时序分类,一种类型的神经网络输出和相关联的评分函数,用于训练诸如lstm网络之类的递归神经网络(rnn)以解决定时可变的序列问题。ctc网络具有连续输出(例如softmax),其可通过训练拟合以对标记的概率进行建模。ctc不会尝试去学习边界和时序:如果标签序列仅在对齐方式上有所不同,忽略空白,则认为它们是等效的。等效的标记序列可以通过多种方式发生-使得评分成为一项艰巨的任务。幸运的是,有一种高效的前向-后向算法。然后,可以将ctc分数与反向传播算法一起使用以更新神经网络权重。适合ctc的神经网络的替代方法包含隐式马尔可夫模型(hiddenmarkovmodel;hmm)。

本文中的“聚合酶”是指催化聚合的酶。使用另一种单链dna或rna作为模板,dna和rna聚合酶(分别)由游离核苷酸构建单链dna或rna。

本文中的“样本数据”是指测序仪器上单道或毛细管的输出。将样本数据输入sequencinganalysis(测序分析)、seqscape和其它测序分析软件。

本文中的“质粒”是指细胞中可独立于染色体复制的遗传结构,通常是细菌或原生动物细胞质中的小环状dna链。质粒广泛用于基因的实验室操作。

本文中的“束搜索”是指通过扩展有限集中最有希望的节点来探索图的启发式搜索算法。束搜索是最佳优先搜索的优化,减少了其存储器需求。最佳优先搜索是图形搜索,根据某种启发式算法对所有部分解(状态)进行排序。但是在束搜索中,仅保留预定数量的最佳局部解作为候选。因此,这是贪婪算法。束搜索使用广度优先搜索来构建其搜索树。在树的每个级别,它都会生成当前级别的状态的所有后继者,并按启发式成本的升序对其进行排序。但是,它仅在每个级别上存储预定数量β的最佳状态(称为束宽度)。接下来仅扩展那些状态。束宽度越大,删除的状态越少。对于无限的束宽度,不会删除任何状态,并且束搜索与广度优先搜索相同。束宽度限制了执行搜索所需的存储器。由于可能会删除目标状态,因此束搜索会牺牲完整性(保证算法将以解终止(如果存在的话)。束搜索不是最佳的(也就是说,无法保证它将找到最佳解)。通常,束搜索返回找到的第一解。用于机器平移的束搜索是另一种情况:一旦达到配置的最大搜索深度(即平移长度),所述算法将评估在各种深度的搜索期间找到的解,并返回最佳解(概率最大的解)。束宽度可以是固定的或可变的。一种使用可变束宽度的方法以最小宽度开始。如果找不到解,则将束加宽并重复所述程序。

本文中的“sanger测序器”是指利用dna聚合酶掺入2′,3′-二脱氧核苷酸-核苷酸碱基类似物的能力的dna测序方法,所述类似物缺乏磷酸二酯键形成中必需的3'-羟基。sanger双脱氧测序需要dna模板、测序引物、dna聚合酶、脱氧核苷酸(dntp)、双脱氧核苷酸(ddntp)和反应缓冲液。建立四个独立的反应,每个都含有放射性标记的核苷酸和dda、ddc、ddg或ddt。退火、标记和终止步骤在分开的加热块上进行。dna合成在37℃(dna聚合酶具有最佳酶活性的温度)下进行。dna聚合酶在每个链延伸步骤添加脱氧核苷酸或相应的2′,3′-二脱氧核苷酸。是否加入脱氧核苷酸或双脱氧核苷酸取决于两种分子的相对浓度。当向3'末端添加脱氧核苷酸(a、c、g或t)时,可继续链延伸。然而,当双脱氧核苷酸(dda、ddc、ddg或ddt)被添加到3'末端时,通过毛细管的链延伸4dna测序终止。sanger双脱氧测序导致形成在3'末端以双脱氧核苷酸终止的各种长度的延伸产物。

本文中的“单核苷酸多态性”是指dna序列中单个碱基对的变异。

本文中的“混合碱基”是指含有2、3或4个碱基的一碱基位置。这些碱基被分配适当的iub代码。

本文中的“softmax函数”是指形式为f(xi)=exp(xi)/sum(exp(x))的函数,其中该和在一组x上取得。softmax在人工神经网络的不同层(通常在输出层)处使用,以预测输入到这些层的分类。softmax函数计算事件xi在‘n’个不同的事件中的概率分布。一般来说,此函数计算每个目标类别在所有可能的目标类别中的概率。计算出的概率有助于预测目标类别在输入中表示。使用softmax的主要优点是输出概率范围。范围将从0到1,并且所有概率的总和将等于一。如果将softmax函数用于多分类模型,它将返回每个类别的概率,并且目标类别将具有高概率。该公式计算给定输入值的指数(幂)和输入中所有值的指数值之和。则输入值的指数与指数值之和的比率是softmax函数的输出。

本文中的“噪声”是指每种染料的平均背景荧光强度。

在此上下文中,“反向传播”是指在人工神经网络中使用的算法,用于计算待用于网络中的权重的计算中所需的梯度。它通常用于训练深度神经网络,该术语是指具有多于一个隐藏层的神经网络。对于反向传播,在事例通过网络进行传播之后,损失函数计算网络输出与其预期输出之间的差值。

本文中的“出队列最大值查找器”是指利用双端队列来确定最大值的算法。

本文中的“门控递归单位(gru)”是指递归神经网络中的门控机制。与lstm相比,gru可在较小数据集上展现更好的性能。与lstm相比,gru具有较少的参数,因为它们没有输出门。参见https://en.wikipedia.org/wiki/gated_recurrent_unit

本文中的“纯碱基”是指碱基识别器的分配模式,其中碱基识别器将a、c、g和t确定为位置而不是变量。

本文中的“引物”是指在pcr反应中用作dna聚合酶的引发位点的dna的短单链。

本文中的“损失函数”也称为成本函数或误差函数(不与高斯误差函数混淆),是将一个或多个变量的值映射到直观地表示与这些值相关联的一些“成本”的实数上的函数。

参考图1,在一个实施例中,ce装置100包含偏压源102、毛细管104、主体114、检测器106、样本注入口108、加热器110和分离介质112。将样本注入样本注入口108,通过加热器110将样本保持在环境温度以上。一旦注入,样本就与分离介质112接合并分裂成组分分子。组分在偏压源102建立的电场的影响下迁移通过毛细管104,直到它们到达检测器106。

参考图2,一个实施例中的ce系统200包含最初包含荧光标记的样本220的源缓冲器218、毛细管222、目的地缓冲器226、电源228、包含处理器208的计算装置202、包含碱基识别器算法204的存储器206和控制器212。源缓冲器218通过毛细管222与目的缓冲器226流体连通。电源228向源缓冲器218和目的缓冲器226施加电压,通过源缓冲器218中的阳极230和目的缓冲器226中的阴极232生成偏压。由电源228施加的电压由计算装置202操作的控制器212配置。源缓冲器218附近的荧光标记的样本220被电压梯度拉过毛细管222,并且样本内的dna片段的光学标记的核苷酸在通过光学传感器224时被检测。荧光标记的样本220内的不同大小的dna片段由于其大小而在不同时间被拉过毛细管。光学传感器224检测核苷酸上的荧光标记作为图像信号,并将图像信号传送到计算装置202。计算装置202将图像信号聚集为样本数据,并利用存储在存储器206中的碱基识别器算法204来操作神经网络210,以将样本数据变换为经处理的数据,并生成要在显示装置214中示出的电泳图216。

参考图3,ce过程300涉及计算装置312将配置控制318传送到控制器308以控制由电源306施加到缓冲器302的电压。在已将所制备的荧光标记样本添加到源缓冲器之后,控制器308将操作控制320传送到电源306以将电压322施加到缓冲器,从而产生偏压/电梯度。所施加的电压使荧光标记的样本324移动通过缓冲器302之间的毛细管304并经过光学传感器310。光学传感器310检测通过毛细管的dna片段的核苷酸上的荧光标记,并将图像信号326传送到计算装置312。计算装置312聚集图像信号326以生成样本数据328,样本数据被传送到神经网络314用于进一步处理。神经网络314处理样本数据328(例如,信号值)以生成被传送回计算装置312的经处理的数据330(例如,类)。计算装置312然后生成显示控制332以在显示装置316中显示电泳图。

参考图4,ce过程400包括配置毛细管电泳仪操作参数以对至少一个荧光标记的样本进行排序(框402)。仪器的配置可包括创建或导入用于运行一系列样本的板设置,并将标签分配给板样本以帮助处理收集的成像数据。该过程还可以包括将配置控制传送到控制器以在预定时间开始施加电压。在框404中,ce过程400将荧光标记的样本装载到仪器中。在将样本装载到仪器中后,仪器可以将样本从板孔转移到毛细管中,然后在毛细管电泳过程开始时将毛细管定位到起始缓冲器中。在框406中,ce过程400在样本已经装载到毛细管中之后开始仪器运行,通过向位于毛细管相对端的缓冲溶液施加电压,形成电梯度以将荧光标记样本的dna片段从起始缓冲器运输到目标缓冲器并穿过光学传感器。在框408中,当dna片段通过光学传感器移向目标缓冲器时,ce过程400检测dna片段核苷酸上的各个荧光信号,并将图像信号传送到计算装置。在框410中,ce过程400在计算装置处聚集来自光学传感器的图像信号并生成对应于dna片段的核苷酸的荧光强度的样本数据。在框412中,ce过程400通过利用神经网络来处理样本数据,以帮助识别在特定时间点在dna片段中识别的碱基。在框414中,ce过程400通过显示装置显示经电泳图谱处理的数据。

基本的深度神经网络500基于称为人工神经元的连接单元或节点的集合,所述人工神经元松散地模拟生物脑中的神经元。每个连接,如同在生物脑中的突触,可将信号从一个人工神经元传输到另一个。接收信号的人工神经元可以处理信号,且接着向与其连接的附加人工神经元发信号。

在常见的实现方式中,人工神经元之间的连接处的信号是实数,并且每个人工神经元的输出是通过其输入的总和的某种非线性函数(激活函数)来计算的。人工神经元之间的连接被称为“边缘”或轴突。人工神经元和边缘通常具有随着学习进行而调整的权重。权重增加或减小连接处的信号的强度。人工神经元可具有阈值(触发阈值),使得仅在集合信号超越该阈值时,才发送信号。通常,人工神经元聚集成层。不同的层可对其输入进行不同种类的转换。信号可能在穿过称为隐藏层504的一个或多个中间层之后从第一层(输入层502)传播到最后一层(输出层506)。

参照图6,从前任神经元接收输入的人工神经元600由以下分量组成:

·输入xi;

·应用于输入的权重wi;

·可选的阈值(b),其保持固定,除非由学习函数改变;以及

·激活函数602,其计算来自先前神经元输入的输出和阈值(如果有的话)。

输入神经元没有前任,但用作整个网络的输入接口。类似地,输出神经元没有后继,因此用作整个网络的输出接口。

网络包括连接,每个连接将一个层中的神经元的输出传递到下一层中的神经元的输入。每个连接都带有输入x并分配有权重w。

激活函数602通常具有前任神经元的输入的加权值的乘积和的形式。

学习规则是规则或算法,其修改神经网络参数,以便网络的给定输入产生有利的输出。此学习过程通常涉及修改网络内神经元和连接的权重和阈值。

图7示出了递归神经网络700(rnn)。变量x[t]是在阶段t的输入。例如,x[1]可以是对应于句子的第二词的独热向量。变量s[t]是在阶段t的隐藏状态。它是网络的“存储器”。基于先前的隐藏状态和目前阶段的输入来计算变量s[t]:s[t]=f(ux[t]+ws[t-1])。激活函数f通常是非线性,例如tanh或relu。计算第一隐藏状态所需的输入s(-1)通常被初始化为全零。变量o[t]是在阶段t的输出。例如,为了预测句子中的下一个词,它将是跨词汇表的概率的向量:o[t]=softmax(vs[t])。

图8示出了双向递归神经网络800(brnn)。brnn被设计用于这样的情况,其中一个阶段的输出可能不仅取决于序列中先前的输入,还取决于未来的元素。例如,为了预测序列中的丢失字,brnn将考虑左边和右边的上下文。brnn可以实现为两个rnn,其中基于两个rnn的隐藏状态s和输入x来计算输出y。在图8所示的双向递归神经网络800中,每个节点a本身通常是神经网络。深brnn类似于brnn,但是每个节点a具有多个层。实际上,这实现了更高的学习能力,但也需要比单层网络更多的训练数据。

图9示出了具有长短期记忆900(lstm)的rnn体系结构。

所有rnn具有重复节点链的形式,每个节点都是神经网络。在标准rnn中,该重复节点将具有诸如具有tanh激活函数的单层的结构。这在上图中示出。lstm也具有类似链的设计,但是重复节点a具有与常规rnn不同的结构。代替具有单个神经网络层,典型地存在四个,并且这些层以特定方式交互。

在lstm中,每条路径携带从一个节点的输出到其它节点的输入的整个向量。虚线框外部的圆圈函数表示逐点操作,如向量加法,而虚线框内部的s形和tanh框是学习的神经网络层。线合并表示级联,而线分叉表示被复制的值和去往不同位置的副本。

lstm的一个重要特征是单元状态ct,即穿过长短期记忆900顶部的水平线(下图)。单元状态类似于传送带。它穿过整个链,仅有一些较小的线性相互作用。信号完全可以不改变地沿着它流动。lstm具有去除或添加单元状态信息的能力,由称为门的结构仔细调节。门是任选地使信息通过单元的方式。它们通常使用s形神经网络层和逐点乘法运算来形成。

s形层输出在0和1之间的数,描述每个分量应该通过多少。零值意味着“不让任何东西通过”,而一值意味着“让所有东西通过”。lstm具有这些s形门中的三个,以保护和控制单元状态。

参考图10,碱基识别器系统1000包含输入分段器1002、扫描标签模型1004、组装器1006、解码器1008、质量值模型1010和测序器1012。

输入划分器1002接收输入迹线序列、窗口大小和步幅长度。输入迹线序列可以是从毛细管电泳(ce)仪器收集的染料相对荧光单位(rfu)序列或直接在ce仪器中收集的原始光谱数据。输入迹线序列包含多个扫描。窗口大小确定扫描标签模型1004的每个输入的扫描数目。步幅长度确定扫描标签模型1004的窗口或输入的数目。输入划分器1002利用输入迹线序列、窗口大小和步幅长度来生成要发送到扫描标签模型1004的输入扫描窗口。

扫描标签模型1004接收输入扫描窗口并生成所有扫描窗口的扫描标签概率。扫描标签模型1004可以包含一个或多个训练模型。可以选择模型用于生成扫描标签概率。模型可以是具有一层或多层lstm或类似单元(例如gru(门控递归单元))的brnn。模型可以具有类似于图8、图9(删除)和图9所示的结构。模型还可以利用softmax层作为lstmbrnn的输出层,其输出输入扫描窗口中所有扫描的标签概率。可以根据图11所示的过程来训练扫描标签模型1004。然后将扫描标签概率发送到组装器1006。

组装器1006接收扫描标签概率并将所有扫描窗口的标签概率组装在一起以构建测序样本的整个迹线的标签概率。组装扫描窗口的扫描标签概率然后被发送到解码器1008和质量值模型1010。

解码器1008接收组装扫描窗口的扫描标签概率。然后,解码器1008将扫描标签概率解码为输入迹线序列的碱基识别。解码器1008可对组装标签概率利用前缀束搜索或其它解码器来查找测序样本的碱基识别。然后将输入迹线序列和组装扫描窗口的碱基识别发送到测序器1012。

质量值模型1010接收组装扫描窗口的扫描标签概率。然后,质量值模型1010生成估计的碱基识别错误概率。估计的碱基识别错误概率可以通过以下等式转换为phred式质量分数:qv=-10xlog(错误概率)。质量值模型1010可以是卷积神经网络。质量值模型1010可以具有几个具有逻辑回归层的隐藏层。可以在逻辑回归层中利用诸如s形函数之类的假设函数,以基于输入扫描概率来预测估计的错误概率。质量值模型1010可以包含可以被选择使用的一个或多个经训练模型。选择可以基于最小评估损失或错误率。可以根据图12所示的过程来训练质量值模型1010。估计的碱基识别错误概率然后与组装扫描窗口的碱基识别相关联。

测序器1012接收输入迹线序列的碱基识别、组装扫描窗口和估计的碱基识别错误概率。测序器1012然后基于来自ctc网络的输出标签概率和来自解码器的碱基识别查找碱基识别的扫描位置。测序器1012可以利用出列最大查找器算法。因此,测序器1012生成输出碱基识别序列和估计的错误概率。

在一些实施例中,可以利用诸如添加噪声、尖峰(spike)、染料斑点(dyeblob)或其它数据伪影或模拟测序迹线之类的数据增强技术。这些技术可以提高碱基识别器系统1000的鲁棒性。生成式对抗网络(gan)可用于实现这些技术。

参照图11,扫描标签模型训练方法1100接收数据集(框1102)。数据集可以包括纯碱基数据集和混合碱基数据集。例如,纯碱基数据集可包含~49m个碱基识别,而混合碱基数据集可包含~13.4m个碱基识别。混合碱基数据集可以主要由纯碱基和偶尔混合碱基组成。对于数据集中的每个样本,整个迹线被分成扫描窗口(框1104)。每个扫描窗口可以具有500次扫描。迹线可以是预处理的染料rfu的序列。另外,每个样本的扫描窗口可以移位250次扫描以最小化训练时扫描位置的偏差。然后为每个扫描窗口确定经注释的碱基识别(框1106)。这些被用作训练期间的目标序列。然后构造训练样本(框1108)。它们中的每一个可以包含具有500次扫描的扫描窗口和相应的经注释的碱基识别。初始化具有一层或多层lstm的brnn(框1110)。brnn可以利用类似于lstm的其它单元,例如门控递归单元(gru)。softmax层可用作lstmbrnn的输出层,其输出输入扫描窗口中所有扫描的标签概率。然后将训练样本应用于brnn(框1112)。输出输入扫描窗口中所有扫描的标签概率(框1114)。计算输出扫描标签概率与目标经注释的碱基识别之间的损失。可以利用连接时序分类(ctc)损失函数来计算输出扫描标签概率与目标经注释的碱基识别之间的损失。然后选择小批量的训练样本(框1118)。可以在每个训练步骤从训练数据集中随机选择小批量。更新网络的权重以相对于小批量的训练样本最小化ctc损失(框1120)。可以利用adam优化器或其它梯度下降优化器来更新权重。然后将网络保存为模型(框1122)。在一些实施例中,在特定训练步骤期间保存模型。然后,扫描标签模型训练方法1100确定是否已经达到预定数目的训练步骤(判定框1124)。如果否,则利用具有更新的权重的网络(即,网络的下一次迭代)从框1112重新执行扫描标签模型训练方法1100。一旦执行了预定数目的训练步骤,就评估所保存的模型(框1126)。可以利用验证数据集中不包括在训练过程中的样本的独立子集来执行评估。然后基于来自经训练模型的最小评估损失或错误率来选择最佳经训练模型。这些模型然后可以由碱基识别器系统1000使用。

在一些实施例中,可以利用诸如添加噪声、尖峰(spike)、染料斑点(dyeblob)或其它数据伪影之类数据增强技术或通过生成式对抗网络(gan)的模拟的测序迹线来提高模型的鲁棒性。而且,在训练期间,可以使用其它技术,例如丢弃(drop-out)或权重衰减来提高模型的通用性。

参考图12,qv模型训练方法1200利用经训练网络和解码器来计算扫描标签概率、碱基识别及其扫描位置(框1202)。经训练网络和解码器可以是图10所示的那些。为qv训练构建训练样本(框1204)。可以利用每个碱基识别的中心扫描位置周围的扫描概率,并且可以将所有碱基识别分配到两个类别:正确的碱基识别或不正确的碱基识别。可以利用具有若干隐藏层和逻辑回归层的卷积神经网络(cnn)来进行训练(框1206)。cnn和逻辑回归层可以被初始化。可以基于输入扫描概率来预测估计的错误概率(框1208)。可以在逻辑回归层中利用诸如s形函数之类的假设函数来基于输入扫描概率,预测估计的错误概率。然后计算预测错误概率与碱基识别类别之间的损失(框1210)。用于逻辑回归的成本函数如逻辑损失(或称为交叉熵损失)可用于计算预测错误概率与碱基识别类别之间的损失。

然后选择小批量的训练样本(框1212)。可以在每个训练步骤从训练数据集中随机选择小批量。更新网络的权重以相对于小批量的训练样本最小化逻辑损失(框1214)。可以利用adam优化器或其它梯度下降优化器来更新权重。然后将网络保存为模型(框1216)。在一些实施例中,在特定训练步骤期间保存模型。然后,qv模型训练方法1200确定是否已经达到预定数目的训练步骤(判定框1218)。如果否,则利用具有更新的权重的网络(即,网络的下一次迭代)从框1206重新执行qv模型训练方法1200。一旦执行了预定数目的训练步骤,就评估所保存的模型(框1220)。可以通过验证数据集中不包括在训练过程中的样本的独立子集来评估模型。所选择的经训练模型可以是具有最小评估损失或错误率的那些。

图13是可以结合本发明实施例的计算装置1300的实例框图。图13仅说明进行本文中所描述的技术过程的各方面的机器系统且不限制权利要求书的范围。本领域的技术人员将认识到其它变化、修改和替代方案。在一个实施例中,计算装置1300通常包括监视器或图形用户界面1302、数据处理系统1320、通信网络接口1312、输入装置1308、输出装置1306等。

如图13所示,数据处理系统1320可以包括经由总线子系统1318与多个外围装置通信的一个或多个处理器1304。这些外围装置可以包括输入装置1308、输出装置1306、通信网络接口1312和存储子系统,例如易失性存储器1310和非易失性存储器1314。

易失性存储器1310和/或非易失性存储器1314可存储计算机可执行指令,并因此形成逻辑1322,该逻辑在应用于处理器1304并由处理器执行时实现本文所公开的过程的各实施例。

输入装置1308包括用于向数据处理系统1320输入信息的装置和机制。这些可以包括键盘、小键盘、结合到监视器或图形用户界面1302中的触摸屏、诸如语音识别系统、麦克风之类的音频输入装置,和其它类型的输入装置。在各种实施例中,输入装置1308可以实现为计算机鼠标、跟踪球、跟踪板、操纵杆、无线遥控器、绘图板、语音命令系统、眼睛跟踪系统等。输入装置1308通常允许用户经由诸如点击按钮等命令来选择出现在监视器或图形用户界面1302上的对象、图标、控制区域、文本等。

输出装置1306包括用于从数据处理系统1320输出信息的装置和机制。这些可以包括本领域公知的监视器或图形用户界面1302、扬声器、打印机、红外led等。

通信网络接口1312提供到通信网络(例如,通信网络1316)和数据处理系统1320外部的装置的接口。通信网络接口1312可以用作用于从其它系统接收数据和向其它系统发送数据的接口。通信网络接口1312的实施例可以包括以太网接口、调制解调器(电话、卫星、电缆、isdn)、(异步)数字用户线(dsl)、firewire、usb、诸如蓝牙或wifi之类的无线通信接口、近场通信无线接口、蜂窝接口等。

通信网络接口1312可以经由天线、电缆等耦合到通信网络1316。在一些实施例中,通信网络接口1312可以物理地集成在数据处理系统1320的电路板上,或者在一些情况下可以用诸如“软调制解调器”等软件或固件来实现。

计算装置1300可以包括允许使用诸如http、tcp/ip、rtp/rtsp、ipx、udp等协议通过网络进行通信的逻辑。

易失性存储器1310和非易失性存储器1314是被配置为存储计算机可读数据和指令的有形介质的实例,所述计算机可读数据和指令形成实现本文描述的过程的各方面的逻辑。其它类型的有形介质包含可移除存储器(例如,可插拔usb存储器装置、移动装置sim卡)、光学存储介质如cd-roms、dvd、半导体存储器如闪速存储器、非暂时性只读存储器(roms)、电池支持的易失性存储器、联网存储装置等。易失性存储器1310和非易失性存储器1314可以被配置成存储基本编程和数据构造,其提供所公开的过程及其在本发明范围内的其它实施例的功能。

实现本发明实施例的逻辑1322可以由存储计算机可读指令的易失性存储器1310和/或非易失性存储器1314形成。所述指令可从易失性存储器1310和/或非易失性存储器1314读取并由处理器1304执行。易失性存储器1310和非易失性存储器1314还可以提供用于存储由逻辑1322使用的数据的储存库。

易失性存储器1310和非易失性存储器1314可以包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(ram)和其中存储只读非瞬态指令的只读存储器(rom)。易失性存储器1310和非易失性存储器1314可以包括为程序和数据文件提供持久(非易失性)存储的文件存储子系统。易失性存储器1310和非易失性存储器1314可以包括可移动存储系统,例如可移动闪存。

总线子系统1318提供用于使数据处理系统1320的各种组件和子系统能够按预期彼此通信的机制。虽然通信网络接口1312被示意性地描绘为单个总线,但是总线子系统1318的一些实施例可以利用多个不同的总线。

对于本领域的普通技术人员显而易见的是,计算装置1300可以是诸如智能电话、台式计算机、膝上型计算机、机架式计算机系统、计算机服务器或平板计算机装置之类的装置。如本领域所公知的,计算装置1300可被实现为多个联网计算装置的集合。此外,计算装置1300通常将包括操作系统逻辑(未示出),其类型和性质在本领域中是公知的。

示范性实施例

开发了一种新的基于深度学习的碱基识别器,深度碱基识别器(deepbasecaller),以提高混合碱基识别准确度和纯碱基识别准确度,特别是在5'和3'端,并增加毛细管电泳仪中sanger测序数据的读取长度。

通过将从ce仪器收集的染料rfu(相对荧光单位)的输入序列转换为碱基识别的输出序列,已经成功地将具有长短期记忆(lstm)单位的双向递归神经网络(brnn)设计为碱基识别sanger测序数据。使用包括纯碱基数据集的~49m碱基识别和混合碱基数据集的~13.4m碱基识别的大经注释sanger测序数据集来训练和测试新的基于深度学习的碱基识别器。

以下是用于深度碱基识别器的算法的示范性工作流程:

1.对于训练纯碱基数据集或混合碱基数据集中的每个样本,将整个被分析迹线,预处理染料rfu(相对荧光单位)序列划分为长度为500次扫描的扫描窗口。每个样本的扫描窗口可以移位250次扫描以最小化训练时扫描位置的偏差。

2.确定每个扫描窗口的经注释碱基识别-作为训练期间的目标序列。

3.构建训练样本,样本中的每一个都由具有500次扫描的扫描窗口和相应的经注释的碱基识别组成。

4.使用具有一层或多层lstm或类似单元如gru(门控递归单元)的双向递归神经网络(brnn)作为要训练的网络。

5.使用softmax层作为lstmbrnn的输出层,其输出输入扫描窗口中所有扫描的标签概率。

6.应用连接时序分类(ctc)损失函数来计算输出扫描标签概率与目标经注释的碱基识别之间的损失。

7.使用梯度下降优化器来更新上述网络的权重,以相对于在每个训练步骤从训练数据集中随机选择的小批量的训练样本最小化ctc损失。

8.继续训练过程,直到达到预定数目的训练步骤,并为指定的训练步骤保存经训练网络。

9.通过验证数据集中未包括在训练过程中的独立样本子集来评估在训练过程中保存的经训练模型。选择具有最小评估损失或错误率的经训练模型作为最佳经训练模型。

10.对于测序样本,将整个迹线划分成扫描窗口,500次扫描移位250次扫描。对这些扫描窗口应用所选择的经训练模型,以输出所有扫描窗口的扫描标签概率。

11.将所有扫描窗口的标签概率组装在一起以构建测序样本的整个迹线的标签概率。

12.对组装标签概率使用前缀束搜索或其它解码器以查找测序样本的碱基识别。

13.基于来自ctc网络的输出标签概率和来自解码器的碱基识别,使用出列最大查找器算法来查找所有碱基识别的扫描位置。

14.在由碱基识别器(例如kb碱基识别器)处理之前,上述深度学习模型可直接应用于原始迹线(原始染料rfu的序列)或在ce仪器中收集的原始光谱数据。

15.可以使用诸如添加噪声、尖峰(spike)、染料斑点(dyeblob)或其它数据伪影之类的数据增强技术或通过生成式对抗网络(gan)的模拟的测序迹线来提高经训练的深度碱基识别器的鲁棒性。

16.在训练期间,诸如丢弃(drop-out)或权重衰减之类的技术可用于提高经训练的深度碱基识别器的通用性。

以下是关于深度碱基识别器的质量值(qv)算法的示范性细节:

1.将经训练的ctc网络和解码器应用于训练集中的所有样本,以获得/计算扫描标签概率、碱基识别及其扫描位置。

2.通过使用每个碱基识别的中心扫描位置周围的扫描概率,来构建qv训练的训练样本,并将所有碱基识别分为两类:正确的碱基识别或不正确的碱基识别。

3.使用具有几个隐藏层和一个逻辑回归层的卷积神经网络作为要训练的网络。

4.可以在逻辑回归层中使用诸如s形函数之类的假设函数,以基于输入扫描概率来预测估计的错误概率。用于逻辑回归的成本函数如逻辑损失(或称为交叉熵损失)可用于计算预测错误概率与碱基识别类别之间的损失。

5.使用adam优化器或其它梯度下降优化器来更新上述网络的权重,以针对在每个训练步骤从训练数据集中随机选择的小批量的训练样本最小化逻辑损失。

6.继续训练过程,直到达到预定数目的训练步骤,并为指定的训练步骤保存经训练网络。

7.通过验证数据集中未包括在培训过程中的独立样本子集来评估培训过程中保存的经训练模型。选择具有最小评估损失或错误率的经训练模型作为最佳经训练模型。

8.经训练的qv模型将以碱基识别位置周围的扫描概率作为输入,然后输出估计的碱基识别错误概率,其可通过以下等式转化为phred式质量分数:

qv=-10xlog(错误概率)。

深度碱基识别器(深度碱基识别器)可以使用上述深度学习方法来生成扫描概率、具有其扫描位置和质量值的碱基识别。

替代实施例

lstmbrnn或类似网络,例如具有序列到序列架构的grubrnn(例如具有或不具有注意机制的编码器-解码器模型)也可用于碱基识别sanger测序数据。

分段递归神经网络(srnn)也可用于深度碱基识别器。在该方法中,双向递归神经网络被用于计算输入迹线或输入迹线段的连续子序列的“段嵌入”,其可被用于定义与输出碱基识别的兼容性分数。然后对兼容性分数进行积分,以在输入的分段和段的碱基识别上输出联合概率分布。

类似于语音识别中的mel频率倒谱系数(mfcc)的重叠扫描段的频率数据可用作深度碱基识别器的输入。可以对重叠的扫描段使用简单的卷积神经网络或其它简单的网络来学习局部特征,这些局部特征然后被用作lstmbrnn或类似网络的输入,以训练深度碱基识别器。

当扫描和碱基识别对准或者对于训练数据集已知碱基识别的扫描边界时,可以与lstmbrnn或类似网络一起使用除了ctc损失之外的损失函数,例如softmax交叉熵损失函数,并且可以训练这样的网络以将扫描分类为碱基识别。可替换地,可以训练诸如r-cnn(基于区域的卷积神经网络)之类的卷积神经网络来划分扫描,然后对每个扫描段进行碱基识别。

实施和附加术语

本文中所使用的术语应被赋予其在相关领域中的普通含义或由其在上下文中的使用指示的含义,但如果提供明确的定义,则以所述含义为准。

在本文中,“电路系统”是指具有至少一个分立电路的电路系统,具有至少一个集成电路的电路系统,具有至少一个专用集成电路的电路系统,形成由计算机程序配置的通用计算装置的电路系统(例如,由至少部分地执行本文所述的过程或装置的计算机程序配置的通用计算机,或由至少部分地执行本文所述的过程或装置的计算机程序配置的微处理器),形成存储器装置的电路系统(例如,随机存取存储器的形式),或形成通信装置的电路系统(例如,调制解调器、通信交换机或光电装置)。

在此上下文中,“固件”是指实现为存储在只读存储器或介质中的处理器可执行指令的软件逻辑。

在本文中,“硬件”是指体现为模拟或数字电路系统的逻辑。

在本文中,“逻辑”是指机器存储电路、非暂时性机器可读介质和/或电路系统,其借助于其材料和/或材料能量配置包含可用于影响装置的操作的控制和/或程序信号,和/或设置和值(例如电阻、阻抗、电容、电感、电流/电压额定值等)。磁性介质、电子电路、光电存储器(易失性和非易失性两者)以及固件是逻辑的实例。逻辑专门排除纯信号或软件本身(然而不排除包含软件且由此形成物质的配置的机器存储器)。

在此上下文中,“软件”是指被实施为机器存储器(例如,读/写易失性或非易失性存储器或介质)中的处理器可执行指令的逻辑。

在本文中,对“一个实施例”或“实施例”的引用不一定指相同的实施例,但它们可以指相同的实施例。除非上下文另外清楚地要求,否则在整个说明书和权利要求中,词语“包含(comprise/comprising)”等应在包含性意义上解释而不是与排他性或穷举性意义相反;也就是说,在“包含但不限于”的意义上解释。除非明确限制为单个或多个,否则使用单数或复数的词也分别包含复数或单数。另外,当在本申请中使用时,词语“本文”、“上文”、“下文”和类似意义的词语是指本申请整体,而不是指本申请的任何特定部分。当权利要求使用与两个或更多个项目的列表相关的词“或”时,除非明确限制为一个或另一个,否则所述词涵盖所有以下对所述词的解释:列表中的项目中的任何一个项目、列表中的所有项目以及列表中的项目的任何组合。本文中未明确定义的任何术语具有如一个或多个相关领域的技术人员通常理解的常规含义。

本文描述的各种逻辑功能操作可以以使用反映所述操作或功能的名词或名词短语引用的逻辑来实施。例如,关联操作可以由“关联器”或“相关器”实行。同样,可以通过“开关”实行切换,通过“选择器”实行选择等等。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1