收藏 分享(赏)

基因数据库分析系统的设计与实现.doc

上传人:wo7103235 文档编号:6264766 上传时间:2019-04-03 格式:DOC 页数:71 大小:5.55MB
下载 相关 举报
基因数据库分析系统的设计与实现.doc_第1页
第1页 / 共71页
基因数据库分析系统的设计与实现.doc_第2页
第2页 / 共71页
基因数据库分析系统的设计与实现.doc_第3页
第3页 / 共71页
基因数据库分析系统的设计与实现.doc_第4页
第4页 / 共71页
基因数据库分析系统的设计与实现.doc_第5页
第5页 / 共71页
点击查看更多>>
资源描述

1、本 科 毕 业 论 文基因数据库分析系统的设计与实现Design and Implementation of Gene Database Analysis System姓 名:学 号:学 院:软件学院系:软件工程专 业:软件工程年 级: 指导教师: 教授年 月摘 要生物信息学是当前的研究热点,它是由生命科学、计算机科学、信息科学和数学科学等学科交汇融合所形成的一门交叉学科。要分析生物信息学中的大量数据并找出它们之间的隐含规律,数据挖掘是目前最有效的数据分析手段。在生物序列分析和临床医学数据分析中,数据挖掘技术有着非常广阔的前景。基因数据库分析系统以生物序列数据库和临床医学数据库管理系统为基础,

2、并在数据库管理系统之上添加部分生物序列分析功能和临床数据关联规则挖掘功能。其中,临床医学数据库管理与分析系统由中山医院与厦门大学软件学院合作开发。作者及其项目组共同参与了项目的开发。本文将对基因数据库分析系统的框架和功能做出介绍,详细描述作者本人的主要工作内容,并对系统进行展示。基因数据库分析系统是以 J2EE 为开发环境,并在 Struts、Spring 和 Hibernate 三个架构的基础上来实现系统的开发,包括 Web 界面的开发、业务编码的实现等。系统采用 JSP 和 JavaScript 语言相结合的设计来开发多用户界面,利用 Struts 完成页面导航。此外,系统用 Hibern

3、ate 完成数据的持久化工作,并通过 Spring 来管理业务层的JavaBeans,将 Struts 和 Hibernate 两层良好的结合起来。关键词:生物序列;临床数据;数据挖掘Design and Implementation of Gene Database Analysis SystemAbstractNowadays, Bioinformatics is one of the hottest research topics, which is an interdisciplinary combines Bioscience, Computer Science, Informati

4、on Technology, Mathematics and so on. As one of the most powerful tools for data analysis, Data Mining is prevalently applied for mining knowledge out of large amount of data. In the research of biological sequence and clinical data, great promise can be seen for application of Data Mining.Gene Data

5、base Analysis System is based on the DBAS of biological sequence and clinical data, and it joined a new module to analyze biological sequence. The clinical database and analysis system is a project developed with the cooperation between Zhong Shan Hospital, Xiamen and Software School of Xiamen Unive

6、rsity. As one member of the develop team, the author introduced the design and framework of the system, elaborated the detail work, including the implementation, results and so on.Based on the J2EE environment and the architectures of Struts, Spring and Hibernate, the system were implemented, such a

7、s web UI, business and so on. The system used the combination of JSP and JavaScript to develop the web UI, and let Struts to implement all the navigation. Furthermore, the system adopted Hibernate for the persistence of data, and managed JavaBeans on Business Layer through Spring, which connected th

8、e Struts layer and Hibernate layer.Key words: Biological Sequence; Clinical Data; Data Mining目 录第一章 绪论 11.1 项目背景及意义 11.2 现状与存在的问题 21.2.1 DNA 数据库现状 21.2.2 蛋白质序列数据库现状 31.2.3 临床数据库的现状 31.2.4 本系统的现状 31.3 主要工作内容及特色 51.4 本文结构 6第二章 基因 数据库分析系统的设计 72.1 系统框架设计 72.1.1 功能框架 82.1.2 技术架构 92.2 数据库设计 122.3 系统模块设计 1

9、62.3.1 系统管理管理模块 162.3.2 DNA 序列数据库管理模块 202.3.3 蛋白质家族管理模块 212.3.4 临床 数据库管理模块 222.4 小 结 23第三章 基因数据库分析系统的实 现 243.1 开发流程 243.2 系统管理 263.3 DNA 序列数据库管理 283.4 蛋白质家族管理 303.5 生物序列分析模块 323.6 系统集成 343.7 小结 39第四章 总结与展望 40参考文献 42致谢 44第一章 绪论1CONTENTSChapter 1 Introduction.11.1 Background and Significance11.2 Curre

10、nt Situation and Problems.21.2.1 DNA Database .21.2.2 Protein Sequence Database 31.2.3 Clinical Database .31.2.4 The Status of the System31.3 Contents and Tasks 51.4 Architecture of Thesis6Chapter 2 Design of Gene Database Analysis System .72.1 Framework Design .72.1.1 Functional Framework .82.1.2 T

11、echnical Architecture .92.2 Database Design .122.3 System Module Design.122.3.1 System Management Module.162.3.2 DNA Sequence Database Management Module202.3.3 Protein Family Management Module.212.3.4 Clinical Database Management Module 222.4 Summary.23Chapter 3 Implementation of Gene Database Analy

12、sis System 243.1 Program Flow .233.2 System Management 243.3 DNA Sequence Database Management283.4 Protein Family Management.303.5 Protein Family Pattern Mining Module.323.6 Integration of Gene Database Analysis System.323.7 Summary.34Chapter 4 Conclusions and Future Work 40References42Acknowledgeme

13、nts .44第一章 绪论1第一章 绪论1.1 项目背景及意义生物信息学(Bioinformatics)是生命科学、计算机科学、信息科学和数学等学科交汇融合所形成的一门交叉学科 1,是当前的研究热点。随着基因组研究的进展与生物技术的发展,生命科学数据呈爆炸式增长,迫使人们寻求强有力的数据分析工具 2。数据挖掘 3是目前最有效的数据分析手段,用于发现大量数据所隐含的各种规律。在生物序列分析中,数据挖掘技术有着非常广阔的前景,对于提高数据处理能力、产生有价值的生物学知识起着重要作用。在数据挖掘领域中 ,关联规则(Association rule 4)是一个应用较为广泛的研究方向。两个或多个变量的取

14、值之间存在某种规律性,如“同时发生” 或“从一个对象可以推出另一个对象” ,就称为关联 5。关联规则挖掘就是通过关联分析找出数据库中隐藏的知识,利用这些知识可以根据已知情况对未知问题进行推测。关联规则挖掘是数据挖掘领域的一个重要技术,近年来,在基因表达数据分析上得到广泛应用 6。利用关联规则挖掘从基因表达数据中揭露不同基因或同一基因在不同环境下的相关联系,以帮助鉴定致病基因。生物序列模式 7通常对应着生物序列中重要的功能(或结构)元素。例如,由于进化等目的对基因进行复制产生大量的连续的重复序列称为重复片段(Tandem Repeats),这种模式同它们的生物功能一样不能被完全理解,但是,它们被

15、确定在基因组织和进化上起着重要的作用;同一个蛋白质家族中的所有序列或大部分序列中包含着在进化过程中比较保守的区域,形成特定的序列模式,它们对于蛋白质的结构和功能是非常关键的;共表达基因序列上游区域包含着在进化过程中表现更为保守的区域,形成特定的序列模式,它们是一类重要的功能序列,能够调控基因的表达。因此,发现这些重要的生物序列模式对开展蛋白质家族分析、转录调控分析、基因组注释、非编码区功能元素识别等研究具有重要的意义。生物序列模式挖掘的目的就是在生物序列中寻找基因数据库分析系统的设计与实现2这样的序列模式,是识别基因及功能元素进而预测生物序列功能和解释序列间相互关系等的一种关键技术。但是,当前

16、的较多的工作是对 DNA8910,RNA,蛋白质等基因数据中序列的挖掘。而对于根据临床特征以及病理资料分析出基因与病症之间的关联规则 1112的研究还相对较少,这方面的数据也相对比较匮乏。本课题基于这样的背景,提出基因序列数据库与临床数据库的设计与实现。1.2 现状与存在的问题目前,数据挖掘技术在生物序列模式挖掘中的应用已经相对成熟,网络上可以找到世界各大组织搭建的生物序列数据库。事实上,欧美等发达国家在生物信息方面已有较长时间的积累,基因数据库与蛋白质家族数据库都已发展得相当完善。在各个一级数据库的基础上又发展、建设了许多二级数据库,方便学者、专家研究使用;国内虽然已经开始逐渐重视该领域的发

17、展,但是与国外差距仍然比较明细。临床医学数据库方面,由于其数据库本身发展不够完善,网络上基本上找不到相应的网络资源。数据匮乏的情况下,导致了数据挖掘在临床医学数据的应用上也受到了不小的限制。在欧美发达国家,各方面受到病人资料隐私权的限制,发展也相对缓慢;国内也尚处于起步阶段。1.2.1 DNA 数据库现状EMBL13是欧洲生物信息研究所创建的一个核苷酸序列数据库。EMBL 的数据来源主要有两部分,一部分由科研人员或某些基因组测序机构通过计算机网络直接提交,另一部分则来自科技文献或专利(Stoesser 17等, 1998)。EMBL 与 DDBJ14、GenBank 16建有合作关系,他们分别

18、在全世界范围内收集核酸序列信息,每天都将新发现或更新过的数据相互交换。此外还有美国国家生物技术信息中心 NCBI (National Center for Biotechnology Information )建立的 DNA 序列数据库 GenBank16以及 DDBJ14(DNA Data Bank of Japan)等 DNA 数据库,他们之间部分互相合作,互相交互数据,共同维第一章 绪论3护全球的 DNA 数据库。现在,DNA 数据库的规模正在以指数方式增长,平均不到 9个月就增加一倍 17。1.2.2 蛋白质序列数据库现状蛋白质序列的搜集比 DNA 早,蛋白质序列数据库的雏形可以追溯到

19、上个世纪 60年代。这方面做得比较好的有:蛋白质序列数据库 PIR18、序列数据库 PIR18、序列数据库 PIR18以及美国的 NBRF18、日本的国际蛋白质信息数据库 JIPID18(Japanese International Protein Information Database)和德国的慕尼黑蛋白质序列信息中心 MIPS (Munich Information Center for Protein Sequences )合作成立的国际蛋白质信息中心 PIR International。另一个重要的蛋白质序列数据库则是 SwissProt 19。该数据库由瑞士日内瓦大学于 1986

20、年创建,目前由瑞士生物信息学研究所(Swiss Institute of Bioinformatics,简称 SIB)和欧洲生物信息学研究所 EBI 共同维护和管理。PIR 和SwissProt 是创建最早、使用最为广泛的两个蛋白质数据库。1.2.3 临床数据库的现状与生物序列数据库的蓬勃发展相比,临床数据库的发展显得道路坎坷。首先,数据获取比较有难度。一般来说临床数据的直接来源是医院,这就需要与医院达成合作意向。医院也在必须征求病人及家属同意之后才能将这些数据用于研究建库。其次,出对病人隐私的考虑,搭建成功的数据库不能向外界公开,各家闭门造车,无法通过合理、适当的交流与合作来加快、促进临床数

21、据库的建设。这也是导致目前网络上生物序列数据库繁多,而临床医学数据库寥寥无几的原因。在数据和数据库方面受到了限制,这也进一步限制了数据挖掘技术在临床数据中的应用,阻碍其发展。1.2.4 本系统的现状系统的需求一部分是来自厦门大学中山医院的一个课题项目,该项目的工作是希望根据已获取的各个部位癌症的临床数据和基因切片数据,利用数据挖掘的关联规则基因数据库分析系统的设计与实现4挖掘方法在基因和临床病症及病理资料之间找到某些关联或其他有价值的信息 。在这个数据库及其分析系统中,配合本课题中其他研究人员,根据他们提出的算法实现数据库管理与分析系统。课题组希望以该项目作为起点,在关注于数据挖掘技术在生物序

22、列分析的应用的同时,着手于数据挖掘在临床数据中的应用与研究。本项目实现的系统将为后续的研究工作提供数据支持与其他服务。事实上,欧美等发达国家在生物信息方面已有较长时间的积累。从数据库的角度来讲,早在 60 年代,美国就建立了手工搜集数据的蛋白质数据库。美国洛斯阿拉莫斯国家实验室 1979 年就已经建立起 GenBank 数据库,欧洲分子生物学实验室 1982 年就已经提供核酸序列数据库 EMBL 的服务,日本也于 1984 年着手建立国家级的核酸序列数据库 DDBJ 并于 1987 年开始提供服务。从网络资源来看,国外互联网上的生物信息学网点非常繁多,大到代表国家级研究机构的,小到代表专业实验

23、室的都有,大型机构的网点一般提供相关新闻,数据库服务和软件在线服务,小型科研机构一般是介绍自己的研究成果,有的还提供自己设计的算法的在线服务,总体而言,基本都是面向生物信息学专业人士,各种分析方法虽然很全面,但却分散在不同的网点,分析结果也需专业人士来解读。目前,绝大部分的核酸和蛋白质数据库由美国,欧洲和日本的 3 家数据库系统产生;他们共同组成了 DDBJ/EMBL/GenBank 国际核酸序列数据库,每天交换数据,同步更新。其他一些国家,如德国,法国,意大利,瑞士,澳大利亚,丹麦和以色列等,在分享网络共享资源的同时,也分别建有自己的生物信息学机构,二级或更高级的具有各自特色的专业数据库以及

24、自己的分析技术,服务于本国生物(医学)研究和开发,有些服务也开放于全世界。国内对生物信息学领域也越来越重视,在一些著名院士和教授的带领下,在各自领域取得了一定成绩,有的在国际上还占有一席之地,如北京大学在生物信息学网站建设方面,中科院生物物理所在 EST 序列拼接方面以及在基因组演化方面,天津大学在 DNA 序列的几何学分析方面,中科院理论物理所,清华大学,内蒙古大学等等;北京大学于 1997 年 3 月成立了生物信息学中心,中科院上海生命科学研究院也于第一章 绪论52000 年 3 月成立了生物信息学中心,分别维护着国内两个专业水平相对较高的生物信息学网站,但从全国总体上来看与国际水平差距很

25、大。1.3 主要工作内容及特色本项目与中山医院合作,立足于临床数据库与基因数据库的管理系统,并且在这个项目的基础上,实现对临床数据和肿瘤基因的关联规则挖掘,DNA 序列模式挖掘以及蛋白质家族挖掘的分析功能。主要的工作内容有:1. 生物序列数据库的设计与创建:生物序列数据库分为 DNA 序列数据库和蛋白质家族数据库,根据 fasta 序列文件的格式,并结合后续生物序列分析系统的需要设计而成;2. Web 界面开发:用 HTML 语言开发出系统的 web 界面,并作为原型进一步理解需求;3. 业务编码实现:以 web 界面为出发点,由界面驱动来编写功能点。具体包括系统管理、DNA 序列数据库的管理

26、和蛋白质家族数据库的管理等;4. 生物序列分析模块:将文献提供的生物序列挖掘算法整合入本项目系统中;5. 系统测试、维护与部署:完成系统的测试与维护,保证系统的健壮与可用性,最后完成部署工作。在项目中,本人负责除生物序列模式挖掘算法实现、临床医学数据库设计与创建外的所有功能模块的开发、编码工作。本项目完成的基因数据库分析系统,将是一个成熟的软件。系统的特点包括良好的界面,直观简单的功能导航,以及能够方便的管理临床数据、基因序列数据和蛋白质家族数据。在数据准备充分的情况下,可以对数据进行挖掘、分析。并且,由于它具有良好的可扩展性,可以继续添加其他的数据挖掘算法。系统目的在于统一对生物序列进行管理

27、,并便于进行算法研究工作。基因数据库分析系统的设计与实现61.4 本文结构本文共分为五章,主要介绍了项目的开发背景、框架设计和开发过程,以及最后系统的结果展示。本文的结构和各章的主要内容如下:第一章 绪论,主要结束本项目的来源和背景资料、现行系统存在的情况以及项目的工作内容,并对本文的结构进行概述。第二章 基因数据库分析系统的系统设计,系统的结束本系统的框架和功能。首先,对系统的框架进行简要的说明。然后,针对系统各个模块进行展开。并进一步说明开发的内容和开发流程。最后给出了系统的开发平台。第三章 基因数据库分析系统实现,详细介绍工作流程中各部分任务的开发与实现,主要包括系统管理、DNA 序列数

28、据库管理、蛋白质家族数据库管理以及生物序列分析模块等。第四章 基因数据库分析系统集成,这一章节中,本文将展示和说明项目的开发成果。第五章 总结与展望,对本文和项目开发结果进行概述和总结,并提出进一步改进的计划。第二章 基因数据库分析系统的设计7第二章 基因数据库分析系统的设计良好的系统设计是一个项目成功、顺利开发的基础和开端。为待开发的系统设计一个优秀的系统设计框架,是保证系统的功能全面、可行以及具有良好的可扩展性的必要条件。在本章中,我们将重点介绍基因数据库分析系统的系统功、技术框架、数据库设计,并且针对每个功能模块进行扩展。系统框架设计基因数据库分析系统框架设计这部分内容,包含了系统的功能

29、框架和技术框架两个方面。系统的功能模块的运作,建立在 SSH(即 Struts20, Spring21, Hibernate22)技术框架的基础上,由用户触发功能点,通过 SSH Framework 24 25对数据库进行管理,如图 2.1 所示:图 2.1 系统框架图客户通过客户终端浏览器向应用程序框架发送请求,引发底层的应用程序框架与上层的具体应用程序交互。交互的结果产生数据改动,具体的应用程序再通过系统框架将数据改动写入数据库中。系统的开发以及编码工作,按照功能框架中所列出的各个功能模块来进行开发。应用程序建立在 SSH 应用框架的基础上,与数据库和用户客户端进行交互。基因数据库分析系统

30、的设计与实现82.1.1 功能框架本系统将是实验室中,用来管理临床数据库、基因序列数据库和蛋白质数据库的工具,并方便于其他研究人员进行后续的研究、开发工作。它可以用来存储网络上其他生物信息数据库里的公共生物序列信息,存储与中山医院的合作项目里特定的临床数据信息,并进行简单的分析与统计工作。系统要求具有良好的扩展性,能极大地方便对数据进行管理和研究工作。系统的主要功能包括:系统管理、用户管理、临床数据库管理、DNA 序列数据库管理、蛋白质家族序列数据库管理和序列模式挖掘子系统,如图 2.2 所示:基因数据库分析系统系统管理 临床数据库管理 D N A 数据库管理 蛋白质家族管理用户增删改权限设置

31、用户登录临床数据查询数据增删改统计与分析D N A 查询D N A 序列增删改蛋白质家族查询家族增删改生物序列分析系统图 2.2 系统功能框架图由图 2.2 可以看出,本系统可以分为如下几个功能模块:1. 系统及用户的管理实现对用户的管理,包括添加新用户、删除老用户等。通过用户权限对用户进行分类,不同权限的用户将查看到不同的数据库;2. 临床数据库管理模块实现对临床数据的增加、删除、修改以及查询等常规的数据库管理功能,以及对临床数据的简单分析、统计;第二章 基因数据库分析系统的设计93. DNA 序列数据库管理模块实现对 DNA 序列数据的存储、修改及查询功能,方便 DNA 序列数据的存储、查

32、找与提取;4. 蛋白质家族管理模块实现对蛋白质序列数据的增加、删除、修改、查询等常规数据库管理操作,便于后期研究应用;5. 生物序列分析模块实现项目组提出的算法,完成生物序列分析功能。生物序列模式挖掘分析模块是李晟提出的算法实现所得。该模块具有可扩展性,可以添加新的算法来分析数据库中的序列数据。其他几个模块属于基础功能模块,系统管理里面包含用户管理,可以修改用户的基本资料。管理员可以设置其他用户的试用权限,赋予不同类型的用户能满足其需要的功能。用户登录之后,将根据其权限,显示不一样的导航栏内容,杜绝越限操作的出现。2.1.2 技术架构在软件架构设计中,我们往往建立软件系统的高层结构,常常用到分

33、层架构模式。分层模式是一种将系统的行为或功能以层为首要的组织单位来进行分配(划分)的结构模式。一般情况下,层内的元素只信赖于当前层和之下的相邻层中的其它元素。业务层 持久层D A O C l a s s e sU I L a y e rS t r u t s M V CS t r u t s a c t i o nA c t i o n F o r mJ S Pe t c表现层S e r v i c e d i s p a t c hD o m a i n m o d e l b u s i n e s s o b j e c t sB u s s i n e s s L a y e rS p

34、 r i n gT r a n s a c t i o n sH i b e r n a t e S e s s i o n M a n a g e m e n tH i b e r n a t eD a t a s o u r c eC o n n e c t i o n p o o lQ u e r y l a n g u a g eA n d o t h e r h i b e r n a t e s u p p o r tP e r s i s t e n c e基因数据库分析系统的设计与实现10图 2.3 Struts-Spring-Hibernate 框架的说明图如大部分的 Web

35、 应用,基因数据库分析系统采用 MVC25 (Model-View-Controller) 架构,在职责上能被分成 4 层:表示层(Presentation Layer)、持久层(Persistence Layer)、业务层( Business Layer)和域模型层( Domain model Layer)。每个层在功能上都十分明确,而且不与其他层混合。每个层都相互独立,通过一个通信接口与当前层和之下的相邻层中的其他元素相互联系。下面将结合本项目用到的 SSH 框架技术,详细地介绍这四层中的表示层、业务层和持久层,说明一下在本项目的系统中,各个层提供了什么。如图 2.3 所示,Struts、

36、Spring、Hibernate 相结合,搭建起系统的框架。各个层次的特点如下:1. 表示层(表现层):一般来讲,一个典型的 Web 应用的前端应该是表示层。在本项目系统里,使用的目前已经相当成熟的 Struts 框架。表示层所负责的内容如下:(1) 管理用户的请求,做出相应的响应;(2) 提供一个流程控制器,委派调用业务逻辑和其他上层处理;(3) 处理异常;(4) 为显示提供一个数据模型;(5) 用户界面的验证。为了符合高内聚的要求,并且降低耦合度,表示层应该不包含如下内容:(1) 与数据库直接通信;(2) 与应用程序相关联的业务逻辑及校验;(3) 事务处理。2. 业务层:一个典型 Web

37、应用的中间部分是业务层或者服务层。从编码的视角来看,这层是最容易被忽视的一层。我们往往在用户界面层或持久层周围看到这些业务处理的代码,这其实是不正确的。因为它会造成程序代码的高耦合,这样一来,随第二章 基因数据库分析系统的设计11着时间推移,这些代码将很难维护。为此,可以通过采用良好的框架来避免这些问题。本项目的系统在这一层采用的是 Spring 框架技术。Spring 致力于“ 依赖注入”(dependency injection)也即 控制反转(Inversion of Control=IoC)这样的简单概念。这里我们将关注于 Spring 的依赖注入和面向方面编程。另外,Spring 把

38、程序中所涉及到的包含业务逻辑和数据存取对象(Data Access Object)的 Objects-例如 transaction management handler(事务管理控制)、Object Factories (对象工厂)、service objects(服务组件)都通过 XML 来配置联系起来。业务层所负责的内容如下:(1) 处理应用程序的业务逻辑和业务校验;(2) 管理事务;(3) 提供与其他层相互作用的接口;(4) 管理业务层级别的对象的依赖;(5) 在表示层和持久层之间增加了一个灵活的机制,使他们不直接联系在一起;(6) 通过揭示从表示层到业务层之间的上下文(Context)

39、来得到业务逻辑(business services );(7) 管理程序的执行(从业务层到持久层)。3. 持久层:典型的 Web 应用的后端是持久层,而开发者总是低估构建他们自己的持久层框架的挑战性。系统内部的持久层不但需要大量调试时间,而且还经常因为缺少功能使之变得难以控制。这是持久层的通病。幸运地是,有几个对象/关系映射ORM(Object/Relation Mapping)开源框架很好地解决这类问题,尤其是Hibernate。本项目在持久层采用的就是 Hibernate。它为 Java 提供了持久化机制和查询服务。Hibernate 的持久对象是基于 POJO(Plain Old Jav

40、a Object)和 Java 集合(Collections )的。持久层所负责的内容如下:基因数据库分析系统的设计与实现12(1) 如何查询对象的相关信息;(2) 如何存储、更新、删除数据库记录;(3) 支持大部分主流数据库,并且支持父表/子表(Parent/child )关系、事务处理、继承和多态。如上所述,Struts 关注于表现层,并提供控制器组成了 MVC 结构里的 V(View)和 C( Controller);Spring 管理业务层的 JavaBeans 与 Hibernate 共同构成M(Model),如图 2.4 所示。V i e wD i s p a t c h e rC

41、 o n t r o l l e rM o d e lC l i e n t刷新视图用户请求用户请求结果执行改变模型J S P 和 S t r u t sS t r u t sS p r i n g 和 H i b e r n a t eS e r v l e t 和 S p r i n g图 2.4 结合 MVC 和 SSH如图 2.4 所示,Dispatcher 负责将客户端发来的请求 URL 映射成命令实例,即Struts 中的 Action。 Action 再与 Model 进行交互,这里的 Model 由一系列的系统后端服务组成,包括 Hibernate 提供的数据库访问等;而 Sp

42、ring 则统一管理 Model 中的系统服务。第二章 基因数据库分析系统的设计13如上所述,系统是基于 SSH 的技术框架构建起来的,具有灵活度强扩展性好和开发效率高等优点。2.2 数据库设计本项目的数据库采用开源的 MySql 存储,可以与 J2EE 项目良好的结合,具有体积小、速度快、总体拥有成本低等特点。本项目的数据库设计如图 2.5 所示:基因数据库分析系统的设计与实现14s o u r c e 1P K S O U R C E _ I DS O U R C E _ N A M ES C I E N T I F I C _ N A M EO R G A N I S M _ N A M

43、 El o c u s 1P K L O C U S _ I DL O C U S _ N A M ES E Q _ L E N G T HM O L E C U L E _ T Y P EC L A S S _ S I G NL A T E S T _ D A T Ef e a _ e l e m e n t 1P K Q u a l i f i e r _ I DQ u a l i f i e r _ N A M EQ u a l i f i e r _ V A L U EF K 1 , I 1 F E A _ I Dr e f e r e n c e 1P K R E F _ I DA

44、U T H O R ST I T L EJ O U R N A LP U B M E DR E M A R KF K 1 , I 1 s e q _ f i l e _ I Do r g a n i s m 1P K O R G A N I S M _ I DO R G A N I S M _ N A M EF K 1 , I 1 S O U R C E _ I Df e a _ l o c a t i o n 1P K L O C A _ I DS T A R TE N DF K 1 , I 1 F E A _ I Dv e r s i o n 1P K R E T R I E V E _

45、I DV E R S I O N _ I DG IP R E _ V E R S I O Na c c e s s i o n 1P K A C C E S S I O N _ I DS E C _ R E T R _ I DS R D _ R E T R _ I DR E T R _ I Ds e q _ f i l e 1P K S E Q _ F I L E _ I DK E Y W O R D SS E Q U E N C E SF K 3 , I 1 L O C U S _ I DF K 2 , I 2 D E F I N I T I O N _ I DF K 4 , I 3 S O

46、 U R C E _ I DF K 1 , I 4 A C C E S S I O N _ I DF K 5 , I 5 V E R S I O N _ I DD E L E T E Dr e f _ n u mf e a t u r e 1P K F E A _ I DN A M EF K 1 , I 1 s e q _ f i l e _ I Dd e f i n i t i o n 1P K D E F I N I T I O N _ I DG E N U SS P E C I E SG E N E _ S O U R C ES O U R C E _ B Gb 1b 2b 3b 4b

47、5p s q u e n c e 1P K p s i dP n a m eS q u e n c eF K 1 , I 1 P I dD e l e t e du s e r 1P K U S E R _ I DP A S S W O R DU S E R _ N A M EU S E R _ R I G H TD e l e t e dp f a m 1P K P i dP f a m I DA c c e s s i o nT y p eD e s c r i p t i o nS q u S u mD e l e t e d图 2.5 数据库关系设计图图如图 2.8 所示是系统数据库关

48、系设计图,USER 表属于系统管理模块,PFAM 和PSEQUENCE 表属于蛋白质家族管理模块,其他各表属于 DNA 序列管理模块。下面将对比较重要的表进行描述。表 2.1 所示的是系统管理模块的 SUER 表:第二章 基因数据库分析系统的设计15表 2.1 用户 USER 表字段名 类型 说明USER_ID INTEGER USER 表的主键USER_NAME VARCHAR 用户名PASSWORD VARCHAR 密码DELETED BOOLEAN 是否已删除PURVIEW INTEGER 权限字段USER_ID 是用户登陆时,可以用来标识用户的唯一字段,由系统自动生成。USER_NAM

49、E 是用户给自己起的用户名,由于不具有唯一性,因此不能用来作为登陆系统的账号。DELETED 字段用来实现“软删除”,该标志位为真的记录被认为是删除掉的,将无法查询到。PURVIEW 字段用来实现用户对数据库的访问权限的设置。它一共有 4 位,第一位为 1 表示是管理员,第二至四位为 1 分别表示对临床数据库、DNA 序列数据库及蛋白质家族数据库有访问的权限。USER 表是系统管理部分的数据基础,在创建完 USER 表之后,我就开始进行JSP 界面的开发和其他编码工作。DNA 序列数据库管理这方面所涉及到的数据库表比较多,鉴于篇幅的关系,这里只展示比较重要的两个。首先要展示的是如表 2.2 所示的 LOCUS 表:表 2.2 数据库 LOCUS 表字段名 类型 说明LOCUS_ID INTEGER LOCUS 表的主键,自动生成LOCUS_NAME VARCHAR 历史上用来标识基因的名称SEQ_LENGTH INTEGER 记录基因序列的长度MOLECULE VARCHAR 记录该基因的分子生物类型LOCUS 表里存储的是这个序列的基本信息,比如名称、序列长度、分子生物类型等等。这些信息本身对数据序列模式挖掘没有什么用处,但是用于 DNA 序

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报