生物信息系统设计实现与BioJava开发BioJava开发
3710167@qq.com.cn
内容提要
生物信息系统设计实现BioJava开发BioJava开发
建立生物信息系统的基本流程
需求分析
框架和平台选择
测试发布
业务设计
编程实现
生物信息系统样例
需求分析
了解项目的真正需求根据需求确定要使用的技术以PBmice为例:PBmice为例:
关键需求包括:Insert,关键需求包括:Insert,Line,Phenotype,gene等,分别仔细了解每个部分的详细情况,掌握它们之间的关系。提供的功能包括:简单查询、高级查询、统计信息、GBrowse显示、BLAST、帮助。信息、GBrowse显示、BLAST、帮助。
需求分析
Insert包括的信息:插入名称、插入位置、Insert包括的信息:插入名称、插入位置、插入方向、插入染色体号、DNA样品信息、插入方向、插入染色体号、DNA样品信息、Construct信息、品系、插入序列等Construct信息、品系、插入序列等Line包括的信息:line名称、毛色、line的Line包括的信息:line名称、毛色、line的状态Phenotype包括的信息:Hetero/Homo、Phenotype包括的信息:Hetero/Homo、stage、organ/tissue、图像、录像、资料等。stage、organ/tissue、图像、录像、资料等。
需求分析
简单查询:用户提供一个关键词对Insert、Line、简单查询:用户提供一个关键词对Insert、Line、Phenotype、Construct等的表进行查询Phenotype、Construct等的表进行查询高级查询:用户可以根据染色体和基因组起始位置、line的stage、phenotype等组合
查询数据库置、line的stage、phenotype等组合查询数据库统计信息:根据染色体位置和Insert在基因组上的统计信息:根据染色体位置和Insert在基因组上的位置信息产生饼状图和柱状图GBrowse:显示小鼠基因组所有gene和所有GBrowse:显示小鼠基因组所有gene和所有Insert的位置和相关性Insert的位置和相关性BLAST:根据用户输入的序列查询所有Insert的BLAST:根据用户输入的序列查询所有Insert的序列
业务设计
业务设计是对需求的提炼,把需求转变为开发人员可以进行开发的业务流程图,以PBmice为例,把Insert,Line,PBmice为例,把Insert,Line,Phenotype等需求提取出的信息设计成数据Phenotype等需求提取出的信息
设计成数据库中的表,设计它们之间的关系。
业务设计
简单查询设计
InsertLine用户PhenotypeStrainInAll简单查询方法数据库
业务设计
业务设计
高级查询
关键字chromosome用户Organstagephenotype高级查询方法数据库
业务设计
MP-PBmice:Taskformappingthe:insertionalmutationsontothemousegenome
ExperimentalProcedureFlowproduction
FromPBmicetoMP-PBmiceMPIntegratedinformationofPBinsertionalmutationsandtheircharacterizationsinmice:PBmice(NAR,2008vol.36,Http://www.idmshanghai.cn/PBmice)Http://www.idmshanghai.cn/PBmice)Dailybook-keepingandinformationbookexchangebetweenexperimentalgroupsforthemappin
gprocedure:MP-PBmiceMP-
StrictAccessControl
WorkFlowControl
技术选择
数据库系统开发语言
JAVA语言(J2EE体系架构)JAVA语言(J2EE体系架构)Perl语言Perl语言
PHPASP&;ASPXCGI
技术选择
JAVA语言(J2EE)的优点JAVA语言(J2EE)的优点
面向对象可移植性安全性健壮性并发机制……
技术选择
Java与Java与C语言的区别
优点
Java语言来源于CC++和VC++语言Java语言来源于C、C++和VC++语言Java增加了虚拟机Java增加了虚拟机Java去掉了CJava去掉了C语言中的“指针”相对于C语言,Java是面向对象的相对于C语言,Java是面向对象的Java语言特别适合开发网络应用程序Java语言特别适合开发
网络应用
程序 缺点
执行效率方面,Java没有C执行效率方面,Java没有C语言高在基于操作系统编程方面,Java语言没有C在基于操作
系统编程方面,Java语言没有C语言方便
技术选择
Java原文件(java)把java编译成class字节码(class)虚拟机把class解释成所在操作系统的执行码Java虚拟机
Windows
……
Linux
Unix
技术选择
基于JAVA平台的中间件基于JAVA平台的中间件
Struts(web层)Struts(web层)Spring(服务层)Spring(服务层)Hibernate(数据映射)Hibernate(数据映射)
数据库
MySQL数据库MySQL数据库
发布系统的操作系统
Linux或Linux或Unix
开发环境
Eclipse
网络服务器
Tomcat
技术规定
软件名称JavaMysql数据库My
sql数据库MyEclipseTomcatStrutsspringhibernate版本6.0update15.0.246.0.16.0.131.3.51.2.83.2.3
编程实现
根据数据库中的表和表之间的关系生成数据访问对象(Data据访问对象(DataAccessObject)和对象Object)和对象数据库映射文件(hbm),该步骤使用数据库映射文件(hbm),该步骤使用hibernate来完成数据从关系数据库到业务hibernate来完成数据从关系数据库到业务对象的映射使用spring作为服务层,控制数据库的事务使用spring作为服务层,控制数据库的事务和依赖注入。使用struts作为
web层,展示数据给用户使