发表学术论文网

基于Django框架的肉羊遗传评估系统的设计

  摘 要:为加快新疆肉羊良种繁育与推广,积极推进现代遗传评估技术平台的建设,本研究运用 Django 框架结合现代动物遗传评估技术,建立以羊场信息化管理与肉羊遗传评估为主要功能的肉羊遗传评估系统。该系统分为羊场信息管理模块与肉羊遗传评估模块,羊场信息管理模块对场区、羊只、群舍、系谱、繁殖等数据进行信息化管理,为管理羊场各生产环节提供系统、高效的管理平台;肉羊遗传评估系统以肉羊的肉用性状、生长性状和繁殖性状数据为基础,通过调用 R 语言的 sommer 包计算肉羊的育种值,并构建羊场育种数据库,为新疆肉羊产业持续选育优良肉羊品种、实现肉羊产业高质量发展提供技术支持。

  关键词:肉羊遗传评估;信息管理;Python;Django 框架;sommer 包

遗传评估

  新疆是我国五大牧区之一,自 2016 年至 2020 年,新疆地区的羊肉产量稳定位列全国第2 位,但目前新疆的羊肉市场需求增长过快,疆内的肉羊产业已满足不了市场需求[1]。由新疆畜牧兽医大数据平台可知,2020 年 4 月 1 日至 2021 年 4 月 7 日,新疆地区从疆外共调入558 万只羊,其中和田地区从疆外共调入 233 万只羊。

  新疆虽然拥有众多绵羊地方品种,但这些品种繁殖率低、净肉率低、羊肉单产低[1 3],地方品种的繁杂对疆内肉羊良种繁育体系的建设造成了负面影响,专门化肉羊品种的缺乏是新疆肉羊产业存在的主要问题[4 5]。在育种工作方面,疆内大多数的中小型羊场仍采用个体表型值进行选种。但传统的选种方法不能保证种羊遗传评定的准确性,其主要缺点在于:一是羊只数据零散和记录不完全、不系统;二是不能有效地剔除各种环境因素的影响,如:年度、群体等;三是不能有效利用所有亲属的信息。因此中小型羊场根据表型值选种的方法是不够准确的。

  在羊只各类信息的处理形式上,现阶段疆内羊场主要通过纸质资源和电子文件记录与储存数据,但纸质文件容易因自然、人为等原因造成信息缺失,电子文件因为分类储存也只能针对有限范围内的信息进行查询和利用,而羊场许多决策需要依据多方面、跨文件的信息检索结果,现阶段的零散文件存储难以提供上述服务,致使信息资源的利用率较低[6 7]。

  随着信息技术的飞速发展,信息化是当今世界发展的必然趋势,国内许多畜牧企业都设计或购买畜牧信息化管理系统以及种畜遗传评估系统,将牧场管理、种畜育种工作与信息技术相结合,以此提高生产管理水平,提升育种工作效率,科学建立种畜繁育基地。本研究在调研新疆地区中小型规模化羊场的生产与管理模式的基础上,将信息管理技术与现代遗传评估技术相结合,开发兼具信息管理与遗传评估功能的计算机系统,致力帮助中小型羊场充分利用新疆丰富的种质资源,培育优良肉羊品种,促进新疆肉羊产业的高质量发展。

  1 系统开发的技术支持

  1.1 编程语言 Python 语言是一门新兴且优秀的计算机编程语言,在 2021 年 TIOBE(编程语言社区排行)中,Python 排名第一,荣获 2021 年度编程语言称号。Python 已成为多个领域的编程实战语言,运用越来越成熟。Python 学习与使用起来清晰而简单,非常适合编程基础薄弱或者零基础的人员使用。Python 拥有庞大的标准库,可以编写程序来处理各种工作,包括正则表达式、线程、文档生成等功能。除了标准库,它还有大量高质量的第三方库[6,8 9],如 Django、DjangoRESTframework、NumPy 等,这些库可以通过计算机编程集成开发环境软件例如 PyCharm、VSCode 搜索下载使用,有助于提高开发效率。

  1.2 Web 应用框架 Django 框架是具有完整架站能力的开源框架,由 Python 编写,其设计理念是由传统 MVC 模式演变的 MTV 模式。开发优势:部署方便、可重用性高、维护成本低,可以便捷快速地开发以数据库驱动的系统;Django 自身集成了丰富的开发通用组件,如用户认证、分页、中间件、缓存、Session 等,避免浪费大量时间做重复的工作;Django还具有强大的数据库访问组件、灵活的 URL 映射,大大提高开发效率[6,9]。

  1.3 系统开发的硬软环境

  1.3.1 系统开发的软件环境 肉羊遗传评估系统在 Windows 10 操作系统上开发,以 Python3.6.8 作为编程语言,Django 2.0 为开发框架,以 Pycharm 专业版为辅助开发工具,数据库采用 Python 3 默认选取的 SQLite 3 数据库,以 Navicat Premium 12 为数据库的辅助编辑器。

  1.3.2 系统开发的硬件环境 系统开发所用电脑的 CPU 为 Intel(R) Core(TM) i5 1035 G1,RAM 容量为 16 GB,Storage 容量为 512 GB。

  1.4 支撑系统运行的硬软环境 运行平台/操作系统:Windows7、Windows10、Linux、Mac.运行的硬件环境:Intel(R) Core(TM) i3 及以上;RAM:2 GB 及以上;Storage:256 GB及以上。软件运行支撑环境/支持软件:Python 3.6 及以上版本、Django 3.0 及以上版本、R 语言。

  2 系统总体设计肉羊遗传评估系统由 Django 框架搭建而成,采用浏览器/服务器 (Browser/Server,B/S)结构模式,通过调用R 语言的sommer 包实现羊场数据信息化管理以及肉羊遗传评估的功能。肉羊遗传评估系统在开发类型上定义为大数据嵌入式软件,后续的项目计划将通过 Python强大的可移植性嵌入到肉羊遗传评估与分子育种服务平台中。

  2.1 系统角色分权 肉羊遗传评估系统分为羊场信息管理模块与肉羊遗传评估模块,并设置了拥有不同权限的 3 种角色,分别为管理员、技术员与饲养员。3 种角色的系统主界面所含有的功能模块数量依次递减,管理员拥有系统全部功能模块,且只有管理员具有添加与删除系统成员账号以及运行肉羊遗传评估模块的权限。羊场管理人员可以根据员工所处岗位添加角色赋予员工在系统内的管理权限。用户在登录页面输入正确的账号、密码以及验证码答案即可进入系统主页面,视图通过账号识别用户角色,并赋予拥有相应权限的主界面。

  2.2 数据库的设计 数据库是大数据信息管理系统的核心和基础,具有对数据的存储、维护、检索等功能。系统数据库的结构很大程度上决定了系统的结构和功能的实现[10]。肉羊遗传评估系统的数据库包含用户的注册表以及各管理模块的数据表。根据实际需求,选用了SQLite 3 作为本系统的数据库,该数据库具有易升级维护的优势。

  由于 SQLite 3 数据库是Python 3 默认选取的轻型数据库,所以使用方便,不需要事先安装数据库软件。相比于MySQL 等数据库,SQLite 3 不需要配置,不需要任何外部的依赖,用户不需要复杂的安装以及在 cmd 终端申请账号的过程,且每次使用前后不需要手动开启、关闭数据库,SQLite 3在搭建系统时也不需要事先建表,数据表直接迁移。根据 SQLite 的官方提示,SQLite 3 数据库最大支持 128 TiB(140 terabytes, or 128 tebibytes),数据承载量对于中小型羊场完全够用。在数据查询方面,查询条件如果是索引字段,在总数据量非常庞大的情况下查询速度仍然很快。

  2.3 羊场信息管理模块

  羊场信息管理模块提供了一种简便而有效的信息管理和处理技术,它通过设计模型来定义表格与字段,将现实的羊场数据进行分类整理,并在虚拟数据库中存储起来,通过编写视图函数来调用和分析数据,把繁杂的数据资料变成用户所需要的可用来决策的信息[11]。羊场信息管理模块的每个子模块对数据设置了增删查改、导出、打印功能,在羊只管理、配种记录、繁殖管理、系谱管理、性能测定以及育种值表 6 个子模块中设置了数据批量导入功能。

  2.3.1 列表设置

  列表分页设置:由于本系统为大数据软件,因此各模块中的表格分页设置了每页 10、20、50、100、200、500、1 000、2 000、5 000 条数据选项,方便用户对数据的查看以及批量操作。列表字段隐藏功能:本系统各子模块列表字段属性全面、数量较多,用户可根据实际需求将不需要的字段隐藏,使数据列表简短、直观。在系统各个子模块模型的最后设立“创建时间、创建人、修改时间、修改人”4 个日志类型的字段,系统会在员工操作后自动记录以上四字段的内容,且员工无法改动,以此方便查寻追责,用以督促员工在收集、登记数据时确保数据完整无误。

  2.3.2 数据的查询

  数据的查询功能是羊场信息管理模块的核心功能,也是其他功能的基础。通过连接 SQLite 3 数据库,为各子模块的数据列表设置了 2 种数据查询方法:一是设置关键字搜索框关联模型中的所有字段,用户需要输入具体关键字对数据进行搜索;二是按条件筛选,在各个模块列表中按羊场的实际需求,选定一个或多个字段设置为筛选条件,用户填写筛选框条件即可在数据库中筛选数据。

  2.3.3 数据的添加

  数据的增添功能可以通过点击“添加”键填充字段内容对数据进行逐条添加。在添加数据量庞大的情况下,用户可通过数据批量导入功能一键导入数据。导入功能要求上传的数据文件必须是纯文本文件(Excel、Csv),文件中第一行数据名称从左到右的排列顺序必须与系统对应的数据表中字段顺序一致,文件内缺失数据采用 NA 代替,数据之间的间隙使用空格或 Table 键。

  2.3.4 数据的删除与修改

  数据的删除功能是在查询功能的基础上进行操作。数据经过查询后,勾选目标数据前的复选框进行删除。批量删除需根据删除数据条数进行分页设置,使需删除的数据集中在第一页,点击列表前的复选框进行整页删除。修改功能同删除功能。

  2.3.5 数据的导出与打印

  数据的导出功能:数据经过查询后,按照数据量进行分页设置,使需导出的数据集中在第一页,通过点击“导出”键,将数据导入新建的 Excel 或 Csv 文件中,并自动保存在电脑 C 盘的“用户”文件中。数据打印:操作流程同数据导出功能,打印设置默认为横向黑白打印,打印纸张默认为A4。

  2.4 肉羊遗传评估模块

  种羊的遗传评定是肉羊育种中的一项重要内容,选种准确与否对畜群生产性能的提高具有决定性作用[12]。随着动物数量遗传学的发展,基于 BLUP 的选择方法已经广泛应用,但是这种计算方法比较复杂,主要使用几款专业的遗传评估软件,如 R、Armel、DMU、WOMBAT 和 BLUPF 90 等,但这些软件不适用于没有系统学习过 BLUP 法原理以及软件教程的羊场工作人员,这是目前遗传评估软件面临的问题。

  本系统通过 Python的第三方库 Rpy 2 调用 R 语言的 summer 包,将遗传评估软件有效整合到现有的管理系统中,系统还为遗传评估功能设置了简单且灵活的 Web 页面,用户只需在此页面单纯的进行鼠标点击,即可完成育种值计算操作,解决了上述遗传评估软件存在的问题。肉羊遗传评估模块通过 sommer 包建模,运用 BLUP 法的单性状动物模型与多性状动物模型计算肉羊的育种值。

  BLUP 法是目前世界范围内主要的种畜遗传评定方法[13 14],由Henderson 于 20 世纪 50 年代初提出,其本质是处理不均衡资料的混合模型方程组(MixedModel Equation)方法[15]。BLUP 法将选择指数法和最小二乘估计方法有机结合起来,可以在估计育种值的同时对系统环境效应进行估计和校正,消除了因选择和淘汰等造成的偏差,通过 BLUP 法计算所得的个体育种值具有最佳线性无偏性,精确性较高。系统通过 Django 框架的视图与模板搭建计算育种值的选项卡表单 Web 页面,用户在Web 页面勾选单选框、复选框与下拉列表即可选定进行育种值计算的羊只数据与动物模型。

  用户在点击“计算”选项后,系统视图接收用户指令通过数据库 SQL 的 JOIN 关键字进行多表联查提取数据,形成由羊只 ID、固定效应、表型性状组成的数据文件,和由目标羊只及其父母代、祖代的个体号组成的系谱文件。系统后台将两份文件的文件名以及用户所选表型性状与固定效应的字段名作为参数传输到 AnimalUtils 类函数相应的活字段中,完成由 R 语言指令拼接的字符串,最后通过调用 rpy2 库的 r 方法执行 R 语言程序,R 语言按照字符串指令进行常规育种值估计。系统调用 sommer 包运算所得的育种值结果自动生成数据文件,在“育种值表”子模块一键导入保存育种值数据。

  3 遗传评估功能

  测试系统的遗传评估功能测试是将同一份测试数据分别通过系统与 DMU 软件进行育种值计算,在考虑相同固定效应以及运算模型皆为动物模型 BLUP 的情况下,比较系统与 DMU软件的育种值结果。测试数据为真实数据,由课题组提供,测试数据于 2021 年采集自新疆地区的三宝牧业、塞外银羚种羊场以及上品美羊科技有限公司,数据在剔除异常值后,共计1 689 只湖羊的初生重与断奶重,系谱为完整的二代系谱与部分三代系谱。

  遗传评估功能测试方法具体为系统与 DMU 软件先后采用单性状动物模型与多性状动物模型,以羊只性别、出生类型、场号、出生年 季为固定效应,计算 1 689 只湖羊初生重与断奶重的个体育种值。经过反复测试,系统与 DMU 软件计算 1 689 只湖羊初生重与断奶重的个体育种值结果均基本一致,相关的前后端指令交互、多表联查提取数据以及 rpy2 调用 R 语言等代码的逻辑设计合理。

  4 讨 论

  目前,我国研制出的肉羊遗传评估软件大多数采用的是传统育种运算方法,很少涉及基因组选择的分子育种方法,例如鲁绍雄[16]等开发的肉羊信息管理与育种分析系统、赵晓亮[17]研制的肉羊数据自动发掘模块与遗传育种模块以及何小龙[18]等开发的内蒙古自治区种羊遗传评估中心网络管理信息系统都是采用的传统育种运算方法。

  本系统目前已实现运用常规BLUP 法进行传统的育种值运算,后续工作将进一步深度挖掘现代肉羊遗传评估技术,系统将加入GBLUP法运算功能,建立基于基因组选择的肉羊遗传评估与分子育种服务技术平台,构建适合新疆肉羊产业高效发展的繁育体系。

  在遗传评估软件选择方面,相比于常用的 DMU 软件、ASReml、BLUP 90,R 语言的sommer 包在常规 BLUP 法运算方面相对平庸,在数据量庞大的情况下运算速度无法与前三者相比,甚至当固定效应与表型数量与种类较多,从而构建的混合线性模型较为复杂时,sommer 包在矩阵迭代中途会出现“因矩阵过于庞大而停止工作”的报错代码。

  在系统与 DMU软件皆采用多性状动物模型计算 1 689 只湖羊初生重与断奶重的个体育种值的测试中,系统调用 sommer 包在矩阵迭代过程中用时不稳定,最少用时 28 min,最多用时 90 min,用 R 软件跑 sommer 包代码用时也是如此,而 DMU 用时仅在 4 min 以内,sommer 包运算结果虽然与 DMU 软件基本一致,但在运算时间上有很大差距。

  而且 sommer 包本身不具有处理系谱数据的功能,需要先由 R 语言的 nadiv 包依据系谱信息构建 A 矩阵与 A 逆矩阵,再由 sommer包构建混合线性模型计算育种值。但在软件的使用性质上,只有 R 语言的 sommer 包为完全免费软件,商业使用无需授权,而且在 GBLUP 法运算方面性能较为优秀,可为后续开发的分子育种功能提供技术支持,所以选取 R 语言的sommer 包作为本系统调用的遗传评估软件。

  5 结 论

  本研究基于 Django 框架设计了肉羊遗传评估系统,该系统的羊场信息管理模块通过对羊场各项数据的增删查改、导入与导出等操作,基本实现了羊场数据信息化管理与肉羊生产性能登记的功能,也为遗传评估模块提供完整、可靠的数据基础;该系统的肉羊遗传评估模块通过调用 R 语言的 sommer 包计算羊只个体育种值,经真实数据反复测试,在测试同一份数据,考虑相同固定效应的情况下,肉羊遗传评估系统与 DMU 软件先后通过单性状动物模型与多性状动物模型计算 1 689 只湖羊初生重与断奶重的个体育种值的结果均基本一致,后台代码的逻辑设计合理,肉羊遗传评估模块可以实现肉羊遗传评估与构建羊场育种数据库的功能;系统整体可以为新疆肉羊产业持续选育优良肉羊品种提供技术支持。

  参考文献:

  [1] 王琼. 新疆三个绵羊品种高繁殖力候选基因的遗传多态性及其表达量研究[D].乌鲁木齐:新疆农业大学, 2013: 8 9.

  [2] 张敏, 高维明, 宫平, 等. 新疆牛羊产业现状与发展对策[J].畜牧兽医科学:电子版,2019(13): 158 159.

  [3] 甘昶春, 朱美玲, 朱振宁. 新疆肉羊产业发展现状、问题与对策[J].新疆农垦经济,2014(12): 77 81.

  [4] 罗鹏辉, 刘琦. 新疆肉牛肉羊产业发展情况分析及建议[J].新疆畜牧业, 2019(6):17 19.

  [5] 阿依古丽·吐鲁甫. 新疆肉羊产业的发展现状及改进对策[J].当代畜禽养殖业, 2018(6):52.

  [6] 姚文林. 基于 Django 的阜新市林木种质资源信息服务平台的研建[D].北京: 北京林业大学,2019: 8 12.

  作者:吴 飞,石 兰,马梅兰,王 江,何新宇,依明·苏来曼

查阅更多的电子论文文章

扫码关注公众号

您身边的学术科研指导顾问,帮您解决论文、出书、专利难题。

热门推荐

学生出版图书要注意什么

申请发明专利注意的细节和技巧

教师出版专著有什么优势?

著作的版权页是指什么?包含哪些信息?

海牙体系外观专利申请相关疑问解答汇总

专利转让注意的问题有哪些

职称出书独著好还是合著好

学术专著怎么认定?

论文退修如何判断是小修还是大修

A&HCI索引期刊怎么确认期刊

论文质量提高方法

专利主要完成人的意思

职称与论文专题
论文发表指导