?

基于Django 框架的肉羊遺傳評估系統的設計

2022-11-17 03:52馬梅蘭何新宇依明蘇來曼
中國畜牧雜志 2022年11期
關鍵詞:羊場肉羊遺傳

吳 飛,石 蘭,馬梅蘭,王 江,何新宇,依明·蘇來曼

(新疆農業大學動物科學學院,新疆烏魯木齊 830052)

在育種工作方面,疆內大多數的中小型羊場仍采用個體表型值進行選種。但傳統的選種方法不能保證種羊遺傳評定的準確性,其主要缺點在于:一是羊只數據零散和記錄不完全、不系統;二是不能有效地剔除各種環境因素的影響,如:年度、群體等;三是不能有效利用所有親屬的信息。因此中小型羊場根據表型值選種的方法是不夠準確的。在羊只各類信息的處理形式上,現階段疆內羊場主要通過紙質資源和電子文件記錄與儲存數據,但紙質文件容易因自然、人為等原因造成信息缺失,電子文件因為分類儲存也只能針對有限范圍內的信息進行查詢和利用,而羊場許多決策需要依據多方面、跨文件的信息檢索結果,現階段的零散文件存儲難以提供上述服務,致使信息資源的利用率較低[6-7]。

信息化是當今世界發展的必然趨勢,國內許多畜牧企業都設計或購買畜牧信息化管理系統以及種畜遺傳評估系統,將牧場管理、種畜育種工作與信息技術相結合,以此提高生產管理水平,提升育種工作效率,科學建立種畜繁育基地。本研究在調研新疆地區中小型規?;驁龅纳a與管理模式的基礎上,將信息管理技術與現代遺傳評估技術相結合,開發兼具信息管理與遺傳評估功能的計算機系統,致力于幫助中小型羊場充分利用新疆豐富的種質資源,培育優良肉羊品種,促進新疆肉羊產業的高質量發展。

1 系統開發的技術支持

1.1 編程語言 Python 語言是一門新興且優秀的計算機編程語言,在2021 年TIOBE(編程語言社區排行)中,Python 排名第一,榮獲2021 年度編程語言稱號。Python 已成為多個領域的編程實戰語言,運用越來越成熟。Python 學習與使用起來清晰而簡單,非常適合編程基礎薄弱或者零基礎的人員使用。Python 擁有龐大的標準庫,可以編寫程序來處理各種工作,包括正則表達式、線程、文檔生成等功能。除了標準庫,它還有大量高質量的第三方庫[6,8-9],如Django、Django RESTframework、NumPy 等,這些庫可以通過計算機編程集成開發環境軟件例如PyCharm、VSCode 搜索下載使用,有助于提高開發效率。

1.2 Web 應用框架 Django 框架是具有完整架站能力的開源框架,由Python 編寫,其設計理念是由傳統MVC模式演變的MTV 模式。開發優勢:部署方便、可重用性高、維護成本低,可以便捷快速地開發以數據庫驅動的系統;Django 自身集成了豐富的開發通用組件,如用戶認證、分頁、中間件、緩存、Session 等,避免浪費大量時間做重復的工作;Django 還具有強大的數據庫訪問組件、靈活的URL 映射,大大提高開發效率[6,9]。

1.3 系統開發的硬軟環境

1.3.1 系統開發的軟件環境 肉羊遺傳評估系統在Windows 10 操作系統上開發,以Python 3.6.8 作為編程語言,Django 2.0 為開發框架,以Pycharm 專業版為輔助開發工具,數據庫采用Python 3 默認選取的SQLite 3 數據庫,以Navicat Premium 12 為數據庫的輔助編輯器。

惡性組:年齡范圍51~77歲,年齡(66.4±9.0)歲;男 23例,女 16例;體質指數(BMI)為(22.6±1.8)kg/m2,合并疾病為高血壓 16例、糖尿病8例、高血脂11例,吸煙16例。非惡性組:年齡范圍48~79歲,年齡(65.2±11.0)歲;男130例,女61例,BMI為(22.4±2.3)kg/m2,合并疾病為高血壓96例、糖尿病53例、高血脂70例;吸煙102例。兩組患者的年齡、性別、BMI、合并疾病、吸煙情況差異無統計學意義(P>0.05),具有可比性。

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 個子模塊中設置了數據批量導入功能。羊場信息管理模塊中各子模塊模型設計見表1。

表1 羊場信息管理模塊介紹

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 數據的刪除與修改 數據的刪除功能是在查詢功能的基礎上進行操作。數據經過查詢后,勾選目標數據前的復選框進行刪除。批量刪除需根據刪除數據條數進行分頁設置,使需刪除的數據集中在第1 頁,點擊列表前的復選框進行整頁刪除。修改功能同刪除功能。

2.3.5 數據的導出與打印 數據的導出功能:數據經過查詢后,按照數據量進行分頁設置,使需導出的數據集中在第1 頁,通過點擊“導出”鍵,將數據導入新建的Excel 或Csv 文件中,并自動保存在電腦C 盤的“用戶”文件中。

數據打?。翰僮髁鞒掏瑪祿С龉δ?,打印設置默認為橫向黑白打印,打印紙張默認為A4。

2.4 肉羊遺傳評估模塊 種羊的遺傳評定是肉羊育種中的一項重要內容,選種準確與否對畜群生產性能的提高具有決定性作用[12]。隨著動物數量遺傳學的發展,基于BLUP 的選擇方法已經廣泛應用,但是這種計算方法比較復雜,主要使用幾款專業的遺傳評估軟件,如ASReml、DMU、WOMBAT 和BLUPF 90 等,但這些軟件不適用于沒有系統學習過BLUP 法原理以及軟件教程的羊場工作人員,這是目前遺傳評估軟件面臨的問題。本系統通過Python 的第三方庫rpy 2 調用R 語言的sommer 包,將遺傳評估軟件有效整合到現有的管理系統中,系統還為遺傳評估功能設置了簡單且靈活的Web 頁面,用戶只需在此頁面單純的進行鼠標點擊,即可完成育種值計算操作,解決了上述遺傳評估軟件存在的問題。

肉羊遺傳評估模塊通過sommer 包建模,運用BLUP 法的單性狀動物模型與多性狀動物模型計算肉羊的育種值。BLUP 法是目前世界范圍內主要的種畜遺傳評定方法[13-14],由Henderson 于20 世紀50 年代初提出,其本質是處理不均衡資料的混合模型方程組(Mixed Model Equation)方法[15]。BLUP 法將選擇指數法和最小二乘估計方法有機結合起來,可以在估計育種值的同時對系統環境效應進行估計和校正,消除了因選擇和淘汰等造成的偏差,通過BLUP 法計算所得的個體育種值具有最佳線性無偏性,精確性較高。

系統通過Django 框架的視圖與模板搭建計算育種值的選項卡表單Web 頁面,用戶在Web 頁面勾選單選框、復選框與下拉列表即可選定進行育種值計算的羊只數據與動物模型。選項卡表單Web 頁面如圖1 所示。

圖1 選項卡表單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 只湖羊初生重與斷奶重的個體育種值的結果均基本一致,后臺代碼的邏輯設計合理,肉羊遺傳評估模塊可以實現肉羊遺傳評估與構建羊場育種數據庫的功能;系統整體可以為新疆肉羊產業持續選育優良肉羊品種提供技術支持。

猜你喜歡
羊場肉羊遺傳
非遺傳承
提高肉羊繁殖率的綜合性技術措施
肉羊養殖存在的問題及對策
肉羊體尺測量 用上“智慧眼”
還有什么會遺傳?
還有什么會遺傳
還有什么會遺傳?
肉羊快速育肥綜合技術
種羊場生存發展之路
農家科技下旬刊(2017年2期)2017-03-27
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合