版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PAGE PAGE 本科生毕业论文(设计)题 目: 基因组注释管理系统 目 录 TOC o 1-3 h z u HYPERLINK l _Toc452749272 摘要 PAGEREF _Toc452749272 h HYPERLINK l _Toc452749273 关键词 PAGEREF _Toc452749273 h HYPERLINK l _Toc452749274 Abstract PAGEREF _Toc452749274 h HYPERLINK l _Toc452749275 Key words PAGEREF _Toc452749275 h HYPERLINK l _Toc45
2、2749276 1 绪论 PAGEREF _Toc452749276 h HYPERLINK l _Toc452749277 1.1 研究背景及意义 PAGEREF _Toc452749277 h HYPERLINK l _Toc452749278 1.2 国内外研究现状 PAGEREF _Toc452749278 h HYPERLINK l _Toc452749279 1.3 研究目的和内容 PAGEREF _Toc452749279 h HYPERLINK l _Toc452749280 2 基因组注释相关概念及处理技术 PAGEREF _Toc452749280 h HYPERLINK
3、l _Toc452749281 2.1 基因组 PAGEREF _Toc452749281 h HYPERLINK l _Toc452749282 2.2 基因组注释 PAGEREF _Toc452749282 h HYPERLINK l _Toc452749283 2.3 相关数据格式 PAGEREF _Toc452749283 h HYPERLINK l _Toc452749284 2.3.1 fasta文件格式 PAGEREF _Toc452749284 h HYPERLINK l _Toc452749285 2.3.2 gff3文件格式 PAGEREF _Toc452749285 h
4、HYPERLINK l _Toc452749286 2.4 相关数据库 PAGEREF _Toc452749286 h HYPERLINK l _Toc452749287 2.5 功能注释工具Blast PAGEREF _Toc452749287 h HYPERLINK l _Toc452749288 3 开发环境和应用技术 PAGEREF _Toc452749288 h HYPERLINK l _Toc452749289 3.1 开发环境搭建 PAGEREF _Toc452749289 h HYPERLINK l _Toc452749290 3.2 Python语言概述 PAGEREF _T
5、oc452749290 h HYPERLINK l _Toc452749291 3.2.1 Python语言简介 PAGEREF _Toc452749291 h HYPERLINK l _Toc452749292 3.2.2 Python语言特性 PAGEREF _Toc452749292 h HYPERLINK l _Toc452749293 3.3 Django概述 PAGEREF _Toc452749293 h HYPERLINK l _Toc452749294 3.3.1 Django简介 PAGEREF _Toc452749294 h HYPERLINK l _Toc45274929
6、5 3.3.2 Django特性 PAGEREF _Toc452749295 h HYPERLINK l _Toc452749296 3.3.3 MVC开发模式 PAGEREF _Toc452749296 h HYPERLINK l _Toc452749297 3.4 MySQL数据库概述 PAGEREF _Toc452749297 h HYPERLINK l _Toc452749298 3.4.1 MySQL数据库简介 PAGEREF _Toc452749298 h HYPERLINK l _Toc452749299 3.4.2 MySQL与Django的连接访问 PAGEREF _Toc4
7、52749299 h HYPERLINK l _Toc452749300 4 基因组注释系统需求分析与设计 PAGEREF _Toc452749300 h HYPERLINK l _Toc452749301 4.1 系统需求分析 PAGEREF _Toc452749301 h HYPERLINK l _Toc452749302 4.1.1 系统功能需求分析 PAGEREF _Toc452749302 h HYPERLINK l _Toc452749303 4.1.2 系统界面需求分析 PAGEREF _Toc452749303 h HYPERLINK l _Toc452749304 4.2 系
8、统总体设计 PAGEREF _Toc452749304 h HYPERLINK l _Toc452749305 4.2.1 系统总体架构 PAGEREF _Toc452749305 h HYPERLINK l _Toc452749306 4.2.2 数据库设计 PAGEREF _Toc452749306 h HYPERLINK l _Toc452749307 5 基因组注释系统功能实现 PAGEREF _Toc452749307 h HYPERLINK l _Toc452749308 5.1 用户登录模块 PAGEREF _Toc452749308 h HYPERLINK l _Toc4527
9、49309 5.2 分类检索模块 PAGEREF _Toc452749309 h HYPERLINK l _Toc452749310 5.3 增加数据模块 PAGEREF _Toc452749310 h HYPERLINK l _Toc452749311 5.4 删除数据模块 PAGEREF _Toc452749311 h HYPERLINK l _Toc452749312 5.5 更改数据模块 PAGEREF _Toc452749312 h HYPERLINK l _Toc452749313 5.6 Blast比对模块 PAGEREF _Toc452749313 h HYPERLINK l
10、_Toc452749314 5.7 上传文件模块 PAGEREF _Toc452749314 h HYPERLINK l _Toc452749315 5.8 实现总结与界面展示 PAGEREF _Toc452749315 h HYPERLINK l _Toc452749316 6 测试概述 PAGEREF _Toc452749316 h HYPERLINK l _Toc452749317 6.1 软件测试的目的 PAGEREF _Toc452749317 h HYPERLINK l _Toc452749318 6.2 测试过程 PAGEREF _Toc452749318 h HYPERLINK
11、 l _Toc452749319 6.2.1 系统整体运行测试 PAGEREF _Toc452749319 h HYPERLINK l _Toc452749320 6.2.2 上传文件功能测试 PAGEREF _Toc452749320 h HYPERLINK l _Toc452749321 6.2.3 Blast比对功能测试 PAGEREF _Toc452749321 h HYPERLINK l _Toc452749322 6.2.4 分类检索功能测试 PAGEREF _Toc452749322 h HYPERLINK l _Toc452749323 6.3 测试结论 PAGEREF _To
12、c452749323 h HYPERLINK l _Toc452749324 7 总结与展望 PAGEREF _Toc452749324 h HYPERLINK l _Toc452749325 致谢 PAGEREF _Toc452749325 h HYPERLINK l _Toc452749326 参考文献 PAGEREF _Toc452749326 h 基因组注释管理系统摘要:随着测序技术进步和测序成本下降,越来越多的基因组项目得以启动并相继完成,生物领域科研人员对基因组注释信息自动化管理及可视化展示的需求越来越迫切。本文针对基因组注释信息维护和使用的需要,设计并开发了基因组注释管理系统。该
13、系统采用当前流行的MVC设计模式,使用Django技术,利用Python、JavaScript、Html5以及CSS3语言进行开发。它可以利用用户上传的基因组序列和gff3注释文件自动化生成CDS序列、蛋白质序列以及功能注释信息等,并支持Blast序列相似性搜索、基因ID和注释功能关键词搜索。经过测试,该系统性能稳定,能满足用户的基本需求。关键词:基因组注释;基因结构维护;可视化展示;功能注释Genome Annotation Management SystemAbstract: With the progress of sequencing technology and decrease o
14、f the sequencing cost, more and more genome projects were able to be launched and finished. Consequently, there are urgent demands for automatic management and data visualization in genome annotation. In this paper, a genome annotation management system aiming at the need of using and maintaining ge
15、nome annotation information has been designed. This system uses the MVC architectural pattern, Django framework and many other languages such as Python, JavaScript, Html5 and CSS3 to generate coding sequence and protein sequence automatically after the administrator uploads genome sequence and gff3
16、annotation files. Besides, users can use and update these data, run blast and search data via different ways. After testing, this system appears to be stable and convenient, which means it basically meet the requirements of biological scientists.Key words: Genome annotation; Genome structure mainten
17、ance; Data visualization; Function annotation 绪论 研究背景及意义随着二十世纪以来自然科学的迅猛发展,生物科学和计算机信息技术成为两个热点领域。生物信息学是利用计算机科学的技术手段来研究生物学数据的一门学科 REF _Ref452790975 w h * MERGEFORMAT 1。由于测序技术的不断进步与测序成本的不断下降,越来越多的生物被测序。研究人员每测完一个物种的基因组一般都会建立一个网页数据库,全球各地生物信息数据库的数量不断增加,基于数据库的大量研究工作将有所突破 REF _Ref452791100 w h * MERGEFORMAT
18、2。数据量的暴增使得研究人员用手工管理基因组数据变得非常困难。此外,最初注释的基因信息可能存在错误或遗漏的问题,随着实验的推进,研究人员对于基因的认识越来越完善,因此需要不断丰富基因集。目前,生物学家管理基因组数据通常用Linux命令行和编写程序来完成,但大部分的生物学家对编程不熟悉,普通的文本编辑搜索使用不便,科学家对基因组数据的管理难以进行。因此,有必要设计开发自动化的注释管理工具。 国内外研究现状1995年,Owen White设计出了第一套基因组注释软件系统 REF _Ref452791238 w h * MERGEFORMAT 3。如今大多数注释系统与之类似。基因组注释主要是基于相似
19、序列具有相似功能的假设,利用计算机程序与已知功能的核酸或蛋白质数据库如NR、SwissProt、KEGG、GO等进行序列比对,获得未知基因序列的功能信息。目前,一些国际著名的机构如NCBI(National Center for Biotechnology Information)、UCSC(University of California, Santa Cruz)以及EBI(European Bioinformatics Institute)等建立了大型基因组数据库。也有比较小型的单一物种基因组数据库如FlyBase、SilkDB、MonarchBase、DBM-DB和ChiloDB等。这些
20、数据库的共同点是,管理基因集需要专业生物信息人员的参与,一般的生物研究人员很难进行管理。另外,这些数据库或是大型综合型数据库,或是某物种的专有数据库。根据文献检索结果,目前尚无可自动化注释,支持多物种的基因组数据库。 研究目的和内容本系统利用基因组序列fasta格式文件及基因组注释gff3格式文件的基本信息进行自动化基因序列的提取、翻译和功能注释。用户可以在线实现对基因的增删改、序列比对、注释信息搜索等功能。主要内容有以下几方面:自动化构建该系统使得研究人员只需要上传一个物种基因组序列文件和基因组注释文件即可自动化生成一系列衍生序列(如CDS序列、蛋白质序列),研究人员不需要通过手工方式来得到
21、所需的生物数据。通用型数据库不同物种的gff3格式基因组注释文件可能存在差异,该系统可以针对大部分物种的注释文件来构建通用型数据库系统。易于管理的可视化界面基因组数据种类多样且数据量非常庞大,普通文本编辑搜索使用不便。该系统的界面基于用户体验方便进行管理操作。高效率的在线比对序列比对是生物学家常用的一种研究方法,通过与已知功能的基因序列进行比对,找出序列相似的基因,推测未知基因的功能。该系统支持最为常用的Blast比对进行序列相似性搜索。 基因组注释相关概念及处理技术 基因组在生物学中,一个生物体的基因组是指包含在该生物体内的DNA(部分病毒是RNA)中的全部遗传信息。例如人类的基因组通常指的
22、是染色体DNA,尽管其他细胞器官里也包含基因信息,但是这些并不能够算作基因组的一部分。 基因组注释在基因组学中,对基因和其他生物特征的标注称为基因组注释。基因组注释是利用已有的生物信息学工具与方法,通过将未知物种核酸或蛋白质序列与数据库已有内容进行序列比对,来推测未知基因的功能。狭义层面,注释是指把基因在基因组上的位置标记出来,再标记出这个基因所具有的功能。广义上来讲,注释还包括将基因组上别的功能原件进行标记(包括miRNA、IncRNA、重复序列、rRNA等)。起初,有科学家通过实验,证明某个蛋白质序列具有某种功能,之后他人便可以利用这个已经被证实功能的蛋白质序列,将未知功能的基因序列与之进
23、行比对,如果相似性达到一定阈值,就判定这个未知序列也具有相似功能。 相关数据格式 fasta文件格式在生物信息学中,fasta文件格式是一种用来记录核酸或蛋白质序列的文本格式,该格式已成为生物信息领域的一项标准。fasta格式通常由一个“”开始,接下来由标识符、注释描述行和多行序列数据组成。通常规定每一行的内容在80个字母以内。“”紧挨着标识符,这一行剩余的其他部分均为对该序列的描述。标识符和描述可以不存在。序列和序列之间的区分以“”的出现作为标识。小菜蛾蛋白质序列文件部分内容如图2-1所示:图2-1 部分小菜蛾fasta序列 gff3文件格式在生物信息学中,gff是对核酸或蛋白质序列的特征进
24、行描述的一种数据格式。gff3是当前通用的gff注释文件的新标准。文件中的一行是对一个元件的属性描述,由9列组成。以下是各列的说明:reference sequence:注释的目标,例如一个或多个染色体。source:注释的来源。如果为空,则用点“.”代替。type:属性的类型,例如gene,repeat,region,exon,CDS等。start position:属性对应片段的位置起点,从1开始计数。end position:属性对应片段的位置终点,通常大于起点的数值。score:数字,得分,是注释信息的可能性说明。如果为空,用点“.”代替。strand:“”为正链,“”为负链,如果为空
25、,用点“.”表示。phase:属性针对CDS,用来指定下一个密码子的起始位置。attributes:一个包含众多属性的列表,用来对注释信息进行描述。小菜蛾基因组gff3注释文件部分内容如图2-2所示:图2-2 部分小菜蛾gff3注释 相关数据库目前国际已经建立起许多公共分子信息数据库,主要包括核酸序列数据库、蛋白质序列数据库以及一些其他的数据库。这些数据库目前主要由美国、欧洲和日本建立和维护。核酸序列数据库中存储了大量公共核酸序列资源,目前国际上主要的核酸序列数据库是EMBL、GenBank和DDBJ等。除了核酸序列数据库外,还有蛋白质序列数据库。NCBI-RefSeq数据库是一个包括核酸和蛋
26、白质序列的数据库。NR数据库是相对全面的非冗余蛋白质数据库。各具特色的蛋白质组数据库的建立标志着蛋白质组的研究水平,其中最有代表性的是SwissProt数据库 REF _Ref452373736 w h * MERGEFORMAT 4。本系统选择采用SwissProt数据库来对基因组进行功能注释。 功能注释工具BlastBlast是生物信息领域里最通用的序列比对工具之一。在对未知物种基因组的进一步研究中,我们需要把功能未知的基因序列和已知并经过注释的蛋白质数据库进行比对从而得到未知基因的功能注释。它用一个基于序列相似性的算法来比对生物序列的一级结构,精确度高并且运行时间较少,有着比较好的比对结
27、果。如果研究人员发现一个物种的一条未知基因序列,通常会在人类的基因组里做一个Blast比对来确认是否人类包含与之类似的基因。通常我们可以进行核酸序列比对或者蛋白质序列比对,但蛋白质序列比对的结果通常会更加可靠。Blast的命令详解如下:格式化数据库:makeblastdb -in swissprot.fasta -dbtype prot -parse_seqids -out dbname参数说明:-in:待格式化的序列文件。-dbtype:数据库类型,prot或nucl。-out:数据库名。蛋白质序列比对蛋白质数据库(blastp):blastp -query pep.fasta -out s
28、eq.blast -db dbname -outfmt 6 -evalue 1e-5 -max_target_seqs 1参数说明:-blastp:蛋白质序列对蛋白质序列的比对。-query:输入的序列文件。-out:输出的结果文件。-db:格式化之后的数据库路径及数据库名。-outfmt:输出文件格式。-evalue:设置输出结果的e-value值。-max_target_seqs:设置最多的目标序列匹配数,这里我们设为1。 开发环境和应用技术 开发环境搭建该网站设计过程中选择使用Sublime Text3作为编辑环境。Sublime Text3作为一个强大的代码编辑器,其整洁美观的界面,功
29、能强大的文本编辑以及运行速度极快等特点便于开发人员进行快速的开发。鉴于系统的开发语言和数据库,采用如下的开发环境和工具:开发环境:Linux Ubuntu, Python 2.7, Django 1.9开发语言:Python, Html5, CSS3, JavaScript数 据 库:MySQL开发工具:Sublime Text3 Python语言概述 Python语言简介Python是一款面向对象、解释型的计算机语言 REF _Ref452383266 w h * MERGEFORMAT 5。Python于1989年在荷兰诞生,1991年第一个公开版被发行。20世纪90年代末,一些公司如Ya
30、hoo开始用Python设计一些内部的小型项目。21世纪初,Python的一些Web框架如Django被发明出来并开始被广泛使用。2006年之后,国内一些公司如豆瓣开始利用Python进行设计使用。这个语言目前已经成熟且稳定。由于Python具有动态、跨平台、丰富强大的库以及语法简洁清晰等特点,因此吸引了为数众多的开发者。Python的设计哲学是“优雅”,“明确”,“简单”。它除了拥有强大的库之外,还可以调用其他语言所编写的程序 REF _Ref452383251 w h * MERGEFORMAT 6。Python已经成为当今世界上最受欢迎的程序设计语言之一。在大量平台上都得到了极高的认可并
31、且几乎可以在任何一款的操作系统上运行。 Python语言特性免费开源Python的创建者将Python免费开放源码。开发人员可以自由下载每一版本的Python及其扩展包并可以对源码进行修改操作。简单易上手Python具有很强的伪代码特性。编程人员在阅读一段源代码时,就像在阅读英语文章一样。Python字少而精,语法简单,没有复杂的符号。由于结构简单,有助于使开发者专心于实际问题的实现而不需要去考虑编程语言本身的语法细节。解释性和编译性对于Python来讲,交互解释器是最有用的工具之一。它允许使用者检查代码的正确性,并且允许开发者执行不同的操作。可移植性Python适用于任何一个操作系统,甚至L
32、inux系统中内置Python。健壮性和易维护性Python解释器带有异常处理机制,并可以让开发人员不必浪费多余时间和精力在与实际开发无关的项目当中。丰富的类库Python具有非常庞大的标准库,功能齐全。 Django概述 Django简介Django是一个Python写成的开放源代码标准Web应用程序框架,于2005年正式发布。Django前身是用于做新闻快速部署的网络开发平台,如今已是Python的最大Web框架之一,在国内外均被广泛使用。 Django特性 内置网页开发所需要的多种组件Django将多套组件集成在一起,具有很强的易用性,满足开发人员的基本需要。 映射方法去控制数据库对于数
33、据库,Django有自己的一套ORM(对象-关系映射模型)。底层实现都封装在django.db.models中。Django框架默认的数据库是SQLite,支持的数据库还包括PostgreSQL、MySQL等。可以通过简单修改settings.py这一配置文件里的某一变量来切换数据库,同步数据库以及迁移数据库等。 功能强大编码简洁的URL设计Django在URL中使用的是正则表达式。开发人员可以通过URL设计友好的路径和相应的需要处理的函数。 自动化管理界面Django Web框架提供简单实用的管理界面,具有强大的灵活性和可配置性,便于对用户数据进行管理。 强大的开发模式Django为开发人员
34、提供强大开发环境,便于进行快速开发测试。这是一个轻量级的Web服务器。图3-1 Django组件架构图 MVC开发模式在当今,软件架构已经成为判断是否是一个成功的软件系统的决定性因素 REF _Ref452383147 w h * MERGEFORMAT 7。而MVC是一种被广泛使用的软件架构。Django是一个基于MVC架构的框架 REF _Ref452792583 w h * MERGEFORMAT 8。用Django开发应用,可以快速设计和开发具有MVC(模型-视图-控制器)层次的Web应用。但它比MVC模式要更深一步,绝大部分控制层的东西都由Django自动完成,开发人员不需要考虑框架
35、细节而只需要编写极少的代码就可以完成大量的事情。例如在搭建开发环境结束之后,如果要启动一个项目,首先需要创建一个新的Django项目 REF _Ref452792685 w h * MERGEFORMAT 9。使用简单的命令即可完成一个项目的最基本的初始化。MVC(Model-View-Controller,即模型-视图-框架)的设计理念是把数据访问的方法(模型)与请求逻辑(控制器)和用户接口(视图)分离开来。一个数据库模型可以为多个View视图来提供服务 REF _Ref452792738 w h * MERGEFORMAT 10。但是相比较实际意义上的MVC,它略微有些不同。Django的
36、架构被设计成MTV(Model-Template-View)的形式。这种设计模式的最大优势在于每一个组件都是松散结合,开发人员可以对每一部分进行独立更改而不会影响或者干涉到其他部分的使用。例如,开发人员可以更改一个应用程序的URL地址而不会影响到这个程序的底层实现。设计师可以更改前端界面HTML的样式而不用接触到Python代码。管理数据库可以重命名数据表而无需从繁琐的文件中间进行大量的查找和替换。Django收到HTTP请求后,完成下列处理:通过提交用户的浏览器的请求,Django在URL里找到匹配的正则表达式,通过URLconf模块来将用户请求对象传入,之后对应到views.py里的函数。
37、函数可以通过引入models.py里的Model来和数据库里的数据进行交互。最后,Django加载Templates,根据数据生成相应的html页面,返回呈现给用户。Django组件架构图如图3-2所示:图3-2 Django组件架构图 MySQL数据库概述 MySQL数据库简介MySQL是一款开源的关系型数据库管理系统。相比较其他数据库,MySQL有许多优势,例如速度快、体积小以及成本低。该数据库管理系统如今被广泛使用。 MySQL与Django的连接访问Django框架下与MySQL数据库相连需要安装一个Python和数据库交互的包(MySQLdb),之后通过引入这个包来进行一系列的与数据
38、库相关的操作。建立数据库的连接import MySQLdbdb = MySQLdb.connect(localhost, root, kaixin, mygene)cursor = db.cursor()执行数据库操作cursor.execute(sql)mit()关闭数据库连接db.close() 基因组注释系统需求分析与设计 系统需求分析 系统功能需求分析由于测序技术的进步和成本的下降,越来越多基因组被测序。面对海量的基因数据,我们需要为科研人员将基因组注释的整个流程自动化,并进行可视化展示,以便于科研人员对基因组注释进行管理和更新。鉴于此,我们通过分析目前基因组数据的使用现状,根据研究人
39、员的需求及使用情况,结合该框架自身的特点,分析该系统功能需求如下:用户权限该系统分为管理员和游客两个权限。由于该系统是针对单个物种的数据库系统,为维护数据的安全性,系统需要判断用户是管理员还是游客来呈现相应的界面。该系统仅限于管理员对数据进行操作,游客不可对系统数据进行任何更改。上传文件管理员通过上传一个物种的基因组序列fasta格式文件和基因组注释gff3格式文件,来使该系统形成针对一个物种的基因组注释管理系统。系统首先判断两个文件是否符合要求,如果不符合则生成错误。如果符合,则需要为用户展现文件处理之后的基因组数据。生成衍生数据根据管理员上传的文件,为每条基因生成相应的CDS、蛋白质等衍生
40、序列。后台通过用gffread工具处理管理员上传的文件,结果产生CDS序列文件和蛋白质序列文件。之后系统用正则表达式分别提取每个文件当中所需的字段,插入到数据表中进行表之间的关联。对基因进行功能注释基于同源比对,格式化SwissProt数据库。后台用Blast工具将蛋白质序列文件和格式化后的SwissProt数据库进行序列比对。之后,系统需要用脚本文件通过正则表达式提取序列比对后的文件中用户所需的字段,并插入到数据表中进行表之间的关联。在线管理数据由于生物研究人员在进行实验时候可能会发现数据的错误或者纰漏,管理员可以在线对数据进行维护。后台将数据库中的数据表进行关联,修改之后,数据库中数据被更
41、改。基因序列比对用户可以用一条或多条蛋白质序列与系统中的蛋白质序列进行在线比对,来获得所需的基因组注释文件。分类检索研究人员可以根据基因ID或功能注释关键词来进行检索,以便获得相关基因信息来进行后续深入研究。 系统界面需求分析网页由前台和后台系统共同组成。作为一个生物研究人员直接进行交互操作的平台,必须能够使研究人员快速便捷找到他们在意的功能。我们根据系统功能需求来进行系统界面的设计。分析该系统界面设计需求如下:全英界面面向用户不限于中文用户,而是全世界的研究者。如今同类数据库系统大多是全英文界面。导航栏导航栏在所有界面的上方固定展示,合理安排位置。当浏览者访问任何一个界面的时候,都可以通过点
42、击导航上面的目标功能按钮来迅速转换到另一个界面。界面友好网页的设计风格以及颜色搭配要符合该系统的主题,所有字体保持统一。页面应该对用户的关键操作有所提示。通过对本系统主要业务功能的分析,得出的该系统的用例图如图4-1所示:图4-1 系统用例图 系统总体设计 系统总体架构该系统有游客和管理者两个不同的用户角色。管理者可以上传基因组序列fasta格式文件和基因组注释gff3格式文件,之后系统会自动化生成所需的衍生序列来构建整个系统。游客可以将未知基因序列和数据库系统里的序列进行Blast比对,也可以分别根据基因ID和基因组注释的关键词进行分类检索。管理员除了有以上的功能之外,可以对基因组信息及其衍
43、生序列进行增加、删除以及修改等管理维护工作,也可以进行Blast比对。本系统的功能体系结构如图4-2所示:图4-2 系统功能图管理员需要通过登录才可以上传文件从而形成整个数据库系统。管理员成功登录后,上传系统所需要的文件,文件由后台自动处理并且加载成功之后,管理员即可以使用系统其他例如分类检索基因信息、对有纰漏或出错的基因信息进行增删改的操作以及将未知的序列和数据库中已存在的序列进行Blast比对等功能。管理员流程图如图4-3所示:图4-3管理员模块流程图该系统的管理员模块活动图如下:图4-4管理员模块活动图 数据库设计 数据表结构该系统一共有八张数据表,主要的数据表结构如下:用户信息表用户信
44、息表中存放的是用户的基本信息,包括用户名,密码。表4-1 auth_user表字段名类型能否为空注释UsernameVARCHAR(20)否用户名(邮箱)PasswordVARCHAR(20)否用户密码CDS表CDS表中包含从cds.fasta文件中提取的关键信息,包括CDS的ID,CDS的序列。表4-2 CDS表字段名类型能否为空注释seq_idLongtext否CDS的标识符cds_seqLongtext否CDS的序列protein表protein表中包含从pep.fasta文件中提取的关键信息,包括CDS的ID,蛋白质的序列。表4-3 protein表字段名类型能否为空注释seq_idL
45、ongtext否CDS的标识符pro_seqLongtext否蛋白质的序列swiss表swiss表中包含从SwissProt数据库中提取的关键信息,包括SwissProt的ID,SwissProt的每个ID对应的注释。表4-4 swiss表字段名类型能否为空注释swiss_idLongtext否SwissProt数据库标识符swiss_annoLongtext否SwissProt数据库注释seq_blast表seq_blast表中包含Blast比对后产生的seq.blast文件的关键信息,包括用于比对的序列的ID和比对之后的SwissProt序列的ID.表4-5 seq_blast表字段名类型
46、能否为空注释seq_idLongtext否CDS的标识符cds_seqLongtext否CDS的序列 系统ER图通过对本基因组注释系统用户需求和功能需求的分析,可以抽象出本系统需要的数据库实体、实体属性以及对应关系。系统ER图如图4-5所示:图4-5 系统ER图 基因组注释系统功能实现本系统主要由上传文件模块、分类检索模块、基因信息的管理以及Blast序列比对模块四部分组成。 用户登录模块管理员首先需要登录才能进行后续的基因组数据管理操作。系统判断用户名密码是否正确,如果不正确,返回重新登录。若正确,则登录成功,可以进行后续操作。图5-1 用户登录流程图 分类检索模块这里为研究人员提供的检索可
47、以分为两部分。一个是按照基因ID进行检索,一个是根据基因功能注释的关键词进行检索。在数据库中我们可以根据数据表之间的匹配关系来调用所需的相关信息。图5-2 根据基因ID检索流程图图5-3 根据注释关键词检索流程图 增加数据模块如果管理人员想要增加基因的信息,我们在数据库中直接进行增加操作,即可以实现。之后返回结果和显示界面。图5-4 增加数据流程图 删除数据模块如果管理人员想要删除基因的信息,我们删除数据库中相应的数据表的字段,即可实现。之后返回结果和显示界面。图5-5 删除数据流程图 更改数据模块如果管理人员想要对基因的信息进行更改,我们更新数据库中相应的数据表的字段,即可以实现。之后返回结
48、果和显示界面。图5-6 更改流程图 Blast比对模块如果游客或者管理人员想要将一段序列和数据库中已经有的蛋白质序列进行Blast比对,由于后台已经自动格式化已有的SwissProt数据库,所以可以通过Blast工具直接进行在线比对。比对之后返回用户所需要的注释文件。图5-7 Blast比对流程图 上传文件模块管理人员需要首先上传特定物种的文件即可以实现数据库自动化的创建。之后游客和管理员可以进行查看、管理和比对的操作。系统首先需要判断该用户是否是管理员。如果不是,那么不可以进行上传。如果是,判断数据库中是否已经存在基因信息,如果不是,那么不可以进行上传。如果不存在基因信息,管理员需要上传一个
49、物种的基因组注释信息和基因组序列文件,之后系统自动化为这两个文件进行处理。例如通过脚本文件提取需要的字段并插入到数据库中,对CDS序列文件以及蛋白质序列文件进行处理等。图5-8 上传文件流程图 实现总结与界面展示根据需求分析,经过将近一个月的设计和编码,完成了上传文件模块、用户登录模块、在线增删改模块,基本完成了需求分析中设计的功能。 主界面:图5-9 主界面展示图分类检索界面:图5-10 分类检索界面展示图增删改界面:图5-11 增删改界面展示图Blast比对界面:图5-12 Blast比对界面展示图 测试概述 软件测试的目的软件测试的目的,主要是为了确认该系统的质量,发现明显的错误和纰漏,
50、确保系统各个模块能够正常运行。 测试过程 系统整体运行测试 测试步骤在Linux终端输入python manage.py runserver来启动程序。在浏览器的地址栏输入:8000/进入网站。 预期结果启动成功,终端显示可以运行。浏览器成功显示网站主页面。 测试结果通过测试。 上传文件功能测试 测试步骤点击导航栏上传文件按钮。点击上传基因组序列fasta格式文件按钮。点击上传基因组注释gff3格式文件按钮。提交两个文件,等待系统上传。查看基因信息。 预期结果显示上传文件页面。成功显示将要上传的基因组序列fasta格式文件的文件名。成功显示将要上传的基因组注释gff3格式文件的文件名。显示文件
51、上传成功。可以查看基因信息。 测试结果通过测试。 Blast比对功能测试 测试步骤点击导航栏Blast比对按钮。在输入框输入需要比对的序列。提交序列文件。保存结果文件。 预期结果显示Blast比对页面。成功显示输入的序列。提交后出现比对结果文件。成功保存结果文件到本地。 测试结果通过测试。 分类检索功能测试 测试步骤点击导航栏搜索文件按钮。选择要搜索的类型,例如通过基因ID或者是基因功能注释的关键词进行检索。输入基因ID或基因功能注释关键词。提交进行检索。 预期结果显示搜索界面。成功进行搜索并且显示基因信息及基因组的注释。 测试结果通过测试。 测试结论本系统的各项主要功能均顺利实现,可以正常运行。满足用户的基本要求,测试目标基本通过。 总结与展望本课题通过对一般的基因组注释网站进行了业务分析及功能分析,对自动化构建数据库系统等功能进行了详细的设计,较好的满足了用户的实际需求。随着研究的不断深入,我认为还可以从以下几个方面来进一步优化系统:用户上传文件中,如果上传的文件非常大,则系统需要加载的时间会更长。可以进一步提高效率,减少等待时间,更快加载文件。除了使用SwissProt数据库之外,系统还可以增加多个数据库如NR、GO等数据库来进行功能注释,这样可以让用户获得的信息更加全面。由于系统是一次性构建整
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2019-2025年中国医用X射线机行业市场深度分析及发展前景预测报告
- 中国阿奇霉素行业发展前景预测及投资策略研究报告
- 2025年废铁项目投资分析及可行性报告
- 2022-2027年中国支线航空行业市场调研及未来发展趋势预测报告
- 印花扁平绒面料行业市场发展及发展趋势与投资战略研究报告
- 2024-2026年中国有线电视调制解调器市场竞争格局及投资战略规划报告
- 2025年猪皮头层项目可行性研究报告
- 2025公司合作合同模板
- 2025摩托车买卖合同范本格式
- 2025农牧渔业类合同范本
- 诉讼费退费确认表
- 全球变暖视野下中国与墨西哥的能源现状分析
- 建筑结构荷载统计计算表格(自动版)
- 学前教育学课程思政建设
- 事故隐患报告和举报奖励制度
- 腹部外伤门诊病历
- 品质异常处理及要求培训
- 模具部年终总结--ppt课件
- 立式热虹吸再沸器机械设计说明书
- 国家开放大学电大《生产与运作管理》2025-2026期末试题及答案
- 质量保证大纲(共14页)
评论
0/150
提交评论