搏击数据洪流

    大规模的部署测序仪器对很多方面是不可或缺的,比如基因数据集建设,支持诸如千人基因组计划[1]和国际癌症基因组协会[2]这样的大规模、全基因组关联研究,这对今后20年的生物研究有着巨大的价值。世界各地的大型基因中心令人钦佩地接受了这个挑战。拿Sanger研究所来说,有超过35个Illumina GA2基因组分析器,运行在位于英国剑桥以南10英里处Hinxton基因园区的高通量设施中。

    Sanger研究所的测序平台

    测序平台是Sanger研究所的核心服务,对所有Sanger研究所或其他合作机构进行的基因组研究开放。由于测序对设备的要求极高,同时,Sanger研究所也开发了一系列操作工具与流程来满足这种高要求。

    项目管理

    我们开发了名为Sequencescape的一些列项目管理工具集,可以帮助研究者计划自己的实验,并帮助测序设备管理者计划容量和吞吐量。Sequencescape最初是被内部小组开发维护的。它用Rails语言编写,运行在标准的刀片服务器上,采用MySOL,通过内部网络(htp://www.sanger.ac.uk/)供用户访问。

    当一个新项目需要测序时(可以是单一样品的单次运行,也可以是1G碱基位上万样品的数千次运行),就在Sequencescape上登记,附带提供一些相关的元数据,例如科学理由、预算信息和联系方式。

    每一个待测序样本都会以这种方式登记,测序运行的请求提交到设备。这个请求组成了测序平台工作的基本单位,物理DNA样本则被送交实验室小组来进行准备和测序。

    准备测序样本是一个复杂的手动过程,其中包括一个不断提纯的实验室流程。物理DNA样本在手动仪器、自动机器和计算机控制组件间,甚至不同实验室之间,从一个试管中移到另一个中。记录一个样品的“生命故事”是很关键的,在评析测序结果、实验室吞吐量以及确定实验流程组件的错误调校或故障时,这些元数据可以导入进来。样本中的DNA如果稍微处理不慎,仪器就不能测序:这是一个费用昂贵并且耗时冗长的问题。通过评估和分析元数据,可以在失败中看到共同性,找出通讯协议偏差、误运转的器械或者错误调校。在不懈的监测和评析中,实验室进程得以继续提供高质量DNA样本以供测序。

    生物实验过程,用俏皮的生物术语来说,是一个持续进化的过程。随着科学期刊或者会议中新方法的讨论发布,优化、更新、采用全新方法,或者是彻底推倒重做都是很常见的。新仪器和机器自动化引进使用。在实验室工作流这种高灵活度领域中,保持健壮的原始数据获取是极其困难的。它也很快在高吞吐量环境下变得不可实现,在这个环境中,即使很小低效或者停滞也会导致长久的事物堆积。

    毋庸置疑的是,基因测序中病人个体的基因材料也许有限、供应不足,或者保存期限短。制备好的待测序DNA也不能永久保存,而且对于不能再次获得的DNA,实验过程或测序的延迟将会带来灾难性的后果。

    为了平衡对有效原始数据集的需求和时间紧迫且高度动态的工作流之间的矛盾,现代的数据获取方法必不可少:我们不想看到软件成为工作流程中的限制步骤。

    灵活的数据获取

    传统的数据库重构,都是对数据模式(dta schema)进行增、删或者重命名,然而Sanger研究所的高通量生产线使用的数据建模工具集却允许在运行时改变数据描述。当一个实验室协议升级,包括一系列新仪器或者快速方法时,与任务相关的现有原始信息可以在运行时重构。如此帮助实验室更有效率地运作,减轻开发者时间负担,还使得数据集可以与当前实验室流程保持一致。

    对大多数部分来说,生产系统中运行的数据库仍然是传统型的,存在于诸如项目、样品和工作流、任务这样关键协议组件的真实世界对象中。不过,元数据也被定为主要对象,表示为描述符(Dscriptors)、值和族(Fmily)对象类。一个族可以有多个描述符,描述符提供数据字段的定义,包括名称、类型、UI元素和是否为必须字段,等等。每一个工作流都可以有效继承一个族的字段。

    这就允许我们快速定义和修订新类型的项目、样本和工作流任务。

    所有的数据项页面的UI都是使用这些信息动态生成的,用以监测测序平台和实验工作流通量的多个报告工具也是一样动态生成的。族有版本控制,这就使得老项目数据可以持续访问,同时也有迁移和校对工具将旧版本对象升级为新版本。

    从计算角度来看,这个过程比我们预想的要快。借助数据表中足够的索引和数据范式化,即使高通量系统高负荷运行时Web应用程序也能迅速反应。由于某些属性是牢牢固定在工作流中的(比如,每个物品都有名称、唯一标识符,以及创建和修改日期),他们可以很容易地重构回主要数据库字段以提供更快速的查询。

    这项对于实验室工作流数据模型进行精简的尝试已经取得了很大的成功。优势越来越明显,因为灵活度的优化可以让相同的构架应用于研究所内其他实验室工作流中(首先用在了基因型鉴定中),而只需要很少的额外开发。Sequencescape项目管理和实验室信息管理工具是开源的,可以从http://www.sanger.ac.uk下载。

    仪器和数据管理

    在Sanger,整个短读测序流程当做了一系列托管服务来运行,和Web服务定义的界面有通用性。项目管理和实验室信息管理最终让位于仪器管理工具,此工具可以监管、控制整个仪器平台,并尽可能地实现自动运转。

    每台测序仪器都连接着一台PC,电脑用来控制仪器并给仪器产生图像数据提供临时存储空间。遗憾的是,尤其是对长一点的测序来说,本地机器的磁盘空间会迅速变得不够存储整个运行的数据,而且桌面PC的计算能力不足以进行数据的图像、序列与质量分析。

    因此,数据通过一个10G b线路从仪器上连接的P C传输到更大的存储阵列中:由Lustre[3]管理的400Tb大的EVA存储系统中。这便是一个1000节点的网络集群,此集群承担了原始图像的主要分析和图像校准任务。管理这个规模存储系统问题很多,需要管理员不断干预,供应商不断扩展还有内部数据管理者的监管。这个阵列处理了差不多4个星期的数据;随着分析和最终的碱基识别,仪器中的原始数据相关的仪器运行细节(激光强度、荧光数据等)在删除之前都按需进行了校对并存档。

    这种规模的原始测序数据很大,处理费用很高;不过,图像校准、序列上个各个碱基确定之后,每次运行产生大约30Gb序列和质量数据。如果原始数据没有备份(从磁带上恢复数据需3个月),每一个测序运行的原始图像压缩成低质量的JPEG文件,保存在数据库中。尽管不适合分析,如果任何一次运行都需要人工判读来确定是图像问题或者人工制品(油,不太好的DNA集群,甚至指纹都不稀奇),这个数据仍是有用的。

    一旦测序数据可用,它会以两种格式被存储到一个高性能的Oracle数据库里。虽然生产系统充分利用了数据库,但是生物信息学工具通常会在文件系统上用普通文件工作。我们确实需要迎合所有的需求,这个存档里大量序列信息也同样通过一个Fuse[4]用户空间文件系统呈现给Sangery研究所内的计算农场。

    这项措施出人意料的好。序列数据紧接着通过一系列的质量控制措施传送出去,然后在序列分析集群上运行,检查低测序产出、高层次的未知碱基,或者低复杂序列,而所有的这些都是测序错误的标志。质量控制(Q)结果又被传回到Sequencescape,研究者和合作者会收到有关新数据及其在Fuse资料系统位置的提醒。在测序结果并不具有足够质量,或者如果实验室存在问题的情况下,Sequencescape会自动排队样本进行再处理。

    对Sanger研究所的许多项目来说,得到许可之后,数据会对所有人开放:从最初的项目和样本元数据,到实验室的原始信息,以及从每个样本中获得上百万测序数据。这些材料任何感兴趣的人都可以免费下载,包括最新的基因数据草图(htp://www.ensembl.org/index.html),各个测序追踪结果(htp://trace.ensembl.org/),随后几个月,还会有更多的项目的短读序列(请关注http://www.ebi.ac.uk)。这就为生物医学研究者提供了优秀的资源,同时,也继续了为人类基因组计划提供免费开放数据的光荣传统。

    [1]即1000 Genomes Project,此计划将测定世界各地至少1000个人类个体DNA序列,参见http://1000genomes.org。

    [2]即International Cancer Genome Consortium,参见http://1000genomes.org。

    [3]Lustre是一种分布式文件系统,参见http://lustre.org/。

    [4]http://fuse.sourceforge.net/