中国科学:生命科学2013年第43卷第7期:569~578SCIENTIASINICAVitae引用格式:杨帅,胡宗倩,伯晓晨,等.云计算在生物医学中的应用.中国科学:生命科学,2013,43:569–578YangS,HuZQ,BoXC,etal.Biomedicalapplicationsusingcloudtechnologies.SCIENTIASINICAVitae,2013,43:569–578,doi:10.1360/052013-10SCIENCECHINAPRESS评述云计算在生物医学中的应用杨帅,胡宗倩,伯晓晨,王升启,李非*,王东根*军事医学科学院放射与辐射医学研究所,北京100850*联系人,E-mail:lifei@bmi.ac.cn;wangdg@bmi.ac.cn收稿日期:2013-01-08;接受日期:2013-03-21重大新药创制科技重大专项(批准号:2012ZX09301003-002)和国家自然科学基金(批准号:81102419)资助项目doi:10.1360/052013-10摘要以下一代测序技术为代表的海量生物医学数据为现代生命科学研究提供了前所未有的机遇,但后续的大数据分析却成为一大难题.本研究综述了云计算在生物医学领域的最新研究进展,首先阐述云计算服务模式及其优点,列举基于云计算的大数据分析工具,并以宏基因组分析应用PathSeq为例介绍使用云计算的步骤,最后给出私有云构建与云计算应用中的一些建议,希望为基因组学、转录组学、蛋白质组学等生物医学领域提供新的海量数据处理方法和思路.关键词云计算生物医学海量数据私有云生物医学正迈入大数据时代.从1977年Sanger测序法的问世到当前下一代测序(next-generationsequencing,NGS)技术的日渐成熟,测序通量不断提升而成本显著降低[1].HiSeq2000单次运行可产生200G数据量[2],即以约30倍的覆盖度同时对2个人类基因组重新测序,且费用低于1万美金.不仅下一代测序分析面临大数据存储与计算的挑战,公共医疗对大数据存储的需求也日渐增长,美国公共医疗卫生领域的数据总量在2009年已达434PB(1PB=250字节),并以每年至少35%的速度增长,其中绝大多数是需要长期保存的医学影像数据,以及医疗健康档案[3].大数据浪潮为生物医学带来了前所未有的机遇,将根本性的改变生物医学基础研究和医疗实践,在探究人类疾病与基因的关联[4],实现个性化医疗[5]等方面具有重要意义.与此同时,生物医学领域数据爆炸式的增长也对海量数据的存储和分析提出新的挑战[6~9].在处理海量数据时,人们通常使用并行计算技术和集群系统,并行计算技术支持同时使用多个计算单元处理任务,集群系统则建立了基于高速局域网络的可靠科学计算环境.传统的解决方案有MPI、网格计算等[10,11],而近年来兴起的云计算(cloudcomputing)理念提出让用户“在云端处理数据”,简化了计算、存储等IT资源的使用,并提供了灵活的计算能力和高效的数据分析方法,可有效解决生物实验室对计算资源的弹性需求,引起了生物医学领域科研人员的广泛关注[6,8,12~16].1云计算概述JohnMcCarthy在1961年曾提出“计算迟早有一天会变成一种公共基础设施”的思想.经过几十年的演变,从并行计算到网格计算,再到昀终的云计算,预言已成为现实.云计算是一种利用互联网即可随时随地、按需便捷地访问共享资源池的模型[6],其体杨帅等:云计算在生物医学中的应用570系架构可分为3层:核心服务、服务管理和用户访问接口[17].资源和功能服务化是云计算的核心理念,硬件基础设施、平台和应用程序都能以服务的方式通过网络交付给用户.该部分首先概述云计算核心服务层及其关键技术,随后以亚马逊公司的商业云服务为例,阐述云计算在实现海量数据分析与存储方面的优势.1.1云计算的服务模型与部署方式美国国家标准与技术研究院(NIST)将当前云计算服务模型划分为3个层次[18].(1)基础设施即服务(IaaS).该层为用户提供IT基础设施能力,基于KVM[19],XEN[20]和VMwareInfrastructure等虚拟化技术,用户可以按需申请资源并且自定义操作系统、并行编程框架等,使用十分灵活.亚马逊EC2(elasticcomputecloud)和S3(simplestorageservice)面向公众开放,是目前应用昀为广泛的IaaS平台.学术领域代表性的IaaS平台有Mag-ellan[6],Eucalyptus[21]和OpenStack[22]等,多用于构建私有IaaS平台.(2)平台即服务(PaaS).该层为用户提供应用程序的分布式编程框架,应用的开发和部署须遵守平台特定的规则,其关键技术是海量数据的处理与存储.MapReduce[23]是Google提出的分布式计算框架,随后微软和雅虎分别提出了Dryad[24]和Map-Reduce-Merge[25]分布式计算框架;分布式文件系统则有GFS[26],HDFS[27]和Lustre[28]等.典型PaaS产品有GoogleAppEngine和WindowsAzure,学术领域多采用Hadoop作为MapReduce的系统实现,该项目是由Apache基金会支持的开源项目.(3)软件即服务(SaaS).该层直接为用户提供应用服务,典型的访问方式是通过Web浏览器界面使用,用户不需要具有开发能力即可使用云计算服务.学术领域的Galaxy[29],MG-RAST[30]和商业化支持的DNAnexus()都是国外比较有名的生物医学数据分析网站.国内该类型服务仍处于初期,深圳华大基因(BGI)于2012年4月推出的EasyGenomics(),是目前国内生物医学领域云计算服务的先行者,尚处于免费测试阶段.SaaS云昀易于用户使用,但灵活性和可定制性受到限制.从云计算部署的角度,云计算分为私有云、公有云、社区云和混合云[31].私有云为某个机构服务,既可独立运作,也可委托第三方管理,通常限于机构内部使用;公有云与私有云相反,它对外出售或提供云服务,可以被公众所拥有;社区云的基础设施被几个机构所共享,以支持某个具有共同需求的社区;混合云是由2个或多个相对独立的云组成,通常需要保证数据和应用的可移植性.图1描绘了云计算的服务模型与部署方式,并列举了一些目前典型的云计算服务提供商.IaaS,PaaS和SaaS构成了云计算服务模型的金字塔结构.IaaS提供昀具兼容性的解决方案,它本质上是将硬件设施打包成资源对外服务,用户可以自行管理、部署海量数据处理与存储的编程框架;PaaS提供更抽象的应用服务引擎,支持在平台框架内的大规模并行计算和数据处理;SaaS对用户昀为友好,但可定制性较低1.2亚马逊网络服务EC2是亚马逊网络服务(AmazonWebService,AWS)提供的一系列基于Web的云计算产品之一,通过EC2所提供的服务,用户不仅可以方便的申请大规模可靠弹性的虚拟机集群,还对虚拟机拥有管理员权限.EC2由AMI(AmazonMachineImage)、实例和运行环境组成:AMI是一个自定义的虚拟机镜像,包括操作系统、软件运行环境等虚拟环境,是部署EC2集群的基本单元;实例由AMI和实例类型共同定义,同一个AMI产生的实例将拥有相同的系统配置环境,不同的实例类型将拥有不同的机器配置和计价方式(表1);运行环境则为EC2集群提供访问控制、防火墙、网络环境等.图1云计算的服务模型与部署方式中国科学:生命科学2013年第43卷第7期571表1科学计算常用实例类型及其计价a)实例类型实例规格(内存GiB/计算单元ECUs)Linux/UNIX使用量(h)标准按需实例中型3.75GiB/2ECUs$0.130大型7.5GiB/4ECUs$0.260超大型15GiB/8ECUs$0.520第二代标准按需实例超大型15GiB/13ECUs$0.980双倍超大型30GiB/26ECUs$1.960内存增强型按需实例超大型17.1GiB/6.5ECUs$0.570双倍超大型34.2GiB/13ECUs$1.140四倍超大型68.4GiB/26ECUs$2.280CPU增强型按需实例中型1.7GiB/5ECUs$0.285超大型7GiB/20ECUs$1.140集群计算实例四倍超大型23GiB/33.5ECUs$1.610八倍超大型60.5GiB/88ECUs$2.970a)数据来源于美国东部地区S3提供可靠的网络存储服务,它由桶(bucket)和对象(object)2级结构组成,用户可以将对象存放在桶中,但目前存储桶并不支持嵌套存储.EC2实例中的磁盘是临时驱动器,存储的数据随着实例的终止而消失,因此用户需要将昀终数据迁移到S3等永久存储上.S3上托管了一系列的大型生物数据库(),包括GenBank,En-sembl和千人基因组工程的测序数据等,这些数据库可以直接在EC2集群中使用.1.3云计算服务模型的优势类似EC2的云计算服务模型为生物医学大数据处理提供了新的思路,近几年被广泛应用于生物医学,其优势体现在集群构建、资源扩展和应用部署3个方面.(1)云计算提供了简单集群构建方案.首先,用户无需担心计算机系统、供电系统、制冷系统等涉及数据中心维护的技术问题,云计算公司负责数据中心的维护和管理工作.其次,集群构建基于互联网交付模式,并按使用量付费(表1),用户通过一台联网的个人电脑和一张信用卡即可在短时间内申请所需的计算资源.(2)云中的资源以共享资源池的方式管理,根据业务负载的动态变化,服务规模可快速伸缩,即实现了所谓的弹性计算.通常科研组织或机构在购买本地服务器之前会权衡维护成本和突发事件所带来的峰值计算负荷,而云计算的弹性可方便研究人员根据生物计算任务的强度,灵活购买计算资源,如在遇到突发事件时,可临时迅速扩展计算规模.云计算所拥有的资源扩展能力近乎无限,在使用SSAHA算法对人类基因组测序数据进行拼接时,Bateman和Wood[32]发现该计算问题的复杂度已超出Sanger数据中心的计算能力,于是他们在EC2上构建了一个100节点的集群,在半天的时间内就得到了计算结果.(3)云计算还提供快捷的应用部署与共享方式,这给生物医学研究提供极大的便利.传统的应用部署方式需要经过配置运行环境这一繁琐步骤,而现在软件开发人员可以将应用及其运行环境全部打包成镜像(image),用户可以在云端运行一个或多个镜像文件的实例,从而实现应用的完美复制,免去了传统方式带来的烦恼.Dudley和Butte[33]将这种通过镜像文件共享计算环境的方法称为全系统快照交换(wholesystemsnapshotexchange,WSSE),这种方法避免了由软件版本或环境依赖因素带来的计算结果偏差,增加了数据分析的可重复性.2云计算中的生物医学应用传统医疗信息系统中的IT基础设施往往是分散杨帅等:云计算在生物医学中的应用572部署的,由不同机构或部门单独维护和使用,无法做到对基础设施的统筹管理和医疗信息的有效共享,这在无形中增加了患者的医疗成本.而将云计算技术应用于医学影像资料[34,35]、电子健康档案[36]等大数据的整合和管理,对于推进医疗信息化建设有至关重要的作用.同时,受下一代测序技术飞速发展的影响,云计算在生物医学基础研究中的应用更加广泛(表2).基于测序的研究方法有很多,包括Exon-seq,RNA-seq,ChIP-seq,methyl-seq和DNase-seq等[61],其中RNA-seq主要是对mRNA,ncRNA和sRNA测序,ChIP-s