Django对MVC模式的发展及其在CRISPRlnc数据库中的运用

来源 :计算机时代 | 被引量 : 0次 | 上传用户:guojinhong
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要: 在针对长非编码RNA(lncRNA)进行CRISPR/Cas9基因编辑时,从头设计有效singleguide RNA(sgRNA)并非易事,因此收集了已经发表文章中经实验验证过的sgRNA信息,并基于MTV模式的Django框架,开发出CRISPRlnc网站数据库。该数据库的开发将为科研工作者针对lncRNA进行CRISPR/Cas9基因编辑提供有效的辅助,并促进lncRNA的功能研究和CRISPR/Cas9技术的发展。
  关键词: MTV模式; Django框架; lncRNA; CRISPR/Cas9
  中图分类号:TP392          文献标识码:A     文章编号:1006-8228(2021)10-32-03
  Django its development to the MVC pattern and its application
  in the CRISPRlnc database
  Zhang Guoqiang1,2, Liu Changning1
  (1. Xishuangbanna Tropical Botanical Garden Chinese Academy of Sciences, Xishuangbanna, Yunnan 666303, China;
  2. University of Chinese Academy of Sciences)
  Abstract: It is not easy to design effective singleguideRNAs (sgRNAs) from scratch in CRISPR/Cas9 gene editing for long non-coding RNAs (lncRNAs), so the sgRNAs information verified by experiments in published articles is collected, and the CRISPRlnc website database based on the Django framework of MTV pattern is developed. The CRISPRlnc will not only provide a effective assistance for researchers using CRISPR/Cas9 to edit lncRNAs, but also promote the functional study of lncRNAs and the development of CRISPR/Cas9 technology.
  Key words: MTV pattern; Django framework; lncRNA; CRISPR/Cas9
  0 引言
  由于互联网技术的快速发展以及各种信息的急剧膨胀,网站数据库的开发对于开发时间、开发成本和开发效率的要求更加苛刻。因此,快速搭建一个完整的Web框架对于网站数据库的开发十分重要[1]。本文探究了计算机网络体系架构的发展和MVC模式,着重介绍了Django框架对MVC模式的继承和发展,并展示了使用Django框架快速开发CRISPRlnc网站数据库的实现。
  LncRNA是一类长度超过200个核苷酸的非编码RNA转录本[2]。因其位置和发挥功能机制的多样性,在运用CRISPR/Cas9基因编辑技术进行lncRNA的基因编辑时,从头设计有效的sgRNA并非易事[3]。因此,我们收集了已发表的经过实验验证的sgRNA信息并基于Django框架构建了CRISPRlnc数据库。CRISPRlnc数据库的开发不仅会为lncRNA的基因组编辑提供有效的辅助,还会为将来lncRNA的功能研究提供一个崭新的平台,并促进CRISPR/Cas9基因编辑技术的应用。
  1 体系架构的发展与MVC模式
  计算机网络的体系架构从最初的集中式结构,经过客户端/服务器架构(Client/Server,C/S),发展到广泛应用的浏览器/服务器架构(Browser/Server,B/S)。B/S是从C/S派生出来的新生代架构,由浏览器和服务器端构成,提高了开发效率和维护成本,更适合当前网络技术的发展[4]。MVC模式是Model-View-Controller的简称,即模型-视图-控制器,是一种软件设计的典范[5],MVC的分层、分治思想与当前流行的分布式架构相得益彰,是在分布式架构特别是B/S出现后的主流设计模式。
  1.1 C/S和B/S架构
  在C/S架构的系统中,客户端部分负责执行前台功能,服务器主要用于对数据的处理和对系统的维护上。C/S架构开发模型简单,数据操作和事务处理能力强,但由于C/S结构被设计为两层结构,显示逻辑和应用业务逻辑被放在了客户端,这样就会对客户端的运行能力和存储空间等硬件配置有较高的要求。另外,在升级客户端时,需要对每个用户的电脑进行升级,大大增加了软件升级所需的工作量。为了克服C/S架构出现的问题,技术人员开发出了分布式结构,将系统的结构有两层推向了三层B/S架构,它将客户端和服务器之间通过运用服务程序连接,用户只需使用浏览器就可以轻松实现对系统的访问[6]。与C/S相比,B/S架构升级简单,运用起来也很方便,同时对客户端的硬件配置要求也不高。
  1.2 MVC模式
  MVC是在二十世纪八十年代开发出来的一种设计模式,它将输入、处理和输出三部分强制性地分开,呈现出松耦合的状态,如今已被广泛地应用于网络框架和其他应用程序中[7]。基于MVC模式开发的网络框架从逻辑上可以分为三层:模型,视图和控制器。控制器负责接受用户的输入请求,并传递命令给视图或者模型,它本身不做任何处理,也不输出数据;模型表示业务对象与数据库的映射(ORM),同时负责存取数据,将业务数据反馈给视图等;视图负责给用户展示信息,在数据库网站的開发中,视图通常由HTML元素、模板标记语言和模型反馈的数据共同组成。MVC模式作为B/S架构的主流设计模式,可以很好的与其相结合,并在理论上给B/S架构实现逻辑处理和表现分离以指导,对网站数据库的开发具有重要作用。   2 Django框架与MVC模式
  2.1 Django框架对MVC模式的发展
  Django是基于Python语言在MVC模式的基础上开发的MTV模式(Model、Template和View)的开源Web框架,用少量的代码就可以实现强大的功能(图1)。Django框架遵循MVC模式,其中心思想是减少代码的重复编写并降低模块间的耦合性。Django中的模型和MVC框架中的模型功能相同,负责与数据库的交互;Django的视图与MVC中的视图略有不同,主要完成数据的存取、调用模型等功能;Django的模板是MVC框架中所没有的,它负责定义文件的结构或布局的文件,支持简单的逻辑结构,将页面展示给用户[8]。
  通过Django框架能快速完成网站搭建,结合其众多的扩展插件,可以快速开发出功能强大的网站服务。不同于MVC框架,Django将controller接受用户输入的部分由框架自行处理。
  2.2 Django框架的优点
  Django本身就来自于实践,注重代码的利用率,另外丰富的组件可以方便的以插件的形式应用于整个网站,提高了网站的开发效率。总的来说,Django框架主要有以下几个优点。
  ⑴ 灵活的URL设计:Django框架中URL设计简洁灵活,功能强大。URL通常与视图相配合,在urls.py中通过Python正则表达式处理,使用的是匹配模式,便于搜索引擎的搜索。
  ⑵ 对象关系映射:Django的数据库组件一一对象关系映射提供了数据模块和数据引擎之间的接口。另外,Django支持的数据库有PostgreSQL、MySQL和SQLite等,只需要修改配置文件就可以切换数据库,使数据库的开发更为灵活。
  ⑶ 可扩展性:Django架构的每一部分相互独立,可以根据需求使用第三方库来扩展Web服务。
  3 Django框架在CRISPRlnc数据库中的实现
  Django框架更专注于数据层面的实现,方便科研人员快速开发相关的数据库网站。在此,我们以CRISPRlnc数据库为例,展示基于Django框架网站数据库的实现过程和CRISPRlnc数据库的一些基本信息。
  3.1 数据的收集
  首先在PubMed上根据关键字检索已发表的与lncRNA相关的文献,然后通过Python脚本筛选出与CRISPR/Cas9基因编辑相关的文章。在人工阅读筛选出的200多篇文献后,共提取出305个lncRNA和2102个有效的sgRNA。最后将收集的lncRNA和sgRNA的相关信息整合成数据库需要的格式。
  3.2 开发环境搭建
  CRISPRlnc数据库的构建以Linux服务器为平台,Nginx作为Web服务器,uWSGI作为通讯协议,基于Django框架,使用Python语言开发的。
  首先在Linux服务器上安装Nginx、Django、uWSGI等相关软件。然后创建Django项目,并对Nginx、Django和uWSGI进行配置。启动网站,完成数据库开发环境的初步搭建。
  3.3 网站建设和部署
  网站的建设主要由网页的设计和开发,数据的导入,以及相关功能的实现等几部分组成。通过前期对生物信息数据库的调研并结合课题组已有资源,制定的设计方案如图2所示:数据库网站的主体框架由Django搭建;网页的开发是使用HTML、CSS以及JavaScript等网站开发语言,结合Bootstrap前端框架完成;网站的数据库是使用Django默认的SQLite数据库,进入SQLite控制台输入前面整合好的符合数据库格式的文件即可;在网站的功能方面,除了基本的检索和展示外,还增加了在线BLAST和GBrowse功能,BLAST功能是依靠Django应用程序Django-blastplus实现的,GBrowse功能是由Biodalliance实现的。
  最后,購买域名并在阿里云服务器上完成解析,修改Nginx、uWSGI和Django的配置信息,启动网站,即可实现数据库的远程访问功能。
  3.4 网站展示
  在用户界面,我们提供了浏览、检索、下载数据以及在线BLAST服务和基因组浏览器等功能(图3)。为方便用户使用CRISPRlnc数据库,还提供了一个说明文档,里面列出了数据库中每个工具的使用方法和使用CRISPR/Cas9对lncRNA进行基因编辑的一些注意事项。另外,我们在网页的下方还添加了链接栏,包括lncRNA的数据库和sgRNA的设计工具。
  4 结束语
  Django是一个可以被用来快速开发功能强大的网站数据库的Web框架,特别适合专注于数据层面的科研工作者们使用。文中基于Django开发的CRISPRlnc数据库将为科研工作者针对lncRNA进行CRISPR/Cas9基因编辑提供有效的辅助,并促进CRISPR/Cas9基因编辑技术的应用和进步。CRISPRlnc数据库访问网址为:http://www.crisprlnc.org。
  参考文献(References):
  [1] 汪洋,姜新通.MVC框架在Python与Django下的设计研究[J].电脑与信息技术,2021.29:55-57,63
  [2] K. C. Wang, H. Y. Chang. Molecular mechanisms of long noncoding RNAs[J]. Mol Cell,2011.43:904-914
  [3] A. Goyal et al. Challenges of CRISPR/Cas9 applications for long non-coding RNA genes[J]. Nucleic Acids Res,2017.45:e12
  [4] 王运冰.基于B/S和C/S混合体系结构下的BIM监理管理系统研究[D].武汉理工大学硕士学位论文,2017.
  [5] 任中方,张华,闫明松等.MVC模式研究的综述[J].计算机应用研究,2004.10:1-5
  [6] 于少波,李新明,刘东.基于B_S和MVC模式的武器装备体系评估系统设计[J].太赫兹科学与电子信息学报,2015.13:635-640
  [7] 杨凡.基于MVC模式云桌面框架设计与实现[D]. 电子科技大学硕士学位论文,2017.
  [8] 黄玮.毛果杨基因数据库搭建以及可视化平台的实现[D].哈尔滨工业大学硕士学位论文,2019.
其他文献
摘要: 在工程领域,工程数据管理平台是实现全生命周期管理和数字化移交的关键,选用传统单体化应用技术构建平台面临很大的挑战。研究了构建工程数据管理平台的主要设计思路、设计原则以及服务拆分等关键技术与方法。采用云原生微服务Spring Cloud框架进行设计与实现,使平台具备资源按需分配和弹性伸缩以及自动化部署和管理的能力。  关键词: 云原生; 微服务; 数据; 管理; Spring Cloud  
摘要: 在这个流行元素日新月异的时代,消费者的口味越来越难以把控,商家的判别标准将极大决定店铺的业绩水平。文章介绍了时空众包的概念,研究在商城背景下,利用时空众包思想设计一种能持续有效执行的机制来提高O2O模式的资源利用率问题。  关键词: 个性化; 众包机制; 资源利用率; 时空众包  中图分类号:TP391.3 文献标识码:A 文章编号:1006-8228(2021)10-54-04
摘要: 针对校园内学生物品易丢失但不易找回的问题,设计一款失物招领微信小程序。校园失物招领微信小程序方便快捷、无需安装、安全稳定、快速引流,基于Spring Boot技术实现,充分利用微信小程序的优点,互补Web与App的优劣,实现了高效率的失物招领。  关键词: 失物招领; 微信小程序; 校园; Spring Boot  中图分类号:G434;TP311.52 文献标识码:A 文章编号
摘要: 大学生选课是一个既重要又繁琐的过程,如果不提前规划,就有可能出现错失特定学期的中意课程,单学期课业量过重和时间浪费问题,进而影响学习主动性和学业成绩。为解决上述问题,研发选课推荐系统,根据学生所设限定条件推荐多学期的选课方案。文章提出基于0-1背包的回溯算法来处理约束,可以大范围剪枝,加快求解速度。测试结果表明,本系统可以为学生推荐意向匹配率高且课业量少的选课方案。  关键词: 0-1背包
根据不同的放牧方式有多种畜牧业管理模式,文章通过研究和改进图像识别模型来提高畜牧业动物图像检测技术及畜牧业管理水平。选择YOLOv3-Darknet53模型作为对象进行研究和改进,通过k-means++算法重新进行聚类分析,提高YOLOv3-Darknet53模型对畜牧业动物图像目标检测的检测精度。实验表明,改进模型对畜牧业动物图像目标检测的精度达到86.179%。F特征值在yak上提高了1%,S
摘要: 当前网络中广泛使用的交互式密钥交换协议,如SSL协议和TLS协议,由于密钥建立过程的通信量较大,不适合物联网中传感器等资源有限的轻型网络设备使用,因此提出一种基于格的非交互式密钥交换协议。文章基于格理论的环上带误差学习困难性问题,使用Freire等人给出的非交互式密钥交换协议形式化定义和安全模型对协议的安全性进行分析,通过攻击者与挑战者之间的博弈证明了协议的安全性。该协议具有抗量子攻击安全
摘要: 多数传统的推荐算法在追求准确度时,忽略了多样性也是衡量推荐效果不可或缺的指标之一。而一味地提升多样性又势必会造成准确度的极大损失。由此提出依据用户兴趣度和兴趣变化度,在计算出用户兴趣值的基础上,分析不同用户的兴趣偏好情况。再将用户的长期与短期兴趣相结合进行推荐,保障个性化的同时确定用户的多样化程度,生成最终的推荐列表,很好地平衡了推荐结果的准确度与和多样性。  关键词: 长短期兴趣; 准确
为了让学生的学习、生活更加智能化,提高教学管理效率,同时建立一个更加安全的校园环境,采用卷积神经网络实现智慧校园人脸识别。文章对卷积神经网络的卷积层、池化层、全连接层和输出层的原理及实现进行了阐述,训练了olivettifaces人脸数据库小样本数据集。实验结果表明,模型的误差率降低到5%以下。用数据库中注册的人脸图像与摄像头实时获取的人脸图像进行匹配时,效果良好,能满足设计需求。
摘要: 在数据库系统及应用教学中,传统教学采用数学公式对关系模型数据表范式设计进行定义和描述,使多数学生理解得不是很透彻。就此问题,文章通过实例探讨了关系数据库SQL Server数据表范式设计的教学,使得教师可以简单教学,学生易于理解,对于数据库设计能力有进一步的提高,对教学质量有进一步的提升。  关键词: 数据表; 范式; 教学实例; 设计能力  中图分类号:TP393.09 文献标识
齿科三维扫描仪是数字化齿科修复的重要组成部分,在种植、正畸、嵌体等齿科修复中发挥着数据获取的关键作用。为了实现三维口腔模型的高速采集,提出了一种基于傅里叶变换轮廓测量法的三维重建算法的牙科三维扫描系统。投射光栅图形到牙齿印模上,采集变形光栅图像,对相机捕获的变形条纹图像信息进行预处理,相位解包裹、三维点云重构和获取三维模型,实现了傅里叶变换轮廓术的高速齿科三维扫描仪。经测试,该扫描仪可在9秒内完成