如何用云计算模式,实现生物信息分析 | 硬创公开课

本文涉及的产品
数据传输服务 DTS,数据同步 small 3个月
推荐场景:
数据库上云
对象存储 OSS,20GB 3个月
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
简介:

如何用云计算模式,实现生物信息分析 | 硬创公开课

雷锋网按:当基因检测变得越来越普及,所得数据越来越多,对数据解读的需求也由此诞生,而这就是生物信息技术的作用。本文整理自华点云技术总监于伟文在雷锋网硬创公开课上的演讲,主题为如何用云计算模式实现生物信息分析。

于伟文,高级工程师,上海华点云生物科技有限公司技术总监。是北京航空航天大学国家示范学科——“移动云计算”专业的首批毕业生。拥有十余年 IT 领域从业经验,主要关注于临床、生物、金融等领域。作为课题负责人,曾主持过国家“十一五” 重大专项子课题;参与多项国家自然科学基金、国家重点实验室专项信息化建设项目。在Nature 子刊、SCI等权威刊物上发表学术论文10 余篇。

公开课视频如下:

以下为雷锋网(公众号:雷锋网)整理的演讲主要文字内容。

华点云专注于高通量基因数据分析的公司,研发了一系列基因高通量生物分析工具,有基于NGS的数据传输、分析、报告、解读为一体的云端协同分析解决方案。这次的公开课则主要讲讲,如何用云计算模式实现生物信息分析。这次公开课分四部分:

一是生物信息学发展的历程,以及当前面临的挑战。获取数据的成本越来越低,数据量越来越大,现在的生物信息学面临的痛点,包括数据传输、计算及安全等方面。今天主要讲高性能计算的痛点。


二是分析NGS标准的生物信息分析的模式,中间数据处理的格式是怎么样的。你可能知道,科研单位主要是单样本分析,时间长且占资源。企业一般是多样本分析,痛点是NGS分析流程比较复杂,分析时间长,对集成带来压力。现在有两种计算模式:一种是弹性计算,基本能解决八成的问题;二是分布式计算。


三是云计算模式的特点与优势。


第四部分会以我们的乳腺癌检测产品为例,看如何在云端实现生物信息分析流程。

如何用云计算模式,实现生物信息分析 | 硬创公开课

1953年,沃森和克里克提出了DNA 双螺旋结构,标志着生物科学的发展进入了分子生物学阶段,使遗传的研究深入到分子层次,“生命之谜”被打开,人们清楚地了解遗传信息的构成和传递的途径。这也开启了生物信息学的纪元,虽然当时还没这种叫法。

如何用云计算模式,实现生物信息分析 | 硬创公开课

生物信息学之父是林华安,他提出了Bioinfomatics这种词。右图是人类基因组计算,自1990年正式实施,是生命科学的“登月计划”,也让生物信息学走向高潮。

人类基因组计划中有一个关键人物克雷格·文特尔,到1997年时整个计划只完成了3%,但时间和经费都用去了一半多。文特尔说有方法在3年内完成基因组测序,他以一己之力单挑6国科学家,采用“鸟枪法”以更快的速度完成人类。他本想为自己的方法申请专利,但在克林顿总统的要求下和其它6国科学进行了合作。

那什么叫测序?简单来说昌通过中间的测序仪,可以产生ACTG这样的数据,而生物信息学就是分析这些数据。

如何用云计算模式,实现生物信息分析 | 硬创公开课

基因测序分为三代。

第一代测序技术的主要特点:优点是测序读长可达1000bp,准确性高达99.999%,从头测序,从头组装;而缺点是测序成本高,通量低,难以大规模的应用。


第二代测序的特点:大大降低了测序成本的同时,大幅提高了测序速度,维持了高准确性,但序列读长方面起第一代测序技术则要短很多。


第三代测序的特点:不需要PCR,避免了PCR错误的引入,读长可达3k,且速度快。

如何用云计算模式,实现生物信息分析 | 硬创公开课

目前第二代测序是行业主流,后面的分析也是基于第二代。总结如上图。

如何用云计算模式,实现生物信息分析 | 硬创公开课

上图是测序成本的趋势。在2001年时测一个人的基因组花费近1亿美元,而2015年时只需要1000美元。

如何用云计算模式,实现生物信息分析 | 硬创公开课

上图左侧是人基因组个数,右侧表示数据量,横坐标是时间。图中黑线是真实统计数据,蓝色是摩尔定律预测数据,红线是历史推测。可以看出,从2017年开始,每年的基因组数据会呈线性增长。

如何用云计算模式,实现生物信息分析 | 硬创公开课

接下来看下数据量的大小。直接看图最后的数据,用最新的测序仪,在19-40个小时即会产生167GB到6TB数据,这还只是一台测序仪。

因此,当前考虑的不是基因测序本身的成本,而是数据传输、存储与分析的成本。目前面临的挑战主要包括(公开课主要涉及高性能计算方面):

数据解读

大规模的存储:大规模的存储:  混乱、缺乏行业标准

大量的计算资源:数据量大,计算复杂,时间长、成本高昂

高效的数据传输

安全稳定的运行环境

数据压缩,这也是行业难点

NGS计算的模式与挑战

如何用云计算模式,实现生物信息分析 | 硬创公开课

上图是NGS行业通用全基因组分析流程。测序后,通过标准化的基因组流程分析,然后与对应的数据库比对,就能形成标准的分析报告。

而标准的基因分析流程包括:质控,mapping,call SNP,注释。最重要的是mapping和call SNP,这是指它们对计算要求是非常高的。

如何用云计算模式,实现生物信息分析 | 硬创公开课

AC和Trime是质控,当得到测序数据后,通过这两步把低质量数据去掉。mapping是指整个染色体数据拼成一条。最后就是去找突变位点在哪,找到定位后即可评估是什么样的病种,给出一个应对措施。

如何用云计算模式,实现生物信息分析 | 硬创公开课

接下来看看每个阶段对应的数据格式是怎么样的。从QC到Trime都是FastQ格式,具体如上图所示。接下来会形成FastA格式。而通过mapping会再形成bam/sam格式。sam实质还是文本文件,只是对文件格式的定义;bam文件是对sam文件的二进制压缩,占用存储,后续处理速度快。通过call SNP则会生成文本。

如何用云计算模式,实现生物信息分析 | 硬创公开课

接下来以微生物组学为例看NGS数据计算特征。如上图所示,微生物组学中,呈现单个样本数据量小、样本数量多,及单个样本数据量大,样本数量少等特征。同时看到,微生物组学与参考序列的比对过程中,计算量大。微生物组学全基因组数据的组装和聚类,对内存的消耗也很大。海量样本微生物组学数据的比较,也需要高IO。所以可以看到,整个NGS数据是计算密集型,内存密集型,IO交换密集型。

当前行业生物计算的业务场景是:

1.单样本数据量小,样本量很大:应该用弹性计算模式,能解决八成的需求。

2.单样本数据量大,样本量很小:采用分布式计算模式。

3.单样本数据量大,样本量较大:弹性+分布式计算模式。

云计算的特点与优势


如何用云计算模式,实现生物信息分析 | 硬创公开课

整个云计算企业主要分为IaaS、PaaS、DaaS、SaaS。在云计算下整个医疗与健康厂商的划分如上,其中包括了各主要服务商。

云计算整个特点是:

成本低,以前完成一百个样本可能需要几万元,现在已经降到几元了。

弹性,即可以动态伸缩,满足动态的用户增长的需要。

以及高可靠性、通用性、虚拟化和超大规模等特点。

站在生物信息云端

第四部分最为重要,主要关于如何用云计算解决生物信息分析中存在的问题。

如何用云计算模式,实现生物信息分析 | 硬创公开课

首先是“单样本数据量小,样本量大”的业务场景云端实现,这主要用弹性计算来实现。

上图是以乳腺癌检测应用为例,它基本代表整个NGS标准的分析流程。数据特点是单样本100M,有100个样本。

传统SGE集群计算模式单样本运行时间约15分钟,共约22小时,而我们的目标是15分钟全部完成。实现弹性计算,要要求业务需求选择云厂商,这里只需要从IaaS上选择即可。

如何用云计算模式,实现生物信息分析 | 硬创公开课

先看百度云,它提供批量计算。上图是百度技术架构图。第一步是先把数据传到对象存储BOS中,之后把作业投到Batch Compute计算集群里面。

如何用云计算模式,实现生物信息分析 | 硬创公开课

再看下阿里云,它也有Batch Compute计算模式,也适用于并行批处理作业的分布式计算。AWS由于网络问题,不太好用。

如何用云计算模式,实现生物信息分析 | 硬创公开课

下面以阿里云为例,讲解如何去对Rocky.pl做弹性计算。做弹性计算,是让机房中的多台机器同时运行,把结果写到指定的OSS里。我们的任务写一个程序,快速让它在机房创建一排排机器(VM1-100),每个VM运行Rocky.pl,输入与输出都放到OSS上。这就是主要思路。

如何用云计算模式,实现生物信息分析 | 硬创公开课

在写程序前,要做四件事,一是做环境搭建,二是把现有测试数据传到OSS上,三是正式写程序,四是查看测试结果。

如何用云计算模式,实现生物信息分析 | 硬创公开课

环境搭建第一步是创建虚拟机,让它运行rocky.pl的话,要先做镜像。例子中搭建的是CentOS6.5,当然这可根据需求自行决定,另外就是安装生物信息流程包。通过镜像可扩展100台机器。

第二是准备开发工具。这里以Java为例,需要的环境是jdk与eclipse。

如何用云计算模式,实现生物信息分析 | 硬创公开课

准备工作完成后,要把数据传到OSS。刚才有三个文件,首先要将它们传到OSS。上传方式如上图所示,可以通过网页形式,或SDK的方式。

OSS中有几个概念。

一是bucket,即存储空间,用于存储对象(Object)的容器,所有的对象都必须隶属于某个存储空间。可以理解成windows下的C盘、D盘。

region是指地区,根据自己所在地域决定。

如何用云计算模式,实现生物信息分析 | 硬创公开课

页面开发人员的SDK方式如上所示,需要输入账号密码,创建OSS客户端。具体细节不再详细展开。

接下来可通过SDK和控制台的方式查看是否上传成功。网络不稳定的情况下可选择断点续传。

如何用云计算模式,实现生物信息分析 | 硬创公开课



下一步是写一个小程序,通过封装一步步实现弹性计算。做之前,要准备节点,让jar包中代码使用这个节点,这里会用到前面准备的镜像,并配置节点。然后是开发jar包,分别要构造job对象,构造DAG对象,构造task对象,以及OSS与节点的映射关系,最后封闭job的其他对象,并启动job。

这里有几个名词要解释。

job(作业)是BatchCompute的名词,每次分析操作都可以看成是一个作业。比如说我们要分析100个样本数据,那么当我们将100个样本当成一个整体,只需要执行一次,那么job就是1个。如果将这100个样本拆分成多个组,每组N个(N<100),那么就会有M个job(M=100/N)。例如每组5个样本,总共拆分成20个组,那么job个数就是20。

DAG是directed acycline praph的缩写,即有向无环图,通过它可以把业务流程切分成小的节点。

任务(task)也是BatchCompute的名词,是业务流程。我们可以将业务流程细分成N份,那么就可以有N个task。如果仅仅使用粗糙的业务流程,那么task设定成1即可。另外,每个job可以包含多个task,每个task单独用1台计算节点。

如何用云计算模式,实现生物信息分析 | 硬创公开课

OSS与节点的映射关系,是将OSS上的数据挂载到节点上,以后此节点上的任何操作都是读取本地目录上的数据。这么做的好处在于减少了频繁和OSS进行交互,防止交互过于频繁,挂载连接断掉。而这种方式只需要最后关闭节点的时候,才和OSS交互。

原始DAG的缺点是,每台计算节点运算时间很短,但是等待资源时间很长。一般情况下,每个节点资源需要等待3-5分钟,而计算的时间可能仅仅几十秒。总的运行时间可能达到20分钟。

如何用云计算模式,实现生物信息分析 | 硬创公开课

所以,一个想法是在一个task上运行所有步骤。要这么做,其中的步骤会如上图所示。

如何用云计算模式,实现生物信息分析 | 硬创公开课

伪代码则如上所示,具体不再详细展开。程序非常简单,也有python和java等各个版本。

前面讲述的是一个job的运行流程。现在我们有100个样本,每个task运行2个样本,那么共需要50个task,每个task对应1个job,那么就需要50个job。测试阶段,我们可以使用for循环,执行50次。每个都运行一次job。伪代码如下:

for (int i = 1; i<=50; i++ ) {

      //运行job

 }

实际应用中,我们是通过一个调度系统,来判断当出现2个样本数据时,则创建一个job,并启动job,让这个job运行1个task,每个task里面执行2个样本数据。当有100个样本数据时,我们会启动50次job。伪代码如下:

//1.调度器发现有2个样本

//2.1构造job对象

      //2.2构造task对象

      //2.3将2个样本 set到task对象中

//3.创建job并启动

如何用云计算模式,实现生物信息分析 | 硬创公开课

上图是真实测试数据,蓝色是开始时间,黄色是结束时间。可以看出,总耗时8分钟,费用是3元(阿里 云结果)。

用弹性计算方式,有两个问题。频繁对OSS读写,会造成OSS挂掉;另外,弹性资源有限制 ,比如阿里云限制是300台机器。

接下来是单样本数据量大,样本很小的业务场景,这又应该怎么去做呢?

如何用云计算模式,实现生物信息分析 | 硬创公开课

再来看一下之前出现过的这一张图。如果单样本数据量大,相对它进行加速,不适用弹性计算,必须对NGS流程中的算法进行优化(如各流程中所示)。

如何用云计算模式,实现生物信息分析 | 硬创公开课

再来看看国际上,针对分布式计算的研究进展。Spark是伯克利大学的研究结果,而它还有一个ADAM的团队,它专门用于生物信息计算。Google有自己的Google Genomics,而英特尔、斯坦福和微软则是基于GATK进行加速,不过目前还没有成型。

国内目前没看到对生物信息用的算法进行加速,我们现在对NGS分析流程,基于分布式计算实现了加速。我们在fastQC、Trime、call SNP上都有进展。

如何用云计算模式,实现生物信息分析 | 硬创公开课

最后介绍一下弹性分布式计算的架构图应该是怎么样的。底层是公有云,在这些IaaS上,我们会搭建一个NGS的IaaS层,把适合于HPC、Spark、Graph的集群通过转换器封装起来成一个计算模式,同时把OSS、SSD等封装起来(DataHub),为上层的PaaS服务。


本文作者:张驰

本文转自雷锋网禁止二次转载,原文链接

相关文章
|
4月前
|
存储 安全 JavaScript
云计算浪潮中的网络安全之舵探索Node.js中的异步编程模式
【8月更文挑战第27天】在数字化时代的风帆下,云计算如同一片广阔的海洋,承载着企业与个人的数据梦想。然而,这片海洋并非总是风平浪静。随着网络攻击的波涛汹涌,如何确保航行的安全成为了每一个船员必须面对的挑战。本文将探索云计算环境下的网络安全策略,从云服务的本质出发,深入信息安全的核心,揭示如何在云海中找到安全的灯塔。
|
26天前
|
人工智能 边缘计算 云计算
2024.11|云计算行业的商业模式创新方法及实践
截至2024年,全球云计算行业迈入全新阶段,从IaaS到大规模AI模型平台,技术与商业模式不断创新。本文分析全球最新技术进展,探讨云计算商业模式创新策略与实践,解析云服务厂商如何通过技术革新实现价值最大化,推动企业数字化与智能化转型。重点讨论AI与云计算的深度融合、边缘计算与去中心化发展、平台化与生态系统建设,以及数据安全与绿色云计算等关键议题。
81 30
|
5月前
|
存储 安全 网络安全
云计算与网络安全:技术融合与信息保障
在当今信息化时代,云计算技术作为信息技术领域的重要组成部分,与网络安全息息相关。本文从云服务架构、网络安全挑战、以及信息安全保障等角度出发,探讨了云计算与网络安全的紧密关系及其技术融合的重要性。通过分析当前技术趋势和挑战,提出了一些应对策略和未来发展方向,旨在为技术专业人士及相关从业者提供深入的思考和参考。【7月更文挑战第4天】
69 0
|
2月前
|
存储 安全 网络安全
云端盾牌:云计算时代的网络安全守护在数字化浪潮中,云计算以其高效、灵活的特性成为企业转型的加速器。然而,伴随其迅猛发展,网络安全问题亦如影随形,成为悬在每个组织头顶的达摩克利斯之剑。本文旨在探讨云计算服务中的网络安全挑战,分析信息安全的重要性,并提出相应对策,以期为企业构建一道坚实的云端防护网。
在当今这个数据驱动的时代,云计算已成为推动创新与效率的关键力量。它允许用户随时随地访问强大的计算资源,降低了企业的运营成本,加速了产品上市时间。但随之而来的网络威胁也日益猖獗,尤其是对于依赖云服务的企业而言,数据泄露、身份盗用等安全事件频发,不仅造成经济损失,更严重损害品牌信誉。本文深入剖析云计算环境中的安全风险,强调建立健全的信息安全管理机制的重要性,并分享一系列有效策略,旨在帮助企业和个人用户在享受云服务带来的便利的同时,也能构筑起强有力的网络防线。
|
2月前
|
安全 网络安全 云计算
云计算与网络安全:技术融合与挑战分析
【9月更文挑战第31天】本文将深入探讨云计算和网络安全之间的关系,包括云服务、网络安全、信息安全等技术领域。我们将从云计算的基本概念和特性出发,分析其在网络安全方面的优势和挑战,并探讨如何通过技术和策略来提高云计算的安全性。同时,我们也将讨论网络安全在云计算环境下的重要性,以及如何通过有效的安全措施来保护云服务的安全。最后,我们将通过代码示例来展示如何在云计算环境中实现网络安全。
66 3
|
3月前
|
机器学习/深度学习 安全 网络安全
云端盾牌:云计算时代的网络安全守护在这个数字脉搏加速跳动的时代,云计算以其高效、灵活的特性,成为推动企业数字化转型的强劲引擎。然而,正如每枚硬币都有两面,云计算的广泛应用也同步放大了网络安全的风险敞口。本文旨在探讨云计算服务中网络安全的关键作用,以及如何构建一道坚不可摧的信息防线,确保数据的安全与隐私。
云计算作为信息技术领域的革新力量,正深刻改变着企业的运营模式和人们的生活。但在享受其带来的便利与效率的同时,云服务的安全问题不容忽视。从数据泄露到服务中断,每一个安全事件都可能给企业和个人带来难以估量的损失。因此,本文聚焦于云计算环境下的网络安全挑战,分析其根源,并提出有效的防护策略,旨在为云服务的安全使用提供指导和参考。
84 8
|
3月前
|
云安全 安全 网络安全
探索云计算与网络安全的共生之道在数字化浪潮席卷全球的今天,云计算作为信息技术的一大革新,正重塑着企业的运营模式与服务交付。然而,随着云服务的普及,网络安全与信息安全的挑战也日益凸显,成为制约其发展的关键因素。本文旨在深入探讨云计算环境下的网络安全问题,分析云服务、网络安全及信息安全之间的相互关系,并提出相应的解决策略,以期为构建一个更安全、可靠的云计算生态系统提供参考。
本文聚焦于云计算环境中的网络安全议题,首先界定了云服务的基本概念及其广泛应用领域,随后剖析了当前网络安全面临的主要威胁,如数据泄露、身份盗用等,并强调了信息安全在维护网络空间秩序中的核心地位。通过对现有安全技术和策略的评估,包括加密技术、访问控制、安全审计等,文章指出了这些措施在应对复杂网络攻击时的局限性。最后,提出了一系列加强云计算安全的建议,如采用零信任架构、实施持续的安全监控与自动化响应机制、提升员工的安全意识教育以及制定严格的合规性标准等,旨在为云计算的安全可持续发展提供实践指南。
82 0
|
4月前
|
监控 安全 网络安全
云计算与网络安全:探索云服务时代的信息保护
【8月更文挑战第14天】在数字化浪潮的推动下,云计算技术迅速发展并深入到各行各业。然而,随着云服务的普及,网络安全问题也日益凸显。本文将探讨云计算环境下的网络安全挑战和信息安全实践,分析云服务提供者和用户如何共同维护数据安全,以及在云环境中实施有效安全策略的重要性。
|
5月前
|
Oracle 安全 关系型数据库
ERP系统的云计算与SaaS模式:实现高效灵活的企业管理
【7月更文挑战第29天】 ERP系统的云计算与SaaS模式:实现高效灵活的企业管理
262 4
|
6月前
|
存储 Cloud Native 安全