(物理电子学专业论文)基于java和xml的系统生物学可视化建模系统.pdf_第1页
(物理电子学专业论文)基于java和xml的系统生物学可视化建模系统.pdf_第2页
(物理电子学专业论文)基于java和xml的系统生物学可视化建模系统.pdf_第3页
(物理电子学专业论文)基于java和xml的系统生物学可视化建模系统.pdf_第4页
(物理电子学专业论文)基于java和xml的系统生物学可视化建模系统.pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

(物理电子学专业论文)基于java和xml的系统生物学可视化建模系统.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华中科技大学硕士学位论文 摘要 分子生物学领域的进步,基因组及相关计划的进展,使得生物学研究的重点逐渐 从分子水平转移到系统水平,系统生物学应运而生。生物体内成千上万的蛋白质参与 信号处理,构成了一个及其复杂的生物化学反应网络,使得我们很难阐明系统的结构 和动力学特性。因此,需要一个强大的建模软件来帮助生物学家构建生化反应网络模 型,并通过仿真软件来分析系统的运行机制。而现有的建模和仿真软件都存在一些不 足之处,比如操作不够方便,建立的模型无法得到共享和重用等。 本文提出了一种基于j a v a 和x m l 的系统生物学建模系统b i o d e s i g n e r 的设计和 实现。b i o d e s i g n e r 提供了友好的可视化的用户界面,使得系统生物学研究者能够方便 地完成生化反应网络的建模工作。系统以直观的图形化方式显示网络,可以帮助生物 学家清楚地理解网络的结构;而建立的模型采用了系统生物学标记语言来进行描述, 所以能够在其它软件工具之间得到有效的共享和交换,以利用这些工具对模型进行仿 真和计算。 b i o d e s i g n e r 建模系统还实现了同一些常用的仿真和计算软件的整合与协作。本文 利用b i o d e s i g n e r 有效地建立了个最小钙振荡模型,并利用多种工具进行仿真,从 而验证了模型的正确性和系统的实用性。 在系统的设计过程中,我们采用了面向对象的程序设计思想,以及j a v a 结合x m l 的技术路线,从而保证了系统具有良好的通用性和可扩展性。我们可以不断地修改和 扩充b i o d e s i g n e r 建模系统,以适应系统生物学研究的新的需求。 关键词:系统生物学面向对象建模j a v a x m l 华中科技大学硕士学位论文 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 一一- a b s t r a c t r e c e n tp r o g r e s so fg e n o m i c sa n do t h e rr e l a t e dp r o j e c t sh a v ee n a b l e du st o o b t a i n m a s s i v ea m o u n t s o f b i o l o g i c a ld a t af r o ml i v i n gs y s t e m sa n dl e dt ot h ee m e r g e n c ea n d r a p i d d e v e l o p m e n t o f s y s t e m sb i o l o g y s y s t e m sb i o l o g ya i m su n d e r s t a n d i n gb i o l o g i c a lo r g a n i s m s a saw h o l es y s t e mi n s t e a do fi s o l a t e dc o m p o n e n t s a l i v i n gs y s t e mc a nb ev i e w e da sa c h e m i c a lr e a c t i o nn e t w o r k , b u tt h es t r u c t u r e sa n db e h a v i o r so f b i o l o g i c a ls y s t e m s a r eo f t e n s oc o m p l e xt h a ti ti sd i f f i c u l tt o a n a l y z et h ed y n a m i c so fal i v i n gs y s t e m t h e nt h e u t i l i z a t i o no f c o m p u t a t i o n a ls t u d i e s s u c ha sm o d e l i n ga n ds i m u l a t i o n , w i l lb ea ni m p o r t a n t m e t h o di ns y s t e m sb i o l o g yr e s e a r c h a p o w e r f u lm o d e l i n gs o f t w a p a c k a g ec a r le f f e c t i v e l yh e l pu sc o n s t r u c tm o d e l so f b i o c h e m i c a ln e t w o r k s h o w e v e r , c u r r e n tm o d e l i n gt o o l sh a v es o m el i m i t a t i o n s ,s u c ha st h e l a c ko fc o n v e n i e n c ea n di n t e r o p e r a b i l i t yo fm o d e l sc o n s t r u c t e db yt h e m w h i l eo u r m o d e l i n gs y s t e m b i o d e s i g n e r , o f f e r s a s i m p l eg r a p h i c l l s e ri n t e r f a c e , w h i c ha l l o w su s e r st o s p e c i f yam o d e l ag r a p h i c a ln e t w o r k a n dm o d e l sc o n s t r u c t e db yb i o d e s i g n e rc a nb e e x p o r t e di na nx m l - b a s e dc o m m o nf o r m a t , t h es y s t e m sb i o l o g ym a r k u pl a n g u a g e ,s o t h e yc a n b et r a n s f e r r e da n ds h a r e di nd i f f e r e n ts o 胁a r ep a c k a g e sa n do p e r a t i o ns y s t e m s d u r i n g t h ed e s i g na n di m p l e m e n t a t i o no fb i o d e s i g n e r , w em a r cl l s e o fo b j e c t m o d e l i n gt e c h n i q u ea n dr e l a t e dt e c h n i q u e s ,a n di m p l e m e n t t h ea p p l i c a t i o nw i t hj a v aa n d x m l ,w h i c h m a k e so u r s s y s t e mp l a t f o r m - a n da p p l i c u t i o n - i n d e p e n d e n t am i n i m a lm o d e lf o r s i g n a l - i n d u c e d c a 2 + o s c i l l a t i o n si s c o n s t r u c t e dw i t h b i o d e s i g n e r a n dt h e nc a l c u l a t e dw i t ho t h e rt o o l s ,a n dt h i sd e m o n s t r a t e s t h e p r a c t i c a b i l i t y o f b i o d e s i g n e r k e yw o r d s :s y s t e m sb i o l o g y , o b j e c t o r i e n t e d , m o d e l i n g , j a v a , x m l u 华中科技大学硕士学位论文 1 1 系统生物学的发展 1 绪论 近年来分子生物学和信息技术的迅速发展,使得我们可以获取生物体方方面面的 海量数据【1 1 1 2 1 1 3 1 ,生物领域系统水平的研究可以直接建立在分子水平如基因、蛋白质的 基础上,从而诞生了一个新兴的生物学研究领域一一系统生物学。系统生物学从系统 水平对整个生物体进行研究,通过对生物体系统结构和动力学特性的理解,进行建模、 仿真,进而预测、控制甚至设计生物系统【4 】。 从系统水平来理解生物体由来已久。1 9 4 8 年,控制论的创始人n o r b e rw e i n e r 就 已经提出从系统层次对生物体进行理解【5 】。生物体是由器官、组织、细胞进而各种分 子组成的庞大而复杂的系统,不同层次之间的信息紧密耦合,生命的特性往往体现于 整体而不是各个分离的部分。尽管对基因和蛋白质的研究仍然重要,但是目前生物学 的面临的主要任务,是对系统结构与动力学的研究,希望能够彻底理解各种物质之间 的相互作用;它可以使我们对疾病的机理、细胞信号的处理甚至大脑的功能都有更深 入的了解。传统生物学研究从各个层次分别采用生物化学、分子生物学、细胞生物学、 生理病理学等方法,研究生物体不同层次各个部分的结构与功能,忽略了各部分之间 的相互关系,因而难以获得对生物系统的完整理解。而系统生物学从基因、分子、细 胞、组织、器官、进而到生物体水平,建立坚实的知识结构,跨越多个层次研究整个 生物系统,而不是局限于细胞或生物体中各个孤立的部分,所以克服了传统生物学研 究手段的缺陷,能够真正揭示生命活动的本质。 为了从系统层次理解生物学,我们必须研究生物体的结构、功能和动力学特性, 而不是生物体各个孤立部分的特性嗍。作为新的生物学研究方向,系统生物学的基本 特点在于:1 ) 建立在分子生物学的基础上;2 ) 从系统水平来理解生物体;3 ) 基于模 型进行生物学研究 7 1 。系统生物学以系统方法将不同的测量数据整合起来,针对要研 究的问题建立模型,利用模型深入了解系统的结构、功能和行为。 系统生物学研究范围极其广泛,至少需要以下四个关键领域的研究:( 1 ) 分子生 物学研究;( 2 ) 高精度综合测量技术:( 3 ) 系统动力学分析;( 4 ) 计算机科学如仿真、 华中科技大学硕士学位论文 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 一 高性能计算以及软件工具的研究8 1 。分子生物学研究将提供全部的基因、蛋白质信息。 高精度综合测量技术获取生物体行为在时间与空间上全面的数据集。系统动力学分析 研究生物系统动态行为,充分理解其稳定性、鲁棒性背后的机制。面对生物体这个复 杂系统,以及研究中产生的海量数据,科学家难以直观理解和操作,计算机及相应软 件技术则提供了辅助分析、建模仿真等有效研究手段。 系统生物学研究的进展,不仅会对相关基础学科起到巨大的推动作用,而且将对 医药、卫生等产业产生巨大的影响。由于系统生物学将生理现象、病理现象建立于精 确的模型基础上,而不依赖于经验现象,所以被认为是药物发现的技术平台,对医疗、 制药具有深远的意义。系统生物学的研究巨大的科研、产业前景已经引起了各国政府、 科研以及商业公司的广泛关注【9 】。现在生命科学的研究已经自觉或不自觉地采用系统 生物学的研究方法,融入到系统生物学的研究范围中来。如美国国家资源仿真中心提 出的生理组( p h y s i o m e ) 计划【l 们,美国国家能源部提出的基因组到生命( c r c n o m e s t o l i f e ,g t l ) 计划【i l l ,日本e r a t o 研究组提出的系统组( s y s t o m e ) 计划嘲,日本丰 桥工学院提出的视觉神经信息学( n e u r o i n f o r m a t i c sr e s e a r c h i nw m i o n ,n r v ) 计划【1 2 】 等等。 1 2 建模和仿真在系统生物学中的意义 建模和仿真工具的研究在系统生物学中有着重要的地位【l ”。 系统生物学的根本目标是从系统水平获得对生命的理解。辨识生物体的结构,了 解各个组成部分的结构以及相互之间的关系,是对生物系统深入了解的开始。然而, 生物系统结构行为十分复杂,直观的理解已经不可能【1 4 1 ;生物体众多的状态变量不可 观不可控。也使得我们难以通过实际的生物实验来分析系统的结构和动力学特性。生 物体复杂性的特征,使传统的理论研究方法( 如求解方程、统计分析) 都显得无能为 力。作为理论与实验方法外的第三种研究手段,计算机建模和仿真等技术越来越受到 系统生物学研究人员的重视【1 5 1 。 系统生物学是理论、计算模型和实验的共同协作和综合,而建模和仿真是系统生 物学中最重要的研究手段之。如图l - i 所示,系统生物学研究人员通过实验中获取 的生物学知识,建立起能够反应实际闯题的生物体的模型,把模型转化为微分方程组 等描述的数学模型,并用计算机仿真,根据仿真结果来指导实验,进而修正模型。通 2 华中科技大学硕士学位论文 过对模型的研究,可以帮助我们来获得对生物系统的理解,预测生物系统的动态行为 1 6 】。基于模型的定量化研究,可以帮助生物学家精确地控制实验参数和开展实验,从 而发现新的知识,提高对生命活动内在规律的认识水平。通过对比来自模型的和真实 生物体的研究结果,不仅可以极大地减少生物实验的次数和成本,促进实验生物学的 发展,提高研究的效率,而且将给修正、调整模型提供知识【1 7 l 。 l e x p e r i m e n t a ld a t a i = = = l b i o c h e m i c a lm o d e l i 下一可一 i c o m p u t e rs i m u l a t i o n l := = = = 】l m 劬e m 砒i c a lm o d e l l 图1 - 1 麓模和仿翼 f i g 1 - 1m o d o l l n ga n ds i m u l a t i o n 计算机技术的发展,带来了建模技术的巨大进步。生物学家在计算机上建立模型 并对模型进行研究,大大提高了运算能力和研究效率,为研究复杂的生命现象提供了 强有力的手段。从2 0 世纪4 0 年代起,生物学家就已经开始采用计算机进行生化反应 网络模型的仿真【1 3 】,而当前计算机性能的巨大提高使得我们能够进行更大规模的建模 和仿真运算。计算机技术的使用已经成为生物学研究中不可缺少的一部分,各种建模 和仿真软件被广泛地应用于生物体各个层次的计算和模拟,比如分子细胞层次的能量 代谢、信号转导、基因表达与调控,组织器官层次的心脏、微循环、肺的生理、病理 特征等。通过代谢网络、基医调控网络等的仿真来辅助药物设计的工作也已经开始【1 9 】。 1 3 问置的提出 面对生物体这个复杂的系统,系统生物学研究者必须借助于计算机建模和仿真等 手段,以研究生物体的结构、功能和特性。为了在细胞内生物化学反应的基础上解释 细胞功能,我们必须知道所有参与反应的物质以及物质之间进行的反应。一个强大的 建模软件包,能够有效地帮助生物学家构建代谢通路口0 】、信号转导网络口、基因调控 网络【2 2 1 等生化反应模型,并给出整个网络的直观图示,从而大大提高了建模和仿真的 效率。 目前国外已经有一些生物学的建模和仿真工具,比如g e p a s i t 2 3 l 2 4 1 ,k i n s i m 2 飘, 华中科技大学硕士学位论文 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 一 m i s t f 2 6 】,m c t a m o d e l 【2 7 】,s c a m p 2 舯,e - c e l l 2 9 j ,b e s t k i t 3 0 l ,j a r n a c 0 1 ,j d e s i 衄e 一引, a c e l l u j j 等。然而,上述软件都或多或少存在一些不足之处: ( 1 ) 绝大多数软件都缺少一个可视化的建模界面,建模操作大多通过文本格式 输入,使用起来不是很方便,也不能直观地看到网络结构。而全面的可视化的展示网 络的结构,可以有效地帮助系统生物学研究人员直观地理解各种物质和反应之间的相 互关系,有助于研究的开展【3 4 1 。 ( 2 ) 上述软件几乎都只能在w i n d o w s 操作系统下运行,限制了研究人员在l i n u x 、 u n i x 等平台下的使用,不具有通用性,给实际应用带来许多不便。 ( 3 ) 大多数软件建立的模型,使用的都是自己独有的格式,软件之间互不兼容, 缺乏互操作性,模型无法得到有效地共享和重用。尽管许多开发者致力于使其软件全 能,但目前仍然没有一个软件包能够满足系统生物学研究者所有的需求d 5 i 。而且,单 一的软件包的开发速度远远无法跟上对各种各样软件工具的需求。在可以预见的将 来,系统生物学研究人员还需要继续使用多个软件包来完成他们的研究工作。这样, 研究者就不得不手工为每个工具进行模型编码,既浪费时间,又容易出错p 6 】。另一方 面,随着系统生物学的飞速发展,研究者迫切地希望能够将研究结果作为计算模型来 进行交流,而不是传统的方框图和公式描述。他们还希望能够重用已经发表的、成熟 的模型作为库的组件来进行更大规模的工作。这些都要求一个软件包实现的模型与其 它软件是兼容的。因此,研究者对软件工具之间能够相互交换和重用模型的要求越来 越强烈。 1 4 本文的主要研究内容 本文针对系统生物学研究的需要,详细讨论了用系统生物学标记语言( s y s t e m s b i o i o g ym a r k u pl a n g u a g e ,s b m l ) 1 3 6 】来描述生化反应网络模型的方法,并提出了一 种基于j a v a 和x m l 的可视化建模系统- - - - b i o d e s i g n e r 的设计和实现,有效地解决了 现有系统生物学建模软件的弊端。b i o d e s i g n e r 系统提供了一个友好的图形化用户界 面,能够帮助研究人员直观方便地建立起生化反应网络模型。同时,系统建立的模型 可以采用s b m l 进行描述,从而达到了同其他软件工具交换和共享模型的目的。系统 采用面向对象的方法进行设计和实现,因此具有良好的可扩展性和可维护性,也保证 了我们可以随着系统生物学研究的进展,不断为b i o d e s i g n e r 建模系统增加新的特性 4 华中科技大学硕士学位论文 和功能。 概括起来,本文的研究内容主要包括以下几个方面: ( 1 ) 探讨了b i o d e s i g n e r 建模系统的体系结构,提出用j a v a 和v i l 相结合的技 术路线和面向对象的设计方法; ( 2 ) 介绍了系统生物学中的建模技术,以及如何用s b m l 来描述生化反应网络 模型; ( 3 ) 采用面向对象的设计方法分析和设计系统的各个模块,并用j a v a 和旺 语言对各个模块进行了实现; ( 4 ) 介绍了b i o d e s i g n e r 建模系统的操作和使用方法,并利用系统有效地描述了 一个最小钙振荡模型; ( 5 ) 实现系统同j a m a c 、m a t l a b 、m a t h e m a t i c a 等多种计算和仿真工具的整合和 协作,利用这些工具对系统建立的最小钙振荡模型进行计算和仿真,验证了模型的正 确性和系统的实用性。 本文的内容和组织结构如图l - 2 所示。 图l - 2 本文主要内容及组织结构图 f i g i - 2m a j o r c o n t e n t sa n df r a m e w o r k o f t h i st h e s i s 2 系统的体系结构分析 本章分析了b i o d e s i 弘e r 建模系统的实现要求,提出了基于j a v a 和) 0 沮。的技术 路线,并提出采用面向对象的设计方法来设计和实现b i o d c s j 驴e f 建模系统,使得系 统具有良好的通用性、可扩展性和可维护性。 2 1 b i o d e s i g n e r 的实现要求 我们对现有的系统生物学建模和仿真工具的优缺点进行了认真的研究和分析,并 同部分系统生物学研究人员进行交流,从而获取了正确的系统需求,最终确定了系统 应完成的功能、系统的表现形式等。b i o d e s i g n e r 建模系统应该符合如下要求: 2 1 1 系统生物学通用建模工具 b i o d e s i g n e r 是为系统生物学量身定做的套建模系统,广泛适用于系统生物学 中代谢通路、信号转导、基因调控等生化反应网络模型的建模操作,实用性很强。 b i o d e s i g n v r 的建模功能广泛,编辑功能全面,可以构建任意复杂的生化反应网络模 型。 为了帮助系统生物学研究者有效地构建生化反应网络模型,系统为建模操作提 供了一系列的快捷方式,对常用命令都提供了标准的快捷键,以充分提高建模工作 的效率。系统提供的复制和粘贴功能,使得用户可以方便地对模型的一部分甚至整 个模型进行复制,在建立包含重复结构的模型时十分方便。在这些模型中,相似的 物质、反应等组件可能多次出现,因此用户只需要简单地复制并粘贴重复的部分就 可以了,大大提高了建模的效率;同时,也便于重用已有的模型作为网络结构的一 部分,来建立更加复杂的模型。系统具有不限次数的撤销( r e d o ) 和重做( u n d o ) 功能,使得用户在操作失误时可以反悔到任何一步,十分方便。同时,系统提供了 包括完整性检验等智能化的、行之有效的方法,以确保模型的正确性,减少了建模 过程中的人为错误。 2 1 2 友好的用户界面 现有的各种成功的软件工具,无一不提供了友好的用户界面,b i o d e s i g n e r 也 华中科技大学硕士学位论文 需如此a 作为面向系统生物学研究应用的建模系统,b i o d e s i g n e r 建模系统采用了 用户最熟悉的g u i ( g r a p h i c su s e r i n t e r f a c e ) 图形化用户界面,系统的操作十分直 观和方便。而可视化的交互式的建模方式,克服了基于文本方式的建模过程需要学 习编程语言、使用困难等问题,为b i o d e s i g n e r 的实用化发挥了积极的作用,系统 生物学研究者不需要经过培训就能够操作系统。用户只需要通过点击菜单、按钮, 以及进行一些简单的图标式拖放( d r a g a n d d r o p ,d & d ) 操作,就能够方便地建 起生化反应网络模型。网络以图形方式显示,可以给生物学家更为直观的感觉,帮 助他们更好地理解网络的结构。此外,系统还能够以树状形式显示网络的全部内容, 十分方便。 b i o d e s i g n e r 的国际化支持,允许用户在多种语言环境下使用,并且可以自由切 换语种,使得系统可以方便地适用于各国生物学家。另一方面,b i o d e s i g n e r 在人性 化方面也提供了很好的功能。用户可以按照自己的喜好,设置界面的显示风格、背 景色等。 2 1 3 良好的可扩晨性和开放性 生物学研究不断进步,计算机技术也在不断发展。b i o d e s i g n e r 系统应该能够 不断扩充其功能,持续地注入最新的技术。这就要求系统具有良好的可扩展性和开 放性: ( 1 ) 系统是开放源代码的( o p e ns o u r c e ) ,所有人都可以自由获得b i o d e s i g n e r 的源代码,并可以对获得的程序代码进行修改。这样任何人都可以参与系统的开发, 提出错误报告和错误修正,有利于更快更好地为系统解决漏洞和增加新特性,从而 保证了系统的不断进步。 ( 2 ) 在系统的设计和实现过程中,应当按照可扩展的要求来考虑系统的架构 和设计,保证系统功能可以方便地得到扩展。 ( 3 ) 为了在不同的仿真与分析工具之间方便地交换和共享模型b i o d e s i g n e r 采 用基于x m l 的s b m l 语言来描述模型。这样,系统所建立的模型可以在不同的系统、 不同的开发语言之间方便地得到共享和重用,使得研究者可以把更多的时间用于实际 研究而不是解决数据格式的问题。同时,x m l 的可扩展性,使得我们既可以不断改 进s b m l 标准以便为模型增加新的特性,满足生物学新知识的需要:又可以保证 华中科技大学硕士学位论文 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 一: 对原有数据的兼容,保护用户的资源和利益。 ( 4 ) 建模和仿真是不可分割的。系统应当雏够同其它仿真和计算工具相连接和 集成,以扩大系统的应用范围:包括同仿真软件j a r n a c 、数值计算软件m a f l a b 和符 号计算软件m a t h e m a t i c a 的整合,以便利用这些工具对系统建立的模型进行计算和仿 真。 ( 5 ) 系统具有平台独立性,便于在w i n d o w s 、u n i x 、l i n u x 等多种操作系统和 硬件平台间移植,为系统的广泛应用创造了良好的条件。 2 2j a v a 结合x m l 的技术路线 b i o d e s i g n e r 采用j a v a 和x m l 相结合的开发模式,使得整个系统具有良好的通用 性。 2 2 1j a v a 在s u nm i c r o s y s t e m s 公司出版的技术白皮书中,对j a v a 是这样定义的:“j a v a 是 一种具有简单、面向对象、分布式、解释型、健壮、安全、体系结构中立、可移植、 高性能、多线程和动态等各种特性的语言”。正是因为有了以上众多的特点,作为新 一代的面向对象的程序设计语言,j a v a 自1 9 9 5 年诞生以来,迅速发展成为应用最广 泛的开发语言之一。 j a v a 语言的设计集中于对象及其接口,提供了简单的类机制以及动态的接口模 型。对象中封装了它的状态变量和方法,实现了模块化和信息隐藏:而类则提供了一 类对象的原型,通过继承和重载机制,子类可以使用或者重新定义父类所提供的方法, 从而实现代码的复用。 可移植性是我们选用j a v a 来开发b i o d e s i g n e r 建模系统的主要原因。j a v a 为编程 提供了一种平台无关的语言。j a v a 解释器生成与体系结构无关的字节码,在任何带有 j a y a 虚拟机( j a v av i r t u a lm a c h i n e ,j v m ) 的软件和硬件条件下,都能运行已编译过 的字节代码,并得到同样的运行结果。用j a v a 开发的系统,一般不需要对代码做任何 修改即可平滑地移植到其它系统上,其移植工作几乎为零。j a v a 语言的可移植性带来 的跨平台特性,大大减少了系统对用户原有软硬件设备的依赖性,使整个系统具有良 好的平台适应性。 华中科技大学硕士学位论文 = = = = = ;= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 一 图2 - ij a v a 虚拟机( j v m ) 机制 f 皓2 - it h e a r c h i t e c t u r eo f j a v av i r t u a lm a c h i n e 2 2 2x m l 可扩展标记语言x m l ( e x t e n s i b l e m a r k u pl a n g u a g e ) 是w 3 c 提出的一种能够以 统一的格式描述信息的文本语言。和h t m l 一样,x m l 也是从标准通用标记语言 ( s g m l ,s t a n d a r dg e n e r a l i z e dm a r k u p l a n g u a g e ) 所衍生出来的一种简化格式。但是 与h t m l 提供了一组预定义好的标记集合不同,x m l 具有可扩展的特性。x m l 是 s g m l 的一个简化了的子集,在减少了s g m l 的复杂性的同时,保留了s g m l 的可 扩展性、结构性和可校验性等优点,非常适合于各种信息数据交换的需要。尽管x m l 的相关技术仍然处于开发和标准化的过程中,但是已经得到了目前绝大部分公司和组 织的全力支持。 x m l 是一种元语言( m e t a = l a n g u a g e ) ,x i v l l 不是提供了固定的标记,而是提供了 一套规则,用户利用这个规则来定义自己的标记和文档结构。这样,各个不同的行业 可以根据自己的需要制定其领域特定的一套标记,作为该领域信息共享与数据交换的 基础,比如化学标记语言c m l ( c h e m i c a lm a r k u pl a n g u a g e ) 和数学标记语言m a t _ h m l ( m a t h e m a t i c a lm a r k u pl a n g u a g e ) p 7 1 。良好的数据存储格式、可扩展性、高度结构化、 便于网络传输是x l v l l 的四大主要特性。 x m l 文档由x m l 元素组成。每个x m l 元素都由开始标签、结束标签和标签之 间的数据构成。x m l 允许元素的嵌套,因此在描述数据内容的同时能体现出数据之 华中科技大学硕士学位论文 间结构上的关系。x m l 的结构化特征,所有的信息按照特定的关系排列,使得可以 利用它建立有任何复杂层次的数据模型,包括面向对象的等级层次。而x m l 的自定 义性和可扩展性,保证了我们可以不断对它进行扩充和改进。此外,x m l 独立于任 何软件和硬件,可以在多种平台上使用,用多种工具进行解释,为我们提供了一种在 不同的应用间交换数据的最佳方法。即使软硬件条件发生了变化,x m l 数据不需要 做任何修改就仍然可以使用,从而大大简化了数据交换,增强了应用之间的互操作性。 所以,x m l 技术一出现就展现出其在数据存储和交换领域的显著优势,迅速成为一 个与平台和厂商无关的统一的信息数据表达格式标准。 x m l 的结构极其严格,通过严格的结构校验防止出现非法结构和内容,比如起 始标签和结束标签必须匹配,元素必须严格嵌套等等。同时,x m l 可以通过d t d ( d o c u m e n tt y p ed e f i n i t i o n ,文档定义类型) 、s c h e m a 等辅助文件来校验其中所包含 的数据的类型、数据之间的关联等的合法性。这样,在使用x m l 文件作为数据交换 格式时,可以保证数据的正确性,使得文件能够被准确地解析,提高了系统的健壮性。 2 2 3j a v a 和x m l 榴结合 j a v a 和吡已经成为目前最流行的软件开发的标准语言,同时二者其有良好的 互补性,具体如下: ( 1 ) x m l 采用统一字符编码标准( u n i c o d e ) 。j a v a 平台对u n i c o d e 标准的支持 使得它能很容易地处理国际性的x m l 文档,而不需要在二者之阊进行字符格式的转 换。 ( 2 ) j a v a 平台绑定了x m l 的解析器,从而为开发者处理x m l 提供了个高效 的环境,所以目前几乎所有的x m l 工具使用的都是j a v a 语言。 ( 3 ) j a v a 支持面向对象的编程方式,使得开发者可以创建层次结构的j a v a 对象。 而x m l 文档本身是一种由不同层次节点组成的结构。这种特点使得数据更适宜于用 面向对象格式来存储,同时也有利于面向对象语言调用x m l 应用程序接口访问x m l 节点。 ( 4 ) j a v a 和x m l 都是一种独立于软件和硬件环境的语言。j a v a 为我们提供了一 种完全可移植的应用软件解决方案,而x m l 提供了一种完全可移植的数据格式,这 两种技术结合而建立的应用也将具有莨好的可移植性a 华中科技大学硕士学位论文 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 一= 因此,b i o d e s i g n e r 建模系统采用x m l 来表达数据( 用s b m l 来描述生化反应网 络模型) ,j a v a 语言来开发应用程序和实现x m l 处理器。j a v a 和x m l 的结合,为 b i o d e s i g n e r 建模系统带来了良好的通用性、可扩展性和可维护性。 2 3 面向对象的设计方法 b i o d e s i g n e r 采用面向对象的技术进行系统设计,以对象建模为基础,建立和具体 实际相对应的软件对象,并通过这些对象的组合来创建具体的应用系统,从而保证程 序的可重用性、可扩展性和可维护性。 2 3 1 面l 句对象设计思曩 面向对象技术是软件技术的一次革命,在软件开发史上具有里程碑的意义。面向 对象方法把客观世界看成是由许多相互协作而又彼此独立的对象所组成。每种对象都 有其自身的内部状态和改变其状态的运动规律,对象之间相互通讯的唯一方式是消息 传递。不同对象的相互联系和相互作用就构成了各种不同的系统,并进而构成整个客 观世界。 对象( o b j e c t ) 是面向对象设计的核心概念,是建立面向对象的程序的基本单元。 关于对象这一概念,目前还没有统一的定义。一般认为,对象是包含现实世界物体特 征的抽象实体,是具有相同状态的一组操作的集合。对象的状态用数据集来表示,称 为对象的属性( p r o p e r t y ) :对象的行为用程序代码来实现,称为对象的方法( m e t h o d ) ; 并把这些数据和代码封装在一个实体中p 钔。采用了面向对象的设计方法后,我们以最 稳定的成份一对象作为构成系统的基本单元,而把容易变化的成份方法和属性 封装在对象之中。属性和方法的变化主要影响到对象的内部,只通过有限的对外接口 对外部发生影响,从而有效地限制了一处修改对其他对象和整个系统的造成的影响。 每个对象都是某个类( c l a s s ) 的实例。类是具有数据结构和行为的对象的集合。 类可以看作抽象数据类型的具体实现,它反映了与应用有关的性质,而忽略了非本质 的内容。一个对象的类定义了对象是怎样实现的,同时也定义了对象的属性和方法的 实现。所有的类构成一个通过继承关系相联系的层次结构,子类可以从比它高的父类 继承得到父类定义的所有属性和方法,并对其进行修改或扩充以满足新的要求。 典型的面向对象程序具有封装、继承和多态等特性。封装是对数据的隐藏,外界 华中科技大学硕士学位论文 只能通过对象提供的方法来访问或修改数据,这样降低了数据被任意修改和读写的可 能性,提高了程序的健壮性和可维护性。继承是面向对象程序的重要特点,提高了代 码的重用率。多态允许不同类的对象对同一消息做出响应,使得面向对象程序对外呈 现出强大的处理能力。 面向对象设计思想的具有传统设计思想所不具备的众多先进机制和优异特性: ( 1 ) 把客观世界看成是许多对象更接近人类的自然思维方式。面向对象的设计 方法,将系统按照功能的不同分解为许多子系统模型,使得开发软件的方法与过程尽 可能接近人类认识问题和解决问题的思维方式,也增强了程序的可读性。 ( 2 ) 面向对象的方法在应付需求的变化方面有较好的弹性。它把系统中不容易 变化的部分设计为对象,作为系统的基本组成单位。而把容易变化的部分,作为方法 和属性封装在对象的内部,所以能够较好的处理系统的规模和复杂性不断增加所带来 的问题,增强了系统的可扩充性。 ( 3 ) 用面向对象的方法设计的类,可以通过继承性使得代码得到很好地复用, 大大提高了系统开发的效率和质量,也降低了系统的规模。 ( 4 ) 封装性将数据和方法的实现细节对外界隐蔽,封装使得应用程序的修改带 来的影响更加局部化。对象是一个独立的单元,只通过消息传递对其他对象发生有限 的影响,程序易于修改、扩充,降低了系统开发和维护的难度。 面向对象方法通过引入对象、类、方法、继承、封装等一系列概念,为我们认识 和模拟客观世界,设计实现大型软件系统奠定了坚实的基础,使得我们可以构造出模 块化的、可熏用的软件系统。 生化反应网络建模系统是一个大型的复杂的系统,如果按照传统的面向结构的建 模方法,将整个系统视为一个整体来考虑,建模工作将非常复杂,而且以后要增加和 修改功能都将给用户和开发人员带来很大的难度。而面向对象的设计方法把功能和数 据看作是高度统一的,对象的独立性、封装性和多态性都有助于代码的重用,所以适 用于建立庞大、复杂的软件系统。 2 3 2 用面向对象方渍设计t 曩系统 利用面向对象的设计方法来构建系统的主要过程如图2 - 2 所示。首先同用户进行 交流,获取正确的系统需求,确定系统应完成的功能、系统的表现形式等a 然后应用 华中科技大学硕士学位论文 面向对象的设计思想进行系统分析,针对系统要解决的问题域建立相应的问题模型, 并根据科学知识和实际经验不断改进模型。接下来我们仔细地划分系统的各个部分, 明确它们之间的层次关系,将系统分解成对象集合,确定各个对象的属性、方法和接 口等。随后进行编码,把面向对象的设计结果转变成面向对象的代码组件。最后由开 发人员和用户一起对系统进行测试,确认系统是否完成了用户的实际需要。 图2 2 面向对象的分析和设计过程 f i g 2 - 2t h eo b j e c t - o r i e n t e d a n a l y s i sa n dd e s i g n w i t hb i o d e s i g n e r s y s t e m 在建立模型的过程中,需要从系统的不同角度和层次,将系统划分为若干的子系 统。各个子系统之间相互关联,组合起来就构成了完整的系统。我们按照实现功能的 不同来划分对象,利用面向对象的设计方法,把具有相同功能的对象统一设计为一个 模块,不同功能的部分设计成独立的模块。由于采用了模块化,系统中的任何一个子 功能的改变都只需改变相应的子模块,而无须对其他模块进行修改,方便了系统的维 护和扩展。 整个系统可以分为模型组件和u i ( u s e ri n t e r f a c e ) 组件两大部分,分别封装在 b i o m o d d 和b i o u i 包( p a c k a s e ) 内。模型组件主要负责实现跟生化反应网络模型相 关的功能,而u i 组件则主要负责实现系统的用户界面和相应的操作功能。对于每个 模块对象,我们又将其分为一些小的子模块,建立相应的子模型对象a 我们将在第四 章中详细讨论各个子模块的具体实现。 图2 - 3 系统的包结构 f i g 2 - 3t h e p a c k a g es a - u c t u r eo f b i o d e s i g n e rs y s t e m 在确定了模型子对象以后,下一步是理清每个子模型对象的数据结构( 或属性) 华中科技大学硕士学位论文 和行为( 方法) ,也就是每个子模型对象要实现什么功能,以及为了实现这些功能, 需要哪些方法和属性。为了使模型简化,应当尽量精简模型的属性和方法,保证方法 的可重用性。 最后,利用j a v a 语言,将上述的各个子对象实现为相应的类。在设计过程中我们 遵循以下原则。 ( 1 ) 封装原则:通过封装来实现可继承与重用的功能模块。接口的实现细节应 该封装在类的内部,对于类的用户来说,只需要知道类对外部的公有方法,而不需要 知道其实现细节。另一方面,我们根据各个对象功能的不同,将其划分为不同的层次, 并封装在不同的包里。 ( 2 ) 独立原则:组件之间是相互独立的,不同组件之间通过合作完成工作。组 件是一个独立的封装体,与外部只有很少的联系。 ( 3 ) 最简原则:每个模块的功能应该单一,拆分过大的类和作用截然不同的对 象,减少方法的长度。 ( 4 ) 弱耦合原则:应当尽量降低一个类同其它类的依赖性。高耦合度的系统是 很难维护的。对一个地方的修改可能会引起一处甚至多处的变动。而b i o d e s i g n e r 系 统以x m l 数据流为核心来构建各个模块,大大降低了系统内各模块之间的耦合度。 ( 5 ) 安全原则:对数据的封装原则应该规范化,不要把一个类的属性直接暴露 给其它类。为了保护对象内部数据的安全,除了需要同其他对象交互的属性和方法设 置为公有的( p u b l i c ) 以外,应当尽可能多地使用私有的( p r i v a t e ) 和保护的( p r o t e c t ) 类型。p r i v a t e 只允许对象内部的元素来访问,p r o t e c t 可以接受对象内部和继承类的元 素访问。此外,尽量将类和方法声明为f i n a l 以防止系统外的代码扩展类,使类不可克 隆和不可序列化等做法,为系统提供最大的安全性。 2 4 小结 由于b i o d e s i g n e r 系统采用j a v a 幕lx m l 相结合的技术路线,使得系统具有良好 的通用性,可以在不同的平台和软件之间方便地交换和共享模型。同时,采用面向 对象的方法设计系统,使得系统具有良好的可重用和可扩展性,易于修改、扩充和 维护。 华中科技大学硕士学位论文 3 系统生物学中生化网络的建模技术 建模对于系统生物学研究有着重要的意义。目前生物学研究的重点已经从研究生 物体的物质结构转变为研究各个组成部分之间的相互动态关系上来。通常生物体被视 作一个化学反应网络( b e a d l ea n dt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论