2014级研究生三班 148033022 免疫学 汪悦
计算机技术在生物医学的最新进展
引言
随着计算机技术日新月异的发展,生物医学正迈入大数据时代。不仅
下一代测序分析面临大数据存储与计算的挑战,公共医疗对大数据存
储的需求也日益增长[1]。大数据浪潮为生物医学带来了前所未有的机
遇,将根本性的改变生物医学基础研究和医疗实践,在探究人类疾病
与基因的关联[2]、实现个性化医疗[3]等方面具有重要意义。与此同时,
生物医学领域数据爆炸式的增长也对海量数据的存储和分析提出了
新的挑战[4-7]。在处理海量数据时,人们通常使用并行计算技术,其
支持同时使用多个计算单元处理任务。传统的解决方案有MPI 、网格
计算等[8,9]。而近年来兴起的云计算理念的提出让用户“在云端处理
数据”,简化了计算、存储等IT 资源的使用,并提供了灵活的计算能
力和高效的数据分析方法,可有效的解决生物实验室对计算资源的弹
性需求,引起了生物医学领域科研人员的广泛关注[6,8,10-14]
1 云计算概述
John McCarthy在1961年曾提出“计算迟早有一天会变成一种公共基
础设施”的思想。经过十几年的演变,并从行计算到网格计算,再到
最终的云计算预言已成为现实。云计算是一种利用互联网即可随时随
地、按需便捷地访问共享资源池的模型[6]. 其体系架构可分为3层:核
心服务、服务管理和用户访问接口[15]。资源和功能服务化是云计算的
核心理念,硬件基础设施、平台和应用程序都能以服务的方式通过网
络交付给用户、该部分首先概述云计算核心服务层及其关键技术,随
后阐述云计算在实现海量数据分析与存储方面的优势。
1.1云计算的服务模型与部署方式
美国国家标准与技术研究院将当前云计算服务模型划分为3个层次
[16]
(1) 基础设施即服务。该层为用户提供IT 基础设施能力,基于KVM [17],
XEN [18]和VMware Infrastructure等虚拟化技术,用户可以按需申请
资源并且自定义操作系统、并行编程框架等,使用十分灵活。
(2) 平台即服务。该层为用户提供应用程序的分布式编程框架,应用
的开发和部署必须遵守平台特定的规则,其关键技术是海量数据
的处理与存储。
(3) 软件即服务。该层直接为用户提供应用服务,典型的访问方式是
通过Web 浏览器界面使用,用户不需要具有开发能力即可使用云
计算服务。
从云计算部署的角度划分,云计算分为私有云、公有云、社区云和混
合云[19]。私有云为某个社区服务,既可独立运作,也可委托第三方管
理,通常限于机构内部使用;公有云对外出售或提供云服务,可以被
公众所拥有;社区云的基础设施被几个机构所共享,以支持某个具有
共同需求的社区;混合云是由2个或多个相对独立的云组成,通常需
要保证数据和应用的可移植性。
1.2 云计算服务模型的优势
类似EC2的云计算服务模型为生物医学大数据处理提供了新的思路,
近几年被广泛应用于生物医学,其优势体现在集群构建、资源扩展和
应用部署3个方面。
(1) 云计算提供了简单集群构建方案。首先用户无须担心计算机系统、
供电系统、制冷系统等涉及数据中心维护的技术问题,云计算公
司负责数据中心的维护和管理工作。其次,集群构建基于互联网
交付模式,并按使用量付费,用户通过一台联网的个人电脑和一
张信用卡即可在短时间内申请所需的计算资源。
(2) 云中的资源以共享资源池的方式管理。根据业务负载的动态变化,
服务规模可快速伸缩,即实现了所谓的弹性计算,通常科研组织
或机构在购买本地服务器之前会权衡维护成本和突发事件所带来
的峰值计算负荷,而云计算的弹性可方便科研人员根据生物计算
任务的强度,灵活购买计算资源,如在遇到突发事件时,可临时
迅速扩展计算规模。云计算所拥有的资源扩展能力近乎无限,在
使用SSAHA 算法对人类基因组测序数据进行拼接时,Bateman 和
Wood [20]发现该计算问题的复杂度已超出Sanger 数据中心的计算
能力,于是他们在EC2上构建了一个100节点的集群,在半天的
时间内就得到了计算的结果。
云计算还提供快捷的应用部署与共享方式。这给生物医学研究提供极大的便利。传统的应用部署方式需要经过配置运行环境这一繁琐步骤,而现在软件开发人员可以将应用及其运行环境全部打包成镜像。用户可以在云端运行一个或多个镜像文件的实例,从而实现应用的完美复制,免去了传统方式带来的烦恼。Dudley 和Butte [21]将这种通过镜像文件共享计算环境的方法称为全系统快照交换。这种方法避免了由软件版
本或环境依赖因素带来的计算结果偏差,增加了数据分析的可重复性。
2 云计. 算的基本步骤
(1)创建AMI 。首先,本地系统必须安装EC2-API-tools 和S3CMD 并能正常访问EC2和S3服务,正确填写PathSeq 所需的信息,最后运行create-ownAMI.com, 根据屏幕提示填写AWS 账号相关信息,等待一段时间之后完成创建PathSeqAMI 。
(2)上传数据。运行Preprocessed-Reads.com 和Upload-Reference-Genome.com, 分别将待处理数据和参考数据上传到S3,其中参考数据库先是从broadinstitute 的ftp 上下载到本地,然后自动调用S3CMD 命令上传到云端,这一步骤需要的时间依赖于本地网络宽带。
(3)租用弹性计算云,运行PathSeq-launch.com ,将在云中部署以PathSeqAMI 为模板的实例集群并开始计算。
(4)取回结果并种植集群。通过AWS 控制台访问S3并将结果保存到本地,运行Terminate Pathseq.com 将终止PathSeq 实现了分布式的自动化数据处理流程,凸显了与传统软件部署方式相比的优势所在。除了以上内容之外,还有一些与EC2安全相关的配置,比如防火墙隔离、网络控制等,Fusaro 等人[22]详细介绍了现有软件部署到EC2上的编程原则。
3 使用云计算的问题
在预算可承受范围内,云计算提供了大规模灵活的计算资源,允许研究人员分析日益增长的测序,免去了维护大型数据中心的负担。然而,云计算被政府机构、互联网公司、科学实验室广泛使用的同时,仍然存在诸如数据隐私等问题[6]。如实验室要使用云计算,需提前考虑以下因素:
(1)数据隐私问题。疾病相关的测序工程或全基因组关联研究的数据通常会有严格
的访问控制,一旦泄露了数据隐私会给用户造成极大损失。
(2)数据传输问题。由于网络宽带限制,不同云之间或云与本地之间的的数据迁移可能成为瓶颈,建议预先将数据上传到云端,S3甚至允许用户邮寄硬盘以上传数据。
(3)数据处理问题。云环境下的应用程序通常采用MapReduce 编程框架,利用Hadoop Streaming 组间可以简单处理一些面向批处理的任务。数据之间无需相互通信也能得到正确结果。然而,对于复杂计算机任务,无法简单实现其Mapper 和Reducer 或重写算法的时间成本
(4)经济效益、云计算是按使用量付费,花费集中在计算、存储和数据传输三个方面。
4 展望
随着下一代测序、生物质谱和医学成像等医学技术的迅猛发展,人们可以更加深入地剖析疾病的成因,分析药物的有效性和毒性。在通往个性化医疗的道路上,海量数据处理是关键难题。云计算将大量计算资源、存储资源和软件资源虚拟化,形成规模庞大的共享资源池,可有效解决生物医学对IT 资源的弹性需求。目前,国内云计算领域覆盖面广、参与单位多,但仍与国外有相当大差距,不仅缺乏类似EC2的弹性计算服务,也缺乏类似Galaxy 的成熟的生物医学数据分析平台。此外,云计算的服务可靠性、标准化和隐私安全等问题亟待解决。尽管如此,利用云计算解决海量数据处理难题仍是未来发展趋势。
参考文献
[1] Shendure J, Ji H. Next-generation DNA sequencing. Nat Biotechnol, 2008, 26: 1135–1145
[2] Qin J, Li Y, Cai Z, et al. A metagenome-wide association study of gut microbiota in
type 2 diabetes. Nature, 2012, 490: 55–60
[3] Mardis E R. The impact of next-generation sequencing technology on genetics. Trends Genet, 2008, 24: 133
[4] Schatz M C, Langmead B, Salzberg S L. Cloud computing and the DNA data race. Nat Biotechnol, 2010, 28: 691
[5] Gathering clouds and a sequencing storm: why cloud computing could broaden community access to next-generation sequencing. Nat Biotechnol,
2010, 28: 1, doi: 10.1038/nbt0110-1
[6] Rosenthal A, Mork P, Li M H, et al. Cloud computing: a new business paradigm for biomedical information sharing. J Biomed Inform, 2010, 43:
342–353
[7] Re C, Ro A, Re A. Will computers crash genomics? Science, 2010, 5: 1190
[8] Darling A, Carey L, Feng W C. The design, implementation, and evaluation of
mpiBLAST. In: Proceedings of ClusterWorld. San Jose. 2003. 14
[9] Schadt E E, Linderman M D, Sorenson J, et al. Computational solutions to large-scale data management and analysis. Nat Rev Genet, 2010, 11: analysis. Nat Rev Genet, 2010, 11:647–657
[10] Wall D P, Kudtarkar P, Fusaro V A, et al. Cloud computing for comparative genomics. BMC Bioinformatics, 2010, 11: 259
[11] Stein L D. The case for cloud computing in genome informatics. Genome Biol, 2010, 11: 207
[12] Dudley J T, Pouliot Y, Chen R, et al. Translational bioinformatics in the cloud: an
affordable alternative. Genome Med, 2010, 2: 51
[13] Wilkening J, Wilke A, Desai N, et al. Using clouds for metagenomics: a case study. In: IEEE International Conference on Cluster Computing. New
Orleans. 2009. 1–6
[14] 郝彤, 马红武, 赵学明. 云计算在生物技术领域的应用. 数学的实践与认识, 2012, 24: 117–123
[15]Rackspace Cloud Computing. OpenStack open source cloud computing software. 2012, http://www.openstack.org/
[16] Dean J, Ghemawat S. Mapreduce: simplified data processing on large clusters. Commun Acm, 2008, 51: 107–113
[17]Isard M, Budiu M, Yu Y, et al. Dryad: distributed data-parallel programs from sequential building blocks. ACM SIGOPS Operating Systems
Review, 2007, 41: 59–72
[18] Yang H C, Dasdan A, Hsiao R L, et al. Map-reduce-merge: simplified relational data processing on large clusters. In: Proceedings of the 2007
ACM SIGMOD International Conference on Management of Data. Beijing, 2007, 1029–1040
[19] Ghemawat S, Gobioff H, Leung S T. The google file system. ACM SIGOPS Operating Systems Review, 2003, 37: 29–43
[20] Borthakur D. The hadoop distributed file system: architecture and design. Hadoop Project Website, 2007, 11: 21
[21] Schwan P. Lustre: building a file system for 1000-node clusters. In: Proceedings of the
Linux Symposium 2003, Ottawa, 2003, 401 –408
[22] Rackspace Cloud Computing. OpenStack open source cloud computing software. 2012, http://www.openstack.org/
2014级研究生三班 148033022 免疫学 汪悦
计算机技术在生物医学的最新进展
引言
随着计算机技术日新月异的发展,生物医学正迈入大数据时代。不仅
下一代测序分析面临大数据存储与计算的挑战,公共医疗对大数据存
储的需求也日益增长[1]。大数据浪潮为生物医学带来了前所未有的机
遇,将根本性的改变生物医学基础研究和医疗实践,在探究人类疾病
与基因的关联[2]、实现个性化医疗[3]等方面具有重要意义。与此同时,
生物医学领域数据爆炸式的增长也对海量数据的存储和分析提出了
新的挑战[4-7]。在处理海量数据时,人们通常使用并行计算技术,其
支持同时使用多个计算单元处理任务。传统的解决方案有MPI 、网格
计算等[8,9]。而近年来兴起的云计算理念的提出让用户“在云端处理
数据”,简化了计算、存储等IT 资源的使用,并提供了灵活的计算能
力和高效的数据分析方法,可有效的解决生物实验室对计算资源的弹
性需求,引起了生物医学领域科研人员的广泛关注[6,8,10-14]
1 云计算概述
John McCarthy在1961年曾提出“计算迟早有一天会变成一种公共基
础设施”的思想。经过十几年的演变,并从行计算到网格计算,再到
最终的云计算预言已成为现实。云计算是一种利用互联网即可随时随
地、按需便捷地访问共享资源池的模型[6]. 其体系架构可分为3层:核
心服务、服务管理和用户访问接口[15]。资源和功能服务化是云计算的
核心理念,硬件基础设施、平台和应用程序都能以服务的方式通过网
络交付给用户、该部分首先概述云计算核心服务层及其关键技术,随
后阐述云计算在实现海量数据分析与存储方面的优势。
1.1云计算的服务模型与部署方式
美国国家标准与技术研究院将当前云计算服务模型划分为3个层次
[16]
(1) 基础设施即服务。该层为用户提供IT 基础设施能力,基于KVM [17],
XEN [18]和VMware Infrastructure等虚拟化技术,用户可以按需申请
资源并且自定义操作系统、并行编程框架等,使用十分灵活。
(2) 平台即服务。该层为用户提供应用程序的分布式编程框架,应用
的开发和部署必须遵守平台特定的规则,其关键技术是海量数据
的处理与存储。
(3) 软件即服务。该层直接为用户提供应用服务,典型的访问方式是
通过Web 浏览器界面使用,用户不需要具有开发能力即可使用云
计算服务。
从云计算部署的角度划分,云计算分为私有云、公有云、社区云和混
合云[19]。私有云为某个社区服务,既可独立运作,也可委托第三方管
理,通常限于机构内部使用;公有云对外出售或提供云服务,可以被
公众所拥有;社区云的基础设施被几个机构所共享,以支持某个具有
共同需求的社区;混合云是由2个或多个相对独立的云组成,通常需
要保证数据和应用的可移植性。
1.2 云计算服务模型的优势
类似EC2的云计算服务模型为生物医学大数据处理提供了新的思路,
近几年被广泛应用于生物医学,其优势体现在集群构建、资源扩展和
应用部署3个方面。
(1) 云计算提供了简单集群构建方案。首先用户无须担心计算机系统、
供电系统、制冷系统等涉及数据中心维护的技术问题,云计算公
司负责数据中心的维护和管理工作。其次,集群构建基于互联网
交付模式,并按使用量付费,用户通过一台联网的个人电脑和一
张信用卡即可在短时间内申请所需的计算资源。
(2) 云中的资源以共享资源池的方式管理。根据业务负载的动态变化,
服务规模可快速伸缩,即实现了所谓的弹性计算,通常科研组织
或机构在购买本地服务器之前会权衡维护成本和突发事件所带来
的峰值计算负荷,而云计算的弹性可方便科研人员根据生物计算
任务的强度,灵活购买计算资源,如在遇到突发事件时,可临时
迅速扩展计算规模。云计算所拥有的资源扩展能力近乎无限,在
使用SSAHA 算法对人类基因组测序数据进行拼接时,Bateman 和
Wood [20]发现该计算问题的复杂度已超出Sanger 数据中心的计算
能力,于是他们在EC2上构建了一个100节点的集群,在半天的
时间内就得到了计算的结果。
云计算还提供快捷的应用部署与共享方式。这给生物医学研究提供极大的便利。传统的应用部署方式需要经过配置运行环境这一繁琐步骤,而现在软件开发人员可以将应用及其运行环境全部打包成镜像。用户可以在云端运行一个或多个镜像文件的实例,从而实现应用的完美复制,免去了传统方式带来的烦恼。Dudley 和Butte [21]将这种通过镜像文件共享计算环境的方法称为全系统快照交换。这种方法避免了由软件版
本或环境依赖因素带来的计算结果偏差,增加了数据分析的可重复性。
2 云计. 算的基本步骤
(1)创建AMI 。首先,本地系统必须安装EC2-API-tools 和S3CMD 并能正常访问EC2和S3服务,正确填写PathSeq 所需的信息,最后运行create-ownAMI.com, 根据屏幕提示填写AWS 账号相关信息,等待一段时间之后完成创建PathSeqAMI 。
(2)上传数据。运行Preprocessed-Reads.com 和Upload-Reference-Genome.com, 分别将待处理数据和参考数据上传到S3,其中参考数据库先是从broadinstitute 的ftp 上下载到本地,然后自动调用S3CMD 命令上传到云端,这一步骤需要的时间依赖于本地网络宽带。
(3)租用弹性计算云,运行PathSeq-launch.com ,将在云中部署以PathSeqAMI 为模板的实例集群并开始计算。
(4)取回结果并种植集群。通过AWS 控制台访问S3并将结果保存到本地,运行Terminate Pathseq.com 将终止PathSeq 实现了分布式的自动化数据处理流程,凸显了与传统软件部署方式相比的优势所在。除了以上内容之外,还有一些与EC2安全相关的配置,比如防火墙隔离、网络控制等,Fusaro 等人[22]详细介绍了现有软件部署到EC2上的编程原则。
3 使用云计算的问题
在预算可承受范围内,云计算提供了大规模灵活的计算资源,允许研究人员分析日益增长的测序,免去了维护大型数据中心的负担。然而,云计算被政府机构、互联网公司、科学实验室广泛使用的同时,仍然存在诸如数据隐私等问题[6]。如实验室要使用云计算,需提前考虑以下因素:
(1)数据隐私问题。疾病相关的测序工程或全基因组关联研究的数据通常会有严格
的访问控制,一旦泄露了数据隐私会给用户造成极大损失。
(2)数据传输问题。由于网络宽带限制,不同云之间或云与本地之间的的数据迁移可能成为瓶颈,建议预先将数据上传到云端,S3甚至允许用户邮寄硬盘以上传数据。
(3)数据处理问题。云环境下的应用程序通常采用MapReduce 编程框架,利用Hadoop Streaming 组间可以简单处理一些面向批处理的任务。数据之间无需相互通信也能得到正确结果。然而,对于复杂计算机任务,无法简单实现其Mapper 和Reducer 或重写算法的时间成本
(4)经济效益、云计算是按使用量付费,花费集中在计算、存储和数据传输三个方面。
4 展望
随着下一代测序、生物质谱和医学成像等医学技术的迅猛发展,人们可以更加深入地剖析疾病的成因,分析药物的有效性和毒性。在通往个性化医疗的道路上,海量数据处理是关键难题。云计算将大量计算资源、存储资源和软件资源虚拟化,形成规模庞大的共享资源池,可有效解决生物医学对IT 资源的弹性需求。目前,国内云计算领域覆盖面广、参与单位多,但仍与国外有相当大差距,不仅缺乏类似EC2的弹性计算服务,也缺乏类似Galaxy 的成熟的生物医学数据分析平台。此外,云计算的服务可靠性、标准化和隐私安全等问题亟待解决。尽管如此,利用云计算解决海量数据处理难题仍是未来发展趋势。
参考文献
[1] Shendure J, Ji H. Next-generation DNA sequencing. Nat Biotechnol, 2008, 26: 1135–1145
[2] Qin J, Li Y, Cai Z, et al. A metagenome-wide association study of gut microbiota in
type 2 diabetes. Nature, 2012, 490: 55–60
[3] Mardis E R. The impact of next-generation sequencing technology on genetics. Trends Genet, 2008, 24: 133
[4] Schatz M C, Langmead B, Salzberg S L. Cloud computing and the DNA data race. Nat Biotechnol, 2010, 28: 691
[5] Gathering clouds and a sequencing storm: why cloud computing could broaden community access to next-generation sequencing. Nat Biotechnol,
2010, 28: 1, doi: 10.1038/nbt0110-1
[6] Rosenthal A, Mork P, Li M H, et al. Cloud computing: a new business paradigm for biomedical information sharing. J Biomed Inform, 2010, 43:
342–353
[7] Re C, Ro A, Re A. Will computers crash genomics? Science, 2010, 5: 1190
[8] Darling A, Carey L, Feng W C. The design, implementation, and evaluation of
mpiBLAST. In: Proceedings of ClusterWorld. San Jose. 2003. 14
[9] Schadt E E, Linderman M D, Sorenson J, et al. Computational solutions to large-scale data management and analysis. Nat Rev Genet, 2010, 11: analysis. Nat Rev Genet, 2010, 11:647–657
[10] Wall D P, Kudtarkar P, Fusaro V A, et al. Cloud computing for comparative genomics. BMC Bioinformatics, 2010, 11: 259
[11] Stein L D. The case for cloud computing in genome informatics. Genome Biol, 2010, 11: 207
[12] Dudley J T, Pouliot Y, Chen R, et al. Translational bioinformatics in the cloud: an
affordable alternative. Genome Med, 2010, 2: 51
[13] Wilkening J, Wilke A, Desai N, et al. Using clouds for metagenomics: a case study. In: IEEE International Conference on Cluster Computing. New
Orleans. 2009. 1–6
[14] 郝彤, 马红武, 赵学明. 云计算在生物技术领域的应用. 数学的实践与认识, 2012, 24: 117–123
[15]Rackspace Cloud Computing. OpenStack open source cloud computing software. 2012, http://www.openstack.org/
[16] Dean J, Ghemawat S. Mapreduce: simplified data processing on large clusters. Commun Acm, 2008, 51: 107–113
[17]Isard M, Budiu M, Yu Y, et al. Dryad: distributed data-parallel programs from sequential building blocks. ACM SIGOPS Operating Systems
Review, 2007, 41: 59–72
[18] Yang H C, Dasdan A, Hsiao R L, et al. Map-reduce-merge: simplified relational data processing on large clusters. In: Proceedings of the 2007
ACM SIGMOD International Conference on Management of Data. Beijing, 2007, 1029–1040
[19] Ghemawat S, Gobioff H, Leung S T. The google file system. ACM SIGOPS Operating Systems Review, 2003, 37: 29–43
[20] Borthakur D. The hadoop distributed file system: architecture and design. Hadoop Project Website, 2007, 11: 21
[21] Schwan P. Lustre: building a file system for 1000-node clusters. In: Proceedings of the
Linux Symposium 2003, Ottawa, 2003, 401 –408
[22] Rackspace Cloud Computing. OpenStack open source cloud computing software. 2012, http://www.openstack.org/