一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多处理器流水线架构的制作方法

2022-07-02 11:44:39 来源:中国专利 TAG:

多处理器流水线架构
1.本技术是国家申请号为201680036294.0、发明名称为“多处理器流水线架构”的中国专利申请的分案申请。
2.相关申请的交叉引用
3.本技术要求于2015年5月7日提交的题为“multiprocessor pipeline architecture”的临时专利申请序列no.62/158,078(01018100)和2015年11月30日提交的题为“multiprocessor pipeline architecture”的临时专利申请序列no.62/260,995(01018101)的优先权的权益,涉及均题为“integrated analytical system and method”的美国专利no.8,467,061和8,649,011,涉及2014年8月27日提交的题为“arrays of integrated analytical devices and methods for production”的美国临时专利申请序列no.62/042,793(01018000),其每个均转让给了本技术的受让人,并通过引用并入本文。
4.发明背景
5.生物分子序列测定(特别是关于核酸和蛋白质样本)的进展已经彻底改变了细胞和分子生物学的领域。测序仪器(例如dna测序仪)用于自动化生物分子序列测定,例如核酸测序。给定dna样本,dna测序仪用于确定生物分子的组成,例如关于四种碱基腺嘌呤、鸟嘌呤、胞嘧啶和胸腺嘧啶的顺序的核酸分子的碱基组成。dna碱基的顺序报告为文本字符串,称为读出(read)。一些dna测序仪也可以被认为是光学仪器,因为它们分析来源于与核苷酸连接的荧光染料的光信号。第三代dna测序仪(如smrt和oxford nanopore)实时测量单dna分子中核苷酸的添加。由于dna测序仪技术的局限性,这些读出与基因组的长度相比较短,因此必须将读出组装成更长的重叠群。
6.通常,基因组的最终组装在测序仪器以外的其他计算资源上完成。由于包括以下的多种原因,需要在其他计算资源上进行最终组装:1)需要合并来自多个仪器运行或采集(有时来自其他物理仪器)的结果,2)无论测序仪器是执行从头猎枪组装(denovo shotgun assembly)还是参考序列辅助的组装,完成组装所需的计算资源和存储器资源在测序仪器上不可得,3)使用设计用于在群集配置上运行的第三方汇编程序包,4)组装未设计为随着数据流出测序仪器处理数据的算法,5)组装算法被设计为在常规计算机架构上运行,常规计算机架构不能实时提供执行组装所必需的计算资源。
7.期望具有支持从测序仪器实时产生的原始流式数据的完整基因组组装的计算架构的测序系统,其中最终结果是完成的基因组序列。还期望该架构是灵活且易于扩展的,以增加系统的通量,同时降低与系统的制造和使用相关的成本。
8.发明概述
9.示例性实施方案通常涉及将来自测序样本采集的信号转换为序列数据的多处理器流水线架构和方法,其包括:定制协处理器卡,其配置为直接接收由图像传感器产生的串行传感器数据流,其中所述传感器数据表示构成所述图像传感器的像素的逐帧强度值,其中所述图像传感器捕获从可移除集成测序芯片的多个反应单元发射的光的图像;第一协处理器,其连续地接收所述串行传感器数据流并将所述逐帧强度值转置为反应单元组块(reaction cell chunk),每个所述反应单元组块表示预定时间窗口内对应反应单元的跨
帧的像素强度值的影片数据;缓冲器,其重复地接收所述反应单元组块并在连续存储器位置存储较大预定时间窗口内每个相应反应单元的所述反应单元组块,以产生较大反应单元组块;多个第二协处理器,其检索来自所述缓冲器的所述较大反应单元组块,并且即使在所述缓冲器接收另外的反应单元组块时,也并行地将所述像素强度值转换为逐碱基序列数据,使得在获得用于所述测序样本采集的所有传感器数据之前,所述第二协处理器开始原始碱基识别(base calling)。
10.在另一方面,一种多处理器流水线架构,其包括:1)测序仪器,其包括:含有包括测序反应混合物的溶液的储器,所述测序反应混合物包含待测序样本和用于进行核酸测序反应的试剂;提供照明的照明源;与所述储器接触的可移除集成测序芯片,所述集成测序芯片包括多个分析装置,每个分析装置包括反应单元、波导、光学元件和图像传感器,其中所述波导将照明引导到所述反应单元,导致来自所述反应单元的光的发射由所述光学元件传递到所述图像传感器,所述图像传感器检测所述光并将所述光转换成传感器数据,所述传感器数据表示为构成所述图像传感器的像素各自的逐帧强度值,所述测序芯片具有将所述传感器数据流串行化并输出的协处理器;以及2)耦合到所述测序仪器的初级分析服务器,其将所述传感器数据流转换为碱基识别,所述初级分析服务器包括:定制协处理器子卡,其配置为通过串行电缆直接接收所述串行传感器数据流;至少一个协处理器,其将所述逐帧强度值转置为反应单元组块,每个表示预定时间窗口内对应反应单元的跨帧的像素强度值的影片数据;缓冲器,其重复地接收所述反应单元组块,并且在连续存储器位置存储较大预定时间窗口内每个相应反应单元的所述反应单元组块,以产生较大反应单元组块;以及其中所述至少一个协处理器检索来自所述缓冲器的所述较大反应单元组块,并将所述像素强度值转换为逐碱基序列数据,使得在获得用于所述测序样本采集的所有传感器数据之前开始所述转换。
11.参考以下详细描述和附图,将更好地理解本发明和各个特定方面和实施方案,其中根据多个特定方面和实施方案描述了本发明。提供这些是为了清楚,并且不应解释为限制本发明。本发明及其方面可以应用于本文未具体公开的各种类型的方法、装置和系统
12.多个附图的简述
13.图1a-1b是示出了根据示例性实施方案的多处理器流水线架构的硬件组件的框图。
14.图1c是示出使用来自分配给反应单元的两个像素的组的两色/两振幅信号组的实时测序操作的信号输出的图。
15.图2是示出根据示例性实施方案将来自核酸测序的传感器数据转换成序列数据的多处理器流水线处理的流程图。
16.图3是示出多处理器流水线架构的子系统软件组件的高级视图的图。
17.图4是示出根据一个示例性实施方案的初级分析子系统的硬件、软件和接口模块的细节的框图。
18.图5a、5b和5c是进一步详细说明由初级分析流水线执行的处理的框图。
19.图6是示出在二级分析服务器中执行二级分析流水线的处理的图。
20.发明详述
21.本发明的各种实施方案和组件采用在许多技术领域中熟悉的信号和数据分析技
术。为了清楚地描述,本文中不提供已知分析技术的细节。这些技术在许多可获得的参考文献中讨论,例如:r.b.ash.real analysis and probability.academic press,new york,1972;d.t.bertsekas和j.n.tsitsiklis.introduction to probability.2002;k.l.chung.markov chains with stationary transition probabilities,1967;w.b.davenport和w.l root.an introduction to the theory of random signals and noise.mcgraw-hill,new york,1958;s.m.kay,fundamentals of statistical processing,第1-2卷,(精装版-1998);monsoon h.hayes,statistical digital signal processing and modeling,1996;r.m.gray和l.d.davisson,introduction to statistical signal processing;steven m.kay,modern spectral estimation:theory and application/book and disk(prentice-hall signal processing series)(精装版-1988年1月);steven m.kay,modern spectral estimation:theory and application(平装版-1999年3月);burkhard buttkus,spectral analysis and filter theory in applied geophysics(精装版-2000年3月11日);donald b.percival和andrew t.walden,spectral analysis for physical applications(平装版-1993年6月25);j.l.starck和f.murtagh,astronomical image and data analysis(astronomy and astrophysics library)(精装版-2006年9月25日);daniel s.sem,spectral techniques in proteomics(精装版-2007年3月30日);dhammika amaratunga和javier cabrera,exploration and analysis of dna microarray and protein array data(wiley series in probability and statistics)(精装版-oct 21,2003年10月21日)。
22.示例性实施方案提供了一种多处理器流水线架构,其能够从由测序仪器实时产生的原始流传感器数据进行完整的基因组组装,仪器的最终结果是完成的基因组序列,包括每个碱基质量值。该多处理器流水线架构是灵活且易于扩展的,以增加系统的通量,同时降低与系统的制造和使用相关的成本。
23.图1a-1b是示出了根据示例性实施方案的多处理器流水线架构的硬件组件的框图。在一个实施方案中,多处理器流水线架构20包括仪器控制服务器24,而仪器控制服务器24包括单个分子(例如,核酸)测序仪器100。仪器控制(ic)系统24还可以包括耦合到一个或多个ic印刷电路板(pcb)104的ic处理器或cpu 102。
24.仪器控制(ic)系统24的其他组件包括耦合到ic pcb 104的ic协处理器pcb 106和耦合到ic协处理器pcb 106的ic定制协处理器卡108。如本领域已知的,术语协处理器是指用于补充主处理器(例如,cpu)的功能的计算机处理器。如本文所使用的,“协处理器”可以指现场可编程门阵列(fpga)、专用集成电路(asic)、图形处理单元(gpu)或其任意组合。图1a示出了一个实施方案,其中为了清楚而将某些协处理器标记为fpga,但是示例性实施方案不限于该特定实施方案
25.测序仪器
26.测序仪器100包括安装在插座140中的可移除集成测序芯片120。测序芯片120通常涉及生物和/或化学样本和反应的光学分析,以提供实时地同时观察多个测序反应。通常,这些光学分析旨在收集和检测一个或多个光学信号,其出现或消失或其定位指示给定的化学或生物反应和/或样本材料中给定物质的存在或不存在。在一些情况下,反应物、其产物或目的物质(所有这些在本文中称为反应物)固有地呈现可检测的光学可检测信号。在另一
些情况下,向反应物提供外源标记基团以促进其检测。有用的标记基团包括荧光标记、发光标记、质量标记、光散射标记、电化学标记(例如携带大带电基团)、金属标记等。
27.测序仪器100还可以包括储器124和照明源130,而测序芯片120可以包括一个或多个耦合器121、路由波导122和分析区域123。储器124与分析区域123接触并递送包含测序反应混合物的溶液125,所述测序反应混合物包含待测序样本和用于进行核酸测序反应的试剂。储器124可以生产为用分析区域123的包装的一部分。
28.照明源130以一个或多个激发光束132的形式向测序芯片120提供照明。照明源130可以包括例如激光器或激光器组。来自照明源130的一个或多个光束132被引导到测序芯片120上的一个或多个耦合器121。耦合器121将光束132耦合到路由波导122,路由波导122将光束132传播到测序芯片120的分析区域123。
29.图1b示出了测序芯片120的分析区域123的不按比例的特写实例。分析区域123具有用于进行光学分析(例如,核酸测序过程)的集成分析装置123a的阵列,所述光学分析部分依赖于不同信号的非光谱辨别,并且任选地,部分依赖于光谱辨别。分析装置123a的阵列可用于例如核酸的大规模测序,特别是基因组测序。核酸测序可以是单分子实时核酸测序。
30.分析区域123可以在任何地方包括1,000到1亿个或更多个分析装置123a。然而,在一个实施方案中,分析区域123可以包括例如100,000个至1000万,但优选地至少500,000个分析装置123a。这样的阵列可以通过各种方法产生(参见例如题为“arrays of integrated analytical devices and methods for production”的专利申请01018000,通过引用并入本文)。
31.尽管每个装置的组件以及系统中分析装置123a的配置可以变化,但是每个集成分析装置123a通常至少部分包括下面描述的一般结构。每个分析装置123a通常包括反应单元123b。“反应单元”通常是指反应物所在的位置、目的反应发生以及光信号发出的位置。在一些情况下,反应单元123b具有固定在其内的生物分子如聚合酶,并且来自储器124的流体导管提供通过反应单元123b的试剂。因此,反应单元123b可以保持发出光信号的分析物(即聚合酶-模板复合物和相关的荧光反应物)。在一个实施方案中,反应单元123b包括设置在表面层中的纳米孔(nanowell)或纳孔(nanopore)。这样的纳米孔可以构成基底表面中的凹陷或设置为穿过另外的基底层到下面的透明基底的孔,例如在零模式波导(zmw)阵列中使用的(参见例如美国专利no.7,181,122和7,907,800)。在多个方面,“分析装置”是指反应单元123b以及功能相关的相关组件。
32.反应单元123b的下面是路由波导122a,其将激发照射从下面引导到反应单元123b,照射反应单元123b内的反应物。在例如美国专利no.7,820,983和美国专利申请公开no.2012/0085894中描述了使用光波导照射反应单元,其各自通过引用并入本文。虽然这里示出了波导,但是可以使用例如在本文其他地方提供的其他光学元件来从反应单元下方提供光。
33.在一些实施方案中,激发照明导致来自反应单元123b的光的发射,以便允许测序的光学测量。例如,设置在反应单元123b内的分析物(例如,具有相关联的荧光反应物的聚合酶-模板复合物)发射荧光。对于荧光分析物,分析物样本的至少一部分被激发光源照射,而其他分析物,例如化学发光剂或其他这样的分析物可能不需要激发光源。
34.光学元件123d光学耦合到检测器如图像传感器123e,并将从反应单元123b内发射
的光传递到图像传感器123e。根据应用,光学元件123d可以包括孔、透镜、棱镜、反射镜滤波器、光束成形元件、折射材料、阻挡层等的任意组合。在到达图像传感器123e之前,从反应单元123b发射的光可以由光学元件123d(例如由衍射光束成形元件和彩色滤光层)进一步操纵。
35.穿过光学元件123d的发射光被图像传感器123e检测并转换为传感器数据,包括例如对应于光信号脉冲的像素强度值。图像传感器123e的实例可以包括ccd(电荷耦合装置)和cmos(互补金属氧化物半导体)图像传感器,两者都包括将光转换成电荷的像素/光电二极管阵列,其强度与有色光谱中的颜色相关。在一个实施方案中,图像传感器123e可以包括至少2百万像素。
36.区分不同信号分量的能力可以通过使用例如不同滤波光学元件或者通过包含色散光学元件以将信号的不同光谱分量差分地引导到图像传感器的不同像素或不同区域来实现。来自特定反应单元123b的光被引导到图像传感器123e,使得图像传感器123e的一组n个像素被分配来检测一个反应单元123b的振幅或强度值。例如,每个反应单元123b可以具有分配用来检测由对应反应单元123b发射的强度值的一个、两个、三个、四个或更多个像素。
37.图1c是示出使用来自分配给反应单元123b的两个像素的组的两色/两振幅信号组的实时测序操作随时间的示例性信号输出的图(即,时间序列,其中一个迹线(虚线)表示与a(高强度信号)和t(较低强度信号)碱基的引入相关的信号,而另一个信号迹线(实线)表示与g(高)和c(低)碱基相关的不同发射光谱的信号。然后将引入的时间和引入的碱基的身份(如来自信号的颜色通道和强度)用于解释碱基序列。
38.图1a的示例性系统被配置用于基因组测序。在一般操作中,来自储器124的样本被递送到分析装置123a用于数据收集。与测序芯片100通信的仪器控制处理器102建立数据采集,并指示图像传感器123e何时开始捕获图像。作为响应,图像传感器123e可以产生并输出表示原始像素数据的模拟传感器数据。在一个实施方案中,模拟传感器数据可以是串行的16或32位接口,每像素11位。在一个实施方案中,传感器数据可以以每秒100帧输出,并且每帧包括约2百万个像素。因此,传感器数据整体可以表示包括图像传感器123e的像素的逐帧强度值。
39.测序芯片100通过测序芯片100上的触点129输出来自图像传感器123e的传感器数据流,触点129可与插座140上的触点142相配合。在一个实施方案中,触点129可包括球触点,然而也可以使用其他类型的触点。在一个实施方案中,插座140发送未修改的传感器数据。在替代实施方案中,插座140可以具有诸如协处理器(未示出)的电子装置,用于在传送到初级分析服务器26之前修改电迹线信号。
40.在一个实施方案中,分析区域123可以被配置为一次性用作耗材,并且因此在样本采集之后丢弃并用新分析区域123替代。一些测序实验可能需要使用多个分析区域123。
41.虽然测序芯片100代表了技术进步,但是常规计算架构不能使用测序芯片100的输出实时地执行初级分析和共有序列碱基识别(consensus base calling)。例如,传感器数据必须以一定通量输入到计算架构中,所述通量对于常规处理器太快以至于甚至不能将数据存储到盘中。另外,为了测序30亿碱基的人类基因组,其中需要30x的覆盖以确保结果的足够质量,根据分析区域123中存在的反应单元123b的数量,可能需要约12个分析区域123
和对应的采集过程。在这些多次采集过程中产生的数据量将需要大量存储器用于存储和处理,其将超过典型处理器板的容量。
42.多处理器流水线架构
43.示例性实施方案通过提供通过基本上实时的共有序列碱基识别执行初级分析的多处理器流水线架构克服了测序芯片100给常规计算架构带来的通量和存储器问题。如下所述,多处理器流水线架构被设计为提供在“组块”中实时执行整个基因组组装所需的并行计算资源和存储器带宽。整个系统架构具有模块化设计,使得可以通过添加或减少组件来有效地缩放系统,并且因此根据待测序的基因组的大小来缩放成本。
44.再次参考图1a和1b,将描述关于多处理器流水线架构的硬件方面的细节。根据示例性实施方案,流水线架构具有多个子系统,包括仪器控制服务器24、初级分析服务器26、二级分析服务器28和任选的采集模拟器服务器30。在一个实施方案中,仪器控制服务器24和初级分析服务器26可以靠近地容纳在仪器上平台22内。采集模拟器服务器30可以与仪器控制服务器24通信,并且初级分析服务器26可以与仪器控制服务器24和二级分析服务器28二者通信。
45.仪器控制系统102中的ic定制协处理器卡108接收从测序仪器100的插座140输出的原始像素数据的模拟流,并将原始像素数据的模拟流转换为传感器数据的串行比特流。在一个实施方案中,将传感器数据数字化,并且可以将数据编码修改为8位或10位以使误差最小化。比特流的格式包括标题和形成将重建的完整图像帧的数据包。因此,由ic定制协处理器卡108输出的传感器数据表示图像传感器123e的每个像素的逐帧强度。传感器数据的串行比特流输出到初级分析服务器26用于分析和进一步处理。
46.初级分析服务器26执行分析以将原始像素数据转换成碱基识别,之后,该数据可以从仪器上平台22上传送到二级分析服务器28以进行二级分析,例如组装。在另一个实施方案中,如果初级分析服务器26提供有足够的计算资源,则二级分析处理也可以在初级分析服务器26内执行。
47.在一个实施方案中,初级分析服务器26包括初级分析(pa)处理器42、多个pa协处理器40以及耦合到pa协处理器pcb 38的pa定制协处理器卡34和pa协处理器36。在一个实施方案中,初级分析服务器26可以是仪器上,如图所示。在第二实施方案中,初级分析服务器26可以位于芯片上作为插座140的一部分。在第三实施方案中,初级分析服务器26可以位于远程计算机上。
48.二级分析服务器44执行分析以产生共有序列碱基识别和组装数据。二级分析服务器28的架构可以类似于初级分析服务器26的架构。在一个实施方案中,二级分析服务器26包括二级分析(sa)处理器44、多个sa协处理器46和耦合到sa协处理器pcb 50的sa协处理器40。
49.采集模拟器服务器30可以用于与仪器控制服务器24接口。采集模拟服务器30可以包括模拟处理器52和耦合到模拟协处理器pcb54的模拟定制协处理器卡56。在一个实施方案中采集模拟器服务器30可以将模拟的传感器数据传送到仪器控制服务器24,以使得仪器控制服务器24能够通过串行电缆32b将模拟信号数据/帧输入到初级分析服务器26,而不需要测序仪器100。在另一些实施方案中,采集模拟器服务器30也可以直接连接到初级分析服务器26中的pa定制fpga卡34以通过串行电缆32c输入模拟信号数据/帧,而不需要仪器控制
服务器24。
50.在一个示例性实施方案中,pa协处理器36和sa协处理器48可以包括fpga或asic,而pa协处理器40和sa协处理器46可以包括英特尔多集成核架构协处理器(intel many integrated core architecture coprocessor)(即,xeon phi
tm
)等。在替代实施方案中,可以使用组合fpga和xeon phi协处理器(等)。在一个示例性实施方案中,优选使用fpga,因为fpga可有助于在开发过程中降低系统的尺寸和成本。一旦系统配置在fpga逻辑中,可以产生asic来代替fpga。作为xeon phi卡的替代品,可以使用gpu技术。然而,xeon phi卡在开发环境方面具有优势。
51.此外,pa处理器42、sa处理器44和模拟处理器52通过系统总线(未示出)耦合到相应的存储器、输入/输出(i/o)和网络界面卡。
52.图2是示出根据示例性实施方案将来自测序样本采集的传感器数据转换成序列数据的多处理器流水线处理的流程图。该过程可以由pa定制协处理器卡34直接接收由图像传感器产生的串行传感器数据(框200)开始。
53.根据示例性实施方案的一个方面,pa定制协处理器卡34和ic定制协处理器卡108通过向卡34、108配置与传送传感器数据的串行电缆32a相配合的电缆连接器来定制。同样地,采集模拟器服务器30中的定制协处理器卡56通过向卡56配置相应串行电缆32a、32b和32c相配合的电缆连接器来定制。
54.在一个实施方案中,串行电缆32a、32b和32c包括高速电缆,例如同轴电缆、双绞铜线、光纤等。在其中子系统在大距离上分离的替代实施方案中,串行电缆32a、32b和32c可以任选地包括以太网电缆。如果需要,定制fpga卡128、56和34如果需要可以配置有多于一个连接和伴随的逻辑。
55.在一个实施方案中,pa定制协处理器卡34和pa协处理器36通过相应总线连接器连接到pa协处理器pcb 38。pa定制协处理器卡34具有延伸到pa协处理器pcb 38的总线连接器的电线连接器。在操作中,pa定制协处理器卡34通过串行电缆32a从ic定制协处理器卡108接收传感器数据的串行比特流,并将数据转换为可以通过pa协处理器pcb 38的连接器输入到pa协处理器36的i/o端口的格式,连接器将串行数据路由到pa协处理器36的正确引脚。在一个实施方案中,pa协处理器pcb 38可以包括pcie卡,并且包括设计成插入到pa协处理器pcb 38主板(未示出)的pcie总线中的边缘连接器。在替代实施方案中,如果需要,初级分析服务器26可以设置有多个pa定制fpga卡34以满足从仪器控制服务器24输出的反应单元/zmw 123b数据的更高复用度。换句话说,根据串行传输带宽限制和fpga本身的处理限制,可以有多个将仪器控制服务器24连接到多个pa定制fpga卡34的串行电缆32a(或者多个输入到单个pa定制fpga卡34中的电缆)。
56.ic定制协处理器卡108、pa定制协处理器卡34和定制协处理器卡56可以包括用于数字通信的相同类型的收发器接收器芯片组。在pa定制协处理器卡34的情况下,收发器芯片组将数据路由到pa协处理器pcb 38上的迹线,pa协处理器pcb 38然后将数据发送到挂接到pa协处理器36的正确连接器位置。在串行电缆32a是同轴电缆的实施方案中,控制串行电缆32a的数据传输的协议可以包括作为xilinx设计的传输协议的aurora协议。例如,pa定制协处理器卡34可以使用aurora ip逻辑来通过同轴电缆传送数字数据。然而,也可以使用其他传输协议。
57.通过使用该芯片组,ic定制协处理器卡108和pa定制协处理器卡34两者能够发送和接收数字数据。根据示例性实施方案的另一方面,这使得采集模拟器服务器30能够将来自定制协处理器卡56和串行电缆32b的模拟数据/帧输入到仪器控制协处理器pcb 106。然后将模拟数据/帧传送到ic定制协处理器卡108和pa定制协处理器卡34。向多处理器流水线运行模拟数据/帧允许操作者确认仪器控制服务器24和初级分析服务器26是否正常工作。
58.与常规pcie fpga卡不同,传感器数据被直接输入到pa定制协处理器卡34和pa协处理器36中,而不是首先输入到pa处理器42或其他计算机中,然后将数据传送到fpga。这与首先将图像数据输入到cpu然后传送到fpga并且需要使用帧采集器的常规协处理器卡形成对比。首先通过cpu的缺点在于,其需要使用帧采集器来获得图像数据,这耗费cpu的处理能力仅将数据输入到cpu中,并且由于涉及需要额外cpu能力来在相同cpu上进行数据处理,增加了系统的成本。
59.在一个示例性实施方案中,pa定制协处理器卡34可以包括市售conway fpga wolverine卡的定制版本。pa协处理器36和sa协处理器48可以例如包括市售xilinx vertex fpga,而pa协处理器40和sa协处理器46可以包括intel xeon phi卡。
60.如上所述,传感器数据表示构成图像传感器的像素的逐帧强度值,其中图像传感器123e的一组n个像素被分配来检测由每个反应单元发射的强度值123b。
61.再次参考图2,pa定制协处理器36连续地接收串行传感器数据流并将逐帧强度值转置成反应单元组块,每个反应单元组块表示预定时间窗口内对应反应单元的跨帧的像素强度值的影片数据(框202)。
62.在一个实施方案中,反应单元组块(也称为分块数据集)各自表示分配给对应反应单元的跨帧的像素组的强度值的影片数据。在示例性实施方案中,每个反应单元组块的像素的强度值存储在连续存储器位置中。
63.缓冲器39重复地接收反应单元组块并在连续存储器位置中存储较大预定时间窗口内每个相应反应单元的反应单元组块,以产生较大反应单元组块(在本文中称为超级反应单元组块)(框204)。
64.pa协处理器40检索来自缓冲器的较大反应单元组块,并且即使在缓冲器接收另外的反应单元组块时,也并行地将像素强度值转换为逐碱基序列数据,使得在获得测序样本采集的所有传感器数据之前,pa协处理器40开始原始碱基识别(框206)。
65.根据示例性实施方案,pa协处理器36(例如,fpga)将逐帧强度值转置成反应单元组块,而pa协处理器(例如,xeon phi芯片)执行碱基识别。然而,随着硬件设计的不断改进,这两个过程可以由单个协处理器(例如fpga/asic)或由多个相同类型的协处理器(例如,全部fpga/asic或全部xeon phi芯片)执行。
66.图3是示出多处理器流水线架构的子系统软件组件的高级视图的图,其中与图1a中相同的附图标记指示相同组件。如上所述,仪器上平台22可以包括仪器控制服务器24和初级分析服务器26,而仪器外平台60可以包括二级分析服务器28和/或三级析服务器62。仪器上平台22和仪器外平台60两者可以由远程计算机30'控制,远程计算机30'也是仪器外。
67.仪器控制服务器24的仪器控制子系统24a包括仪器软件模块24b、公共模块24c和网络界面24d。初级分析服务器26中的初级分析子系统26a包括初级软件模块26b、公共模块26c和网络界面26d。二级分析服务器28中的二级分析子系统28a包括二级软件模块28b、公
共模块28c、应用工作流程28e和网络界面28d。三级分析服务器62的三级分析子系统62a包括三级软件模块62b、公共模块62c和网络界面62d。
68.仪器控制服务器24a的仪器软件模块24b的功能包括用于机器人的仪器控制程序和用于测量仪器100的环境设置。例如,仪器控制模块24b与图像传感器123e通信并控制传感器数据从测序芯片120传送到ic定制协处理器卡108。仪器控制还处理照明源130控制、用于样本制备的机器人控制和用于维持系统内的温度的环境控制。仪器软件模块24b的仪器控制设置或参数可由远程计算机30'上的用户界面64a配置。在一个实施方案中,仪器软件模块24b可以在仪器控制处理器102上执行。
69.初级软件模块26b是指初级分析服务器26中的初级分析流水线模块,其将原始像素数据转换为碱基识别。将关于图4来进一步详细描述初级软件模块26b。
70.二级软件模块28b是指二级分析服务器28中的二级分析流水线模块,其可包括比对、共有序列识别(consensus calling)和预组装模块,以产生组装的基因组。
71.三级分析服务器62和三级软件模块62b可以指任何另外的第三方提供的硬件和软件,其可用于数据的另外分析。公共模块24c、26c、28c和62c处理用于任何盘驱动器的数据管理和公共组件(如所有子系统所需的盘驱动器)的健康监控。在一个实施方案中,公共模块24c、26c、28c和62c可以在与相应子系统相关联的处理器上执行。
72.为了提供高度的全系统可靠性,子系统24a、26a、28a和62a中的每一个可以包括多个软件和硬件组件以监视和管理子系统健康。子系统进程的所需硬件初始化和启动可以在子系统特定的配置文件中定义,并在节点启动时由子系统看门狗守护进程执行。一旦子系统初始化完成,看门狗进程进入子系统监视模式。看门狗进程不断查询配置的子系统进程、协处理器和其他硬件组件的状态,并且当看门狗进程检测到异常(如丢失或无响应的进程)时,看门狗进程可尝试纠正问题,即根据其配置重启进程。如果问题无法纠正,看门狗进程可重启整个节点,或执行其他诊断。子系统24a、26a、28a和62a中的每一个还可以包括使用专用服务器组件的更细粒度的健康管理服务。该组件可以在节点水平从操作系统和子系统进程和服务收集和存储统计信息。收集和分析的度量可触发基于策略的操作,例如可用盘空间阈值文件删除/归档或基于消息水平的用户界面警告/报警。
73.根据示例性实施方案的一个方面,子系统24a、26a、28a和62a中的每一个设置有相应的网络界面24a、26a、28a和62a,使得子系统显示为网站并使子系统可由用户界面64a远程访问。远程计算机30'包括用户界面64a(其可以基于客户端浏览器64b),以及用于通过网络控制子系统24a、26a、28a和62a的每一个的网络界面64d。
74.根据示例性实施方案,多处理器流水线方案的一个附加优点是使用远程计算机用户界面64d和相应网络界面可以下载和/或更新不同的软件模块24b、26b、28b和62b,包括公共模块24c、26c、28c和62c,以及应用工作流程28e。例如,在测序开始之前,可以将不同的pa定制fpga流水线422下载到pa定制fpga卡34'。如果需要,pa定制fpga卡34'也可以通过附加的流水线逻辑“即时”重新加载,而在组块处理期间,中间结果保持在存储器中。如果总处理时间允许,这使得单个物理fpga能够用于多个流水线步骤。
75.而且,以与可以切换初级分析流水线模块的相同方式,可以基于基因组大小以及是执行映射组装(人或其他已知基因组)或从头组装,将不同的二级分析流水线下载到二级分析服务器20。参考基因组可以存储在二级分析服务器20上的非易失性存储器中,并且通
过无线连接更新。快速(可在100ms内)更改二级分析流水线的能力能够进行组装以外的用于特定应用的其他类型的处理。例如,三级分析服务器62可以提供有不同的可下载的“仪器应用模块”,用于组装的基因组的进一步后处理。从商业角度来看,仪器控制服务器24、初级分析服务器26、二级分析服务器28和三级分析服务器62可以配置有特定应用,并且甚至可以基于这些应用来定价,而从工程角度来看,使用相同的背后的多处理器流水线架构。
76.在另一个实施方案中,网络界面24d、26d、28d、62d和64d可以用于使用共享文件系统和网络通信协议进行数据交换。考虑到目前的技术限制以及每个仪器和分析子系统每天产生和交换数千兆字节的预期平均数据,数据可用性、完整性和管理是相关和具有挑战性。为了帮助提供最佳的访问性能、便于调度、存储虚拟化、完整性保护以及可扩展分析和管理功能,所有用户产生的数据和元数据可存储在与核心操作系统、软件模块和公共模块不同的位置。来自采集、初级分析、二级分析、用户协议等的结果可以组织在连接到虚拟子系统存储库根目录的多个目录结构或分支中。与特定实体或存储相关联的每个资源块可以包括关于内容类别、服务策略、资源列表、校验和、审计跟踪等的元数据。
77.软件和公共模块可以通过链接到共享文件系统并使用网络界面进行通信来连接到存储库。传输服务提供从/向文件系统、http/ftp服务器(即云)和存储库到存储库的高性能双向传输。数据管理服务可以监视存储库并应用用户定义的策略,例如,基于失效的删除/归档。其他服务可能由外部组件如高级搜索分析提供。
78.在一个实施方案中,远程计算机30'可以是与图1a的采集模拟器服务器30相同的计算机,并且可以是由第三方提供的系统的任选部分。在一个实施方案中,采集模拟器/远程计算机30'能够通过串行电缆(例如同轴电缆)32b将模拟的传感器数据输入到多处理器流水线系统中用于分析。这使得多处理器流水线系统能够以由传感器芯片120产生的相同帧速率处理实际数据或模拟数据。
79.图4是示出根据一个示例性实施方案的初级分析子系统26a(图3)的硬件、软件和接口模块的细节的框图。初级分析计算机42包括网络界面26d、示出为超级组块缓冲器400和注释的hq碱基识别缓冲器402的全局共享存储块,以及后初级流水线404。图4中的椭圆形表示在初级分析计算机42、pa fpga 36'和pa xeon phi卡40'中执行的软件模块。
80.网络界面26d包括pa网络客户端406和pa网络服务器408。pa网络客户端406与pa处理器到/来自仪器控制服务器(isc)处理器接口410通信,并且发送来自执行进程的向外进程间通信(ipc)信息412。pa网络服务器408与ics cpu到/来自pa cpu接口414和pa ui到/来自pa cpu接口416通信,接收进入ipc信息418。
81.pa fpga卡36'和pa xeon phi卡40'连接到pa处理器主板(未示出)中的pcie插槽。在一个实施方案中,pa处理器42可以包括具有例如24个核、512gb ram和4个pcie插槽的常规多核cpu。
82.pa定制fpga卡34'被示出定制为具有串行/同轴电缆连接器420,其将同轴电缆32a'连接到pa定制fpga卡34'。根据示例性实施方案的一个方面,通过同轴电缆32a'接收的串行传感器数据流经实时初级分析流水线,实时初级分析流水线包括在pa fpga 36'中执行的pa定制fpga流水线422、超级组块缓冲器400、在pa xeon phi卡40'上执行的pa phi流水线432、注释的hq碱基识别缓冲器402以及在pa处理器42上执行的后初级流水线404。
83.pa定制fpga流水线422将串行传感器数据中的像素强度转换成反应单元(例如,
zmw)组块,所述组块表示由相应zmw随时间发射的像素强度值(即,迹线信号)的影片数据。也可以称为zmw影片数据的反应单元组块通过pa fpga到/来自pa cpu接口428从pa fpga卡36'流出,并存储在超级组块缓冲器400中用于产生超级反应单元组块。超级反应单元组块/zmw影片数据的输出和缓冲由可使用直接存储器访问(dma)的在pa处理器42上执行的pa cpu采集模块430控制。
84.在pa处理器42上执行的pa cpu流水线模块438协调从超级组块缓冲器400到在pa xeon phi卡40'上执行的pa phi流水线432的超级反应单元组块的传送。在通向pa xeon phi卡40'的路上,反应单元组块通过pa cpu到pa phi接口434。
85.pa phi流水线432执行流处理,将超级反应单元组块/zmw影片数据转换为注释的高质量(hq)碱基识别,通过pa cpu流水线438存储在注释的hq碱基识别缓冲器402中。在一个实施方案中,例如,可以存在120个拷贝的pa phi流水线432在每个pa xeon phi卡40'上同时运行。注释的hq碱基识别存储在注释的hq碱基识别缓冲器402中,直到来自一个超级反应单元组块时差的样本采集的所有传感器数据已经处理。到此为止的整个流水线处理至少以每秒100帧或每秒450mb的进入像素数据实时发生。在一个实施方案中,pa cpu采集模块430和pa cpu流水线模块438可以被实现为相同的多线程组件。
86.在一个实施方案中,超级组块缓冲器400和注释的hq碱基识别缓冲器402两者被实现为pa处理器42的存储器的一部分,其被留出作为用于以不同速度或不同优先级集合操作的模块共享的数据的临时容纳位置。。
87.一旦已经产生并存储了一个超级反应单元组块时间窗口的所有注释的hq碱基识别,则原始碱基文件写入进程440将数据写入到盘中作为原始碱基文件442,其为定制格式。在一个实施方案中,原始碱基文件442可以以专用格式存储,所述专用格式旨被设计用于尽可能快地写入数据的效率。
88.一旦原始碱基文件442关闭,该文件由在pa处理器42上执行的后初级流水线404处理。后初级流水线42包括在原始碱基文件442上操作以产生标准格式注释的hq原始碱基文件458。在执行后初级流水线42期间,开始由实时初级分析流水线处理另一序列样本采集以产生新原始碱基文件,而在所述后初级处理期间处理当前的原始碱基文件442。
89.软件模块可以包括hq、rq评分和统计产生模块444,读出质量过滤模块446,适配体加标对照注释模块448,条形码数据分离模块450和标准文件格式产生模块452和pa cpu碱基文件传送模块456。由后初级流水线404产生的注释的高质量原始碱基识别由标准文件格式产生模块452作为行业标准格式文件454写出。在pa处理器42上执行的pa cpu碱基文件传送模块456通过将注释的hq原始碱基文件458写入盘来完成该过程。完成的注释的hq原始碱基文件458然后可以从pa分析服务器26输出到二级分析服务器28以进行二级碱基处理。
90.图5a、5b和5c是进一步详细地说明由初级分析流水线500执行的处理的框图。图5a、5b和5c中的椭圆形表示执行软件模块,方形表示数据,并且具有圆角的方形表示文件和消息。
91.根据一个实施方案,初级分析流水线500包括在pa fpga卡36'上执行的pa定制fpga流水线422,在pa xenon phi 40'上执行的pa phi流水线432,以及在pa处理器42上执行后初级流水线404。
92.pa定制fpga流水线处理
93.参考图5a,处理开始于pa定制fpga流水线422,其可以包括暗/屏幕帧校正模块502、串扰减轻模块504、转置模块506和写入缓冲器模块508。pa定制fpga流水线422接收来自测序仪器100的作为原始像素数据501的帧的传感器数据。在一个实施方案中,接收100帧/秒,其中每个帧以每像素12位的约2百万像素。
94.第一步是暗帧和增益校正模块502以执行暗帧和增益校正。由于测序芯片120包括集成图像传感器123e,并且在每次样本采集后可丢弃,所以每个测序芯片120的图像传感器123e具有稍微不同的特性。因此,在接收传感器数据流之前,暗帧和增益校正模块502首先执行图像传感器校准,以确定在没有任何输入照明的情况下由图像传感器输出的暗帧的像素值。然后从所有输入帧中减去该暗帧。暗帧和增益校正模块502还执行增益以去除在图像捕获期间施加到帧的任何增益。
95.一旦执行了暗帧和增益校正模块,串扰减轻模块504执行串扰减轻,以通过从像素中减去任何渗出光来减轻由图像传感器123e产生的像素之间的光的任何电子渗出。在一个实施方案中,串扰减轻可以利用广义最小二乘法和一阶或二阶逆近似中的至少一种。
96.在pa定制fpga卡34'上实时地发生暗帧和增益校正以及串扰减轻。结果是以每秒100帧速率的校正的像素数据510。作为更具体的示例,校正的像素数据510包括以100fps、16位/像素(415m字节/秒)输出的2.07mp帧。
97.然后由转置模块506处理校正的像素数据510。最初输入原始像素数据500,使得帧以像素顺序存储在连续的存储器地址中,这是以空间为基础的(由每个反应单元/zmw 123b发射的光由每帧中相同的像素组(例如2个像素)表示)。然而,下游处理需要将每组像素的强度值以时间顺序存储在存储器中。
98.根据示例性实施方案的一个方面,转置模块506通过预定时间窗口上每个反应单元123b/zmw的帧收集每组像素的强度值。转置进程506然后转置或重排像素数据,使分配给特定反应单元123b的像素的强度值存储在一组连续的存储器地址中,在本文中称为反应单元组块512。因此,每个反应单元组块512表示预定时间窗口内相应反应单元/zmw发射的像素强度值(即,迹线信号)的影片数据。在一个实施方案中,预定时间窗口可以是例如5-50秒。换句话说,转置模块506在预定时间(例如10秒)中缓冲fpga存储器中的一定数量的图像/帧,然后转置像素数据,使得在时间/帧t1/f1、t2/f2、
……
t10/f10处的特定像素组的强度值被存储在一组连续的存储器地址中。因此,转置处理将帧的空间数据转换为连续存储器地址中的时间数据。在一个实施方案中,缓冲图像/帧的时间窗口的值取决于pa定制fpga卡34'上可用的板载存储器的量。
99.转置处理导致长度为例如10秒的预定时间窗口的反应单元组块512。在一个实施方案中,反应单元组块512包括100fps(4字节/zmw或415兆字节/秒)的2.74m像素的数据。写入缓冲器模块508将每个反应单元组块512写入初级分析服务器26中的超级组块缓冲器400。
100.超级组块缓冲器400的目的是存储或缓冲在较大预定时间窗口上每个相应反应单元123b的反应单元组块512,使得可以产生较大的超级反应单元组块514并流到pa phi流水线432。在一个实施方案中,较大的预定时间窗口可以是120-160秒,例如,产生长度为约120-160秒的超级反应单元组块514。因此,在一个实施方案中,将10秒流大小的反应单元组块512分段在超级组块缓冲器400中,以便建立160秒流大小/时间窗口,其中每组像素的160
秒内的强度值存储在连续存储器位置中。缓冲的原因是pa定制fpga卡34'被限制为足以存储仅10至20秒的强度值的存储器容量。在定制fpga卡34'具有足够的存储资源的实施方案中,反应单元组块512可以直接存储为超级反应单元组块514。
101.一旦超级反应单元组块514准备就绪,pa cpu流水线438将超级反应单元组块514从超级组块缓冲器400流送到pa xeon phi卡40'中的pa phi流水线432。同时,pa fpga流水线422进程用接下来的120-160秒的反应单元组块512填充超级组块缓冲器400,以产生下一个超级反应单元组块514。
102.在一个实施方案中,超级组块缓冲器400可以被实现为乒乓缓冲器,其中根据需要将120-160秒的超级反应单元组块514以连续较小组块解析到pa xeon phi卡40'中,同时缓冲另一超级反应单元组块514的数据。然而,一旦较小组块传递到特定的pa xeon phi卡40',则不能保证较小组块以与其他pa xeon phi卡40'中的较小组块相同的速度进行处理。
103.根据另一实施方案,超级组块缓冲器400可以被划分成一组数据瓦片或分支。例如,超级组块缓冲器400可以被划分成约16个数据瓦片或分支。当用反应单元组块512填充数据瓦片时,随着phi卡40'变得可用,数据瓦片被按顺序传递到pa xeon phi卡40'。一旦释放超级组块缓冲器400的瓦片/分支有空闲,则该数据瓦片用于存储另外的反应单元组块512。这允许更大的存储器管理灵活性,并允许pa fpga流水线422更加耐受pa xeon phi卡40'中的下游处理延迟。
104.在一个实施方案中,pa cpu采集进程430和pa cpu流水线进程438可以使用元数据索引来跟踪数据瓦片输出的顺序,以及哪些空的数据瓦片可用于接下来使用。元数据索引信息被反馈到pa定制fpga卡34'以通知其在哪里存储下一个反应单元组块512。在一个实施方案中,可以使用ipc消息传递来在进程之间发送元数据索引信息。
105.pa phi流水线处理
106.pa xeon phi卡40'可以各自包括例如48或60逻辑核向量处理器(与初级分析cpu中的12或24核相比),每个核具有多个线程,导致在每个核中执行120-180个拷贝的pa phi流水线432。向量处理器执行指令集,所述指令集包含在被称为向量的数据的一维阵列上操作的指令。向量架构的常见实例包括vis、mmx、sse、altivec和avx。
107.现在超级反应单元组块514以120-160秒的时间组块对齐,数据被构造为宽度与pa xeon phi 40'的向量处理能力对齐的数据向量。这样能够将数据推送到流水线中,以便有效地使用向量处理。
108.由迹线校正模块516执行的第一级处理是基线估计和减法。利用数字数据,如果在超级反应单元组块514中表示的信号迹线表示为具有在光值基线上的完美方波,将是期望的。事实是,基线是随时间波动。迹线校正模块516识别该基线值,使得迹线信号可归一化至具有可检测高度的一组迹线。输出是被称为基线校正反应单元数据517的校正信号迹线。在一个实施方案中,基线校正反应单元数据516包括100fps、4字节/zmw的1.04m像素。在该实施方案中,基线校正反应单元数据516仍然是双通道数据,即每个反应单元/zmw两个像素,每个像素表示颜色,其中信号迹线以每秒数百帧表示随时间的像素值(由于图像传感器与zmw极对齐)。可以使用两个像素来检测四种碱基,其中四种碱基颜色通过信号迹线的幅度区分,每个像素可以使用低和高的两个不同振幅检测两种颜色,如图1c所示。
109.接下来,目的区域(roi)确定由目的区域确定模块518执行。给定基线校正反应单
元数据517,目的区域确定模块518沿数据确定信号迹线的位置,使得处理信号迹线。目的区域确定模块518仅输出那些目的位置或区域为roi反应单元数据520。
110.估计模型参数模块522估计模型参数。如上所述,测序芯片120的分析区域123在每次使用之后可丢弃。因此,每个分析区域123的图像传感器123e必须针对每个新的图像传感器的特性进行校准。执行的第一校准是在采集开始之前由pa定制fpga流水线422执行的暗帧/增益帧校准。第二校准由估计模型参数模块522使用光谱矩阵来执行,该谱矩阵确定分配给每个反应单元123b的像素组中的每一个上显示的特定颜色。在两个像素的实施中,每个像素都应该基于在测序芯片120内配置滤波器堆叠和光学堆叠的方式来检测唯一的颜色。光学堆叠被设计成将从反应单元123b发射的光分裂使得一种颜色到一个像素,另一种颜色到第二像素。实际上,在每个光学堆叠中所有滤波器和透镜以及反应单元的所有对齐是不同的,所以光的分裂以稍微不同的布置发生。因此,必须校准每个反应单元123b的颜色矩阵。随着时间的推移,每个反应单元123b的颜色被校准为由估计模型参数模块522执行的实时处理的一部分。结果是响应单元roi[define roi]迹线数据524以及参数。在一个实施方案中,反应单元roi迹线数据524可以包括1.04m像素,3个参数/迹线,8迹线/秒(440兆字节/秒)。
[0111]
一旦获得了反应单元roi迹线数据524,则通过条件随机场(crf)算法和帧标记模块526来处理数据,其被配置为标记每个迹线事件。phi流水线432处理的该步骤将迹线数据转换为脉冲数据,并为每个脉冲分配碱基标记(a、t、c、g)。由于迹线数据可以以每秒1万帧的速度运行,脉冲数据可以以每秒平均3至5个碱基运行,这种处理导致显著的数据减少。结果是具有分配的帧标记(如果适用)和参数(例如,1.04像素(465兆字节/秒))的反应单元roi迹线数据528。
[0112]
碱基脉冲模块530检查其他特征和背景以确定每个分配的帧标记是否是正确的,例如,标有“a”的事件被视为“aa”。该过程使用包括脉冲间距离、脉冲宽度和pk-中间值(平均信号高度)的数据进行该确定。碱基脉冲模块530也可以使用机器学习概念,其中用历史数据训练算法以识别特征和事件。基于信号脉冲的特性,质量/置信度值也被分配给所分配的帧标记。碱基脉冲模块530输出原始碱基识别532或读出序列(例如,1.04万像素(66兆字节/秒))。
[0113]
高质量(hq)区域度量模块534计算在后初级流水线404(图5b)下游使用的度量,以确定原始碱基识别532/读出序列的哪一部分将被鉴定为高质量。一个度量是脉率。如果数据显示非常高的脉率,然后转变到更规则的脉率,则高脉冲速率可以指示两个聚合酶存在于相同的反应单元123b中,并且仅规则脉率的读出被认为是高质量。(hq)区域度量模块534输出注释的hq碱基识别536。
[0114]
注释的hq碱基识别536存储在注释的hq碱基识别缓冲器402中。在一个实施方案中,注释的hq碱基识别被存储在120-160秒块中,并注释有度量计算,其可以包括度量和碱基宽度和/或整个组块度量。与碱基识别相关联的示例类型的度量可以包括开始、宽度、pkmid、pkmax和质量值(qv)。整个组块度量的示例类型可以包括影响数据质量的检测的平均碱基速率和平均snr。在一个具体实施方案中,注释的hq碱基识别536可以包括1.04m像素、~4个碱基/秒、碱基识别、开始、宽度、pkmid、pkmax、qv和1分钟块(66兆字节/秒)。
[0115]
在人类基因组测序的情况下,初级分析流水线可以对每个样本采集执行约三个小
时,并且产生约200gb的注释的hq碱基识别536,其存储在注释的hq碱基识别缓冲器402中。
[0116]
应当注意,pa定制fpga流水线422导致预定时间窗口(例如10秒)的反应单元组块512,因此具有约10秒的流处理大小,而pa phi流水线432在较大的预定时间窗口(例如120-160秒)的超级反应单元组块514上操作,因此具有约120-160秒的时间窗口或流大小。
[0117]
pa定制fpga流水线处理-单指令、多反应单元数据处理
[0118]
图5b是示出初级分析流水线500'的初级分析phi流水线432'的替代实施方案的框图。该实施方案提供了用于支持测序仪器100或其他类型的单分子实时检测装置的用于主要特征查找和识别(碱基识别)的单指令、多反应单元数据处理的方法。
[0119]
如上所述,高复用、单分子实时检测装置(包括测序仪器100)通常读出同时记录多个反应单元(zmw、纳米孔等)的活性的检测信号,每个反应单元对应于目的单分子实验(例如,在dna模板分子上进行测序反应的酶复合物)。这种检测信号的示例包括来自光电装置(例如ccd或cmos传感器)的电压读出(其中电压通常来源于识别或量化与实验相关的化学标记的所选波长带中的光发射强度),或来自与实验相关的分子活性的以其他方式电子驱动的电压或电流的读出(例如由于实验的分子组分如核酸分子或标记的核苷酸的通过与检测装置相关联的生物或合成纳米孔而导致的电流的调制,或者纳米级场效应传感器(nanofet)的栅极处的电流的调制)。
[0120]
用于处理编码单分子活性的实时迹线数据的计算机代码通常被写入以一次处理一个反应或实验。或者,在多核/多线程硬件上,可以通过每个执行线程串行处理一个实验或实验的部分但同时使用多个线程来实现并行性(提高速度或通量)。
[0121]
为了实现额外的性能增益,可以使用向量处理。向量处理器或阵列处理器是执行包含在称为向量的数据的一维阵列上操作的指令的指令集的处理器,与标量处理器相比,后者的指令在单个数据项上操作。这种指令集的示例包括单指令多数据(simd)和多指令多数据(mimd)。
[0122]
传统的初级分析代码或算法通常使用向量处理来利用涉及单个实验的数据分析的处理步骤内的数据并行机会。例如,常规方法可以将代码结构化为对应于单个实验收集的数据的时间序列样本(即迹线)上的“向量化”大环。这种方法的问题是(1)程序或程序员必须依靠编译器自动执行simd/向量优化,或(2)程序必须包括定制的低级编程指令,这些指令通常为每个算法子程序的不同或独特的性质。例如,在四色系统中,为向量宽度为n=4的向量处理硬件编写的计算机代码可以通过同时处理4个通道的显式simd指令最好地利用特定子程序中的优点。
[0123]
使用任一方法,难以充分利用处理器的向量处理能力,导致相对于完整的硬件能力的软件效率的损失。其次,随着硬件供应商增加simd或向量单元的宽度(例如,从n=16到n=32),在某些情况下,代码必须被重新设计或重新构造,这取决于算法方法或优化程度的细节。
[0124]
本实施方案通过将用于例如单分子实验分析的算法(例如由pa协处理器40执行的初级分析phi流水线432')实施为所有或几乎所有反应单元上的完全或几乎完全数据并行,解决了该问题。本实施方案执行初级分析phi流水线432',使得使用pa协处理器40(和/或pa处理器42)的向量处理,在算法线程上同时执行n个独立测序反应的时间序列分析。在本实施方案中,不是利用向量处理单元处理单个实验或迹线的仅一部分,本实施方案在整个初
级分析phi流水线432'的步骤中利用向量处理单元来同时分析多个独立的实验或迹线。
[0125]
例如,测序芯片100包括每个反应单元123b的单个聚合酶,因此每个反应单元123b的一个测序反应。如果每个pa协处理器40包括c个逻辑核,并且每个逻辑核使用具有n维或时隙的simd寄存器,其中每个时隙处理反应单元的一个独立测序反应(或微量分析问题),则c个多核同时处理的总并行或独立反应e为e=c
×
n。例如,如果处理器提供48个硬件线程或逻辑核,并且每个逻辑核具有16的硬件向量宽度,则c=48,n=16和并行处理的独立反应数(e)为48
×
16,为768。在该示例中,使用基本上等效的算法步骤(例如以编程语言表达),相对于在标准多线程硬件上实现的,实现了16倍增速或通量能力的同等程度的增加。
[0126]
参考图5b,可以通过首先提供这样的数据结构来执行pa phi流水线432'的数据并行分量,所述数据结构满足在标量数据元素(例如整数或浮点表示)上使用的所有或基本上所有低级数学运算,含有各自属于一个独立测序反应或迹线的n个值的数据。在这些数据结构中,n个独立值以这样的方式进行打包,使得在通常用于标量等效运算的向同循环次数中,通过硬件向量处理单元同时发生所有n个值的低级数学运算(例如,浮点乘法)。
[0127]
第二,可通过例如在n个测序反应的每个对应数据元素上无条件地进行相同组的算法步骤来提供完全或基本上完全数据并行的pa phi流水线432'算法结构,来执行pa phi流水线432'的组件。这种设计避免了需要分支的算法,例如,“如果数据值低于某个阈值,则执行步骤(a、b),但是如果其大于或等于阈值,则执行步骤(c、d、e)”,其中数据值可以是例如在时间t的像素或颜色通道中测量的强度。由于每个反应将在给定的时间记录不同的、独立的值,因此利用需要分支的代码对两种情况执行的步骤可能不同,因此这种算法设计不是数据并行的。
[0128]
在一个实施方案中,pa phi流水线432'的数据并行组件可以包括迹线校正模块560、估计模型参数模块564和帧标记模块568。迹线校正模块560识别基线值,使得迹线信号可以归一化至具有可检测高度的一组迹线。输出是被称为基线校正反应单元数据562的校正信号迹线。迹线校正期间使用的适当数据并行算法可以包括例如参数估计算法,包括用于估计背景分布的形态滤波器和例如有助于估计背景分布的平滑滤波器(fir或iir)。
[0129]
估计模型参数模块522使用基线校正反应单元数据562来估计模型参数,以校准每个反应单元123b的颜色矩阵。结果是反应单元roi迹线数据566以及参数。估计模型参数模块522使用的适当数据并行算法可以包括平滑滤波器和混合模型算法,例如用于估计相对于光谱bin模型分布的模拟强度的参数的期望/最大化(em)。
[0130]
一旦获得了反应单元roi迹线数据562,就通过帧标记模块560来处理数据,帧标记模块560被配置为通过将迹线数据转换成脉冲数据并向每个脉冲分配碱基标记(a、t、c、g)来标记每个迹线事件。结果是标记的脉冲事件和参数570。帧标记模块560使用的用于脉冲识别的合适的数据并行算法可以包括例如使用动态规划策略的检测/分类算法,包括(a)维特比算法,用于使用隐马尔可夫模型(hmm)寻找最可能的隐藏状态序列;和/或(b)维特比算法,用于使用条件随机场(crf)模型寻找最可能的隐藏状态序列。
[0131]
后初级流水线处理
[0132]
图5c是示出通过初级分析流水线500、500'的后初级流水线404阶段进行处理的框图。后初级流水线处理的一个目的是将原始碱基识别转换为注释的高质量(hq)碱基识别,其被存储在适合于传送到二级分析的行业标准碱基识别文件458中。
[0133]
一旦完成了序列芯片100的采集,并且完成了注释的hq碱基识别缓冲器402中注释的hq碱基识别536的存储,则实时处理完成并且开始后初级流水线404。后初级流水线404处理将碱基识别或原始读出的整个影片处理成以行业标准格式(例如,bam格式)存储高质量且条形码注释的碱基识别。
[0134]
后初级流水线处理由并行文件写入器模块538开始,其将经缓冲的注释的hq碱基识别536写入到盘中作为具有度量的原始读出文件540。在一个实施方案中,原始读出文件540可以被存储为例如为了有效(并且快速)将数据写入盘而设计的文件格式。例如,在一个具体实施方案中,可以使用称为baz的专利格式。其他格式也是合适的。如上所述,在一个示例执行中,测序芯片100的一次采集在大约三个小时内产生一个原始读出文件540。只要测序芯片100被设置用于另一采集,在通过后初级流水线404处理当前的原始读出文件540的同时,另外的注释的hq碱基识别536将被处理并存储在注释的hq碱基识别缓冲器402中以产生新原始读出文件540。这保持多处理器流水线的工作周期以满容量运行。例如,为了产生金标准的人类基因组序列,可能需要12个测序芯片,得到12个三小时影片,以及12个原始读出文件540。
[0135]
后初级流水线404执行高质量识别、适配体、加标对照、任选的条形码数据分离。hq、rq(读出质量)评分和统计产生模块444识别并注释原始读出文件540中的高质量(hq)区域。确定测序芯片120上的反应单元123b保持样本片段。质量分配可以基于高质量识别,其基于分配给每个高质量区域内的碱基的质量值;并且该过程然后向每个片段的整个dna读出分配读出质量。输出为hq注释和rq评分读出544。
[0136]
读出质量过滤模块446通过检查由初级分析流水线产生的上游计算的度量来确定哪些hq注释rq评分读出544满足一定的性能质量。读出质量过滤模块446考虑适用于读出组块的那些度量来确定读出的哪个部分被认为足够高质量以传递到后初级流水线404的其余部分,以防止不良读出通过系统传播。结果是过滤的读出546。
[0137]
在一个实施方案中,由反应单元123b保持的样本片段可以是所谓的智能钟结构,其是dna的连续环并且目的dna是环的中间的模板。序列处理实际上环周围的序列多次。适配体识别和加标对照注释模块448识别环末端的适配体序列位置以定位特定目的序列以保留dna模板信息。在样本制备过程中,样本片段可以任选地提供有额外的掺入样本,其不是待测序样本片段的一部分,以测量测序过程的整体成功。适配体鉴定和加标对照注释模块448还从过滤的读出文件546中鉴定并分离那些掺入样本。结果是子读出文件548,其在一个实施方案中可以包含约20,000长的碱基读出,代表反应单元123b中环或智能钟结构周围的多个序列。
[0138]
任选的条形码处理路径458可以用于处理子读出文件548中存在的任何条形码数据。由于测序芯片120的通量如此之大,所以可以在单个芯片120上运行多个样本/实验。在样本制备过程中,dna条形码可以放置在作为相同实验的一部分的样本上。例如假设有20种不同的微生物被测序。给予来自每个微生物的样本共同的条形码标识符。
[0139]
条形码数据分离模块450找到应用于样本的条形码并基于条形码识别分离读出组。输出是具有用于不同条形码部分的注释的条形码分离数据文件550。在另一个实施方案中,可以产生对应于不同样本的不同条形码分离数据文件550。
[0140]
标准文件格式产生模块452将子读出文件548或任选的条形码分离数据文件550转
换成行业标准文件格式(例如bam、fastq等)的注释的hq碱基识别文件458。当数据处理完成并且注释的hq碱基识别文件458关闭时,注释的hq碱基识别文件458已准备好传送(框522)离开初级分析服务器26到二级分析服务器28进行二级分析处理。在一个实施方案中,注释的hq碱基识别文件458可以通过立即流传送到二级分析服务器28。在替选实施方案中,注释的hq碱基识别文件458可以被复制到二级分析服务器28。
[0141]
根据示例性实施方案的一个方面,图5a和5b描述的初级分析流水线执行流处理,其中各个流水线阶段具有越来越大的流处理时间窗口。例如,从pa定制fpga流水线422的开始起始,传感器数据以每秒100帧的速度输入。暗/增益帧校正模块502和串扰减轻模块504以一次一帧传感器数据操作,意味着这些处理具有约10ms的时间窗口或流大小。然而,转置模块506的时间窗口或流大小为约10秒,而超级组块缓冲器400和迹线校正模块514的时间窗口或流大小为约120-160秒。
[0142]
后初级流水线404必须等待整个采集完成并且在将原始读出文件540写入盘542之后,其可以是约三个小时的数据值。因此,后初级流水线404的时间窗口或流大小为约三个小时。可以看出,随着流水线处理的进行,流时间窗口逐渐变大。换句话说,超级组块缓冲器400和注释的hq碱基识别缓冲器402是120-160秒缓冲器,而后初级流水线404可以被认为是三小时缓冲器。根据示例性实施方案的另一方面,流水线处理和缓冲器的时间窗口或流大小可以根据可用的应用程序和硬件资源进行配置。
[0143]
二级分析
[0144]
图6是示出在二级分析服务器28中执行二级分析流水线600的处理的图。根据一个实施方案,二级分析流水线600包括在sa协处理器(例如,sa fpga卡48)上执行的sa fpga流水线601和在多个其他sa协处理器(例如,sa xenon phi卡46)上执行的sa phi流水线602。二级分析流水线600可以包括比对模块604、共有序列识别模块606和组装模块610,其统称为最终组装模块。
[0145]
如本领域众所周知的,比对是一种迭代过程,通过该过程将相关读出(即,碱基识别的序列)基于读出的重叠彼此比对或与参考比对,得到许多重叠读出。这之后是共有序列碱基识别,其考虑所有重叠读出来计算读出每个位置处最频繁的碱基识别的顺序,并形成碱基识别上的共有序列,其也称为共有序列序列。一旦确定了许多重叠读出,并且形成了共有序列读取读出,则在那些所得共有序列读取读出上进行组装。组装比对并合并共有序列读取读出的以产生被称为重叠群的较大连续序列,以便重建原始序列并产生组装的基因组。
[0146]
在常规最终组装过程中,通常在最终组装过程开始之前首先产生和收集所有的碱基识别数据。使用上述多处理器流水线处理,人类基因组的碱基识别数据的收集和产生需要约36小时。假设常规最终组装过程需要额外的36小时才能完成,整个过程将在样本采集开始前72小时后才能完成。
[0147]
根据示例性实施方案的另一方面,二级分析服务器28被配置为提供从“组块”实时执行整个基因组组装所需的必要的存储器带宽和并行计算资源。这意味着一旦获得了预定的片段读出大小,即使在流中还有更多的数据,也开始流式组装过程。在一个实施方案中,预定片段读出大小可以包括基于每个测序芯片产生的注释的hq碱基识别文件458,而不是等待获取由例如所有12个测序芯片产生的碱基识别。
[0148]
在另一个实施方案中,预定片段读出大小可以包括从注释的hq碱基识别文件458读出的足以形成重叠和/或达成共有序列的多个碱基识别。例如,如果测序芯片120支持对于各个片段的25,000个基本读取,则片段读出大小可以被指定为来自注释的hq碱基识别文件458的1,000个碱基。
[0149]
与初级分析所需的相比,进行具有30x覆盖的30亿碱基的人类基因组的常规最终组装可能需要sa fpgn 48可访问的更大的外部存储器块。然而,通过在所有数据到达之前开始最终组装过程,所需的存储器总量将少于容纳所有碱基识别和组装数据所需的存储器总量。因此,如通过二级分析流水线执行的,在数据组块收集之后尽快开始最终组装过程减少了从实验开始到最终输出的延迟时间,并减少了完成整个任务所需的资源。
[0150]
可在比对模块604从注释的hq碱基识别文件458读出预定个片段读出大小时开始二级分析流水线。比对模块604可以开始将读出放置在参考基因组605上或用于从头组装,开始搜索和改进中间重叠以产生中间重叠图和比对读出606。在一个实施方案中,参考基因组605可以存储在盘上并被传送到二级分析处理器44的存储器或sa fpga48内的存储器中。初步比对模块604被配置为在从注释的hq碱基识别文件458等读出另一预定片段大小或组块之后,更新/优化那些放置或中间重叠。
[0151]
共有序列识别模块608可以读出比对的读出606,产生特定位置的初步共有序列碱基识别612,并且对于每个新接收的片段读取大小更新/优化那些共有序列碱基识别612。在一个实施方案中,该共有序列碱基识别612可以存储在二级分析处理器444上的存储器中。
[0152]
预组装模块610可以读出初步共有序列碱基识别612并产生预重叠群614。预组装模块610可以针对每个新接收到的片段读取大小更新/优化预重叠群614。一旦确定没有更多的片段被读出,则预重叠群可以作为具有每个碱基质量值和其他运行总结数据的最终基因组组装体616输出。一旦组装器处理了数据的最后“组块”,所得完成的基因组组装体616可以流出仪器。
[0153]
由于一旦数据开始流出图像传感器就连续执行从原始信号到完成的组装序列的该流水线架构,所以在采集完成后到完成的答案的时间非常快。根据整个fpga流水线的“时间深度”,非常可能的是完成的人类基因组组装在采集完成的数分钟内完成。在其中片段读出大小为1000个碱基的上述实例中,“采集”完成后产生最终的基因组组装体616所花费的总时间是片段的最后碱基通过初级分析流水线的时间加上处理最后组块的时间(1,000/25,000
×
15分钟),为36秒。
[0154]
在其中片段读出大小为注释的碱基识别文件458的上述实例中,“采集”完成后产生最终的基因组组装体616所花费的总时间是最后测序芯片120(36小时)加上处理最后组块的时间(3小时),为39小时。因此,在开始第一测序芯片120的采集过程之后39小时,系统将具有人组装体,相比之下使用常规最终组装过程为72小时。
[0155]
已经描述了多处理器流水线架构。在一些方面,本发明包括包含多处理器流水线架构的制品,其包括包含一个或多个指令的计算机或机器可读介质,所述指令在被执行时实施本文所述的本发明的步骤。指令可以包括由包含上述多处理器流水线架构的模块执行的一个或多个进程。在某些实施方案中,计算机可读介质包括硬盘驱动器、内部存储器辅助存储器、外部存储器、服务器、数据库、便携式存储设备(cd-r、dvd、蓝光、闪存卡等)等。
[0156]
尽管仪器控制服务器24、初级分析服务器26、二级分析服务器28、三级分析服务器
62和远程计算机30被示为单个计算机,但是应当理解,这些服务器的功能可以分布在多个服务器上,并且可以使用不同数量的软件组件来实现软件模块的功能。此外,服务器可以实现为通用计算机,而不是服务器
[0157]
此外,如本领域普通技术人员将理解的,本发明的功能方面可以使用任何适当的实施环境或编程语言来实施或完成,例如c、c 、cobol、pascal、java、java-script、html、xml、dhtml、汇编或机器代码编程、rtl等。
[0158]
应当理解,上述描述旨在是说明性的而不是限制性的。对于本领域技术人员来说显而易见的是,在不脱离本发明的范围和精神的情况下,可以对在本技术中公开的本发明进行各种修改。因此,本发明的范围不应参照上述描述来确定,而应该参照所附权利要求以及这些权利要求的等同物的全部范围来确定。在整个公开内容中,引用了多个参考文献、专利、专利申请和出版物。除非另有说明,否则为了所有目的,其全部内容通过引用并入本文。为了描述和公开可以结合本发明使用的试剂、方法和概念,引用本文提及的所有出版物。本文中的任何内容都不应被解释为承认这些参考文献是关于本文所述的发明的现有技术。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献