王學(xué)敏++任守文++方曉敏++李碧俠++趙為民++付言峰++葛云山
摘要:對(duì)一款實(shí)用的豬近交系數(shù)計(jì)算軟件設(shè)計(jì)進(jìn)行了詳細(xì)的介紹,旨在為有計(jì)劃地進(jìn)行選種與選配提供數(shù)據(jù)參考,以提高養(yǎng)豬生產(chǎn)效率。
關(guān)鍵詞:豬育種;近交系數(shù);軟件設(shè)計(jì)
中圖分類號(hào):S828 文獻(xiàn)標(biāo)識(shí)碼:B 文章編號(hào):1007-273X(2015)12-0037-03
近交是改良畜群、品種及培育新品系和品種的不可缺少的有效手段,可以固定優(yōu)良性狀及提高畜群的遺傳整齊度[1],但近交另一個(gè)重要的遺傳效應(yīng)是近交衰退[2],對(duì)于個(gè)體養(yǎng)殖戶和養(yǎng)殖場(chǎng)要嚴(yán)格控制近交,防止近交衰退的發(fā)生而導(dǎo)致后代的生活力下降、適應(yīng)能力減弱等。近交程度的大小一般是通過近交系數(shù)來度量的[3]。近交系數(shù)是指根據(jù)近親交配的世代數(shù),將基因的純化程度用百分?jǐn)?shù)來表示。在試驗(yàn)研究和生產(chǎn)實(shí)踐中,豬個(gè)體近交系數(shù)通過手工計(jì)算非常費(fèi)力繁瑣,特別是眾個(gè)體近交系數(shù)的計(jì)算。目前有研究者前期進(jìn)行過豬近交系數(shù)計(jì)算軟件的相關(guān)設(shè)計(jì),如利用 FORTRAN[4]和BASIC[5-6]程序語言進(jìn)行設(shè)計(jì),這兩種方法計(jì)算前都要將原始系譜中所有的個(gè)體進(jìn)行整理輸碼,并按人為規(guī)定的先后次序排列, 方可送入計(jì)算機(jī)處理,后期出現(xiàn)了利用BASIC+數(shù)據(jù)庫dBASE的設(shè)計(jì)方法[7],但非面向?qū)ο蟮默F(xiàn)在程序語言設(shè)計(jì)。隨著電腦硬件與軟件的提升,有研究者利用面向?qū)ο蟮腣isual Basic進(jìn)行設(shè)計(jì)[8,9],但未見其利用數(shù)據(jù)庫系統(tǒng)的報(bào)道。本文利用面向?qū)ο蟮目梢暬疺isual Basic+ 數(shù)據(jù)庫SQL Serve方法設(shè)計(jì)研發(fā)出豬系近交系數(shù)計(jì)算軟件,使用者可以對(duì)豬場(chǎng)豬個(gè)體及群體的近交系數(shù)值進(jìn)行更方便快速計(jì)算,從而能有計(jì)劃地進(jìn)行選種與選配,提高豬育種與生產(chǎn)效率。
1 運(yùn)行環(huán)境
1.1 硬件
一般要求586以上的處理器、256MB以上內(nèi)存、500MB以上的空閑硬盤空間、鍵盤、鼠標(biāo)等。
1.2 軟件
系統(tǒng)軟件:要求Microsoft Windows 98或 Microsoft WINDOWS XP以上操作系統(tǒng)。
支持軟件:Visual Basic 6.0及SQL Server 2000。
2 軟件設(shè)計(jì)
2.1 總體結(jié)構(gòu)
利用visual basic 6.0設(shè)計(jì)包括登陸界面和主界面,主界面主要包含當(dāng)前數(shù)據(jù)顯示、數(shù)據(jù)編輯與查詢、近交系數(shù)計(jì)算、刷新數(shù)據(jù)等基本功模塊。
2.2 數(shù)據(jù)庫設(shè)計(jì)
首先在SQL Server 2000的企業(yè)管理器數(shù)據(jù)庫中新建一個(gè)“系譜圖繪制”數(shù)據(jù)庫,再在該數(shù)據(jù)庫中新建“公豬檔案”和“母豬檔案”2個(gè)表,表中均按順序設(shè)計(jì)“編號(hào)”、“個(gè)體耳號(hào)”、“父耳號(hào)”、“母耳號(hào)”、“備注”、“近交系數(shù)”6個(gè)列名。列名數(shù)據(jù)類型均設(shè)置為”nvarchar”, 長(zhǎng)度設(shè)置為“255”。根據(jù)豬場(chǎng)公豬和母豬的個(gè)體資料記錄信息資料按照“編號(hào)”、“個(gè)體耳號(hào)”、“父耳號(hào)”、“母耳號(hào)”、“備注”、“近交系數(shù)”的順序格式形式分別輸入到SQL Server 2000 的“公豬檔案”和“母豬檔案”2個(gè)表中。
2.3 近交系數(shù)計(jì)算模塊
計(jì)算公式:F_x=∑[(1/2)~(n+1)(1+F_A)],其中F_x為近交系數(shù),n為從近交個(gè)體之父通過共同祖先到母的箭頭數(shù)(通徑數(shù))。有幾個(gè)通路要個(gè)別計(jì)算后相加,∑即總和的意思。F_A為共同祖先的近交系數(shù),共同祖先不是近交個(gè)體時(shí),F(xiàn)_A=0。公式即簡(jiǎn)化為F_x=∑(1/2)~(n+1)。
設(shè)計(jì)計(jì)算步驟:找出個(gè)體雙親的所有共同祖先;尋找出個(gè)體父本經(jīng)過共同祖先到母本的所有通徑;分析共同祖先的近交情況并計(jì)算共同祖先的近交系數(shù);根據(jù)每條通徑的情況計(jì)算出個(gè)體近交系數(shù)。
本軟件程序首先通過對(duì)原始記錄數(shù)據(jù)庫分析及循環(huán)查詢方法得到個(gè)體系譜信息資料,再根據(jù)近交系數(shù)計(jì)算公式算出目標(biāo)個(gè)體的近交系數(shù)。
3 軟件使用
3.1 用戶登陸
在軟件登陸界面(圖1)輸入預(yù)設(shè)的密碼進(jìn)入軟件使用界面(圖2)。
3.2 原始數(shù)據(jù)的編輯
在軟件使用前數(shù)據(jù)庫的設(shè)置后,如果需要對(duì)原始數(shù)據(jù)中的數(shù)據(jù)資料進(jìn)行的編輯,可點(diǎn)擊軟件界面的“數(shù)據(jù)編輯與查詢”,軟件顯示出數(shù)據(jù)編輯界面(圖3)。
若要在原始數(shù)據(jù)中新增加一條數(shù)據(jù),如在“母豬記錄”中新增加一條數(shù)據(jù),假設(shè)個(gè)信息值均為“1000”,則在“母豬基本信息”欄中對(duì)應(yīng)的文本框中均輸入“1000”,再點(diǎn)擊“母豬基本信息”欄中的“保存”,則該條記錄新增保存在“母豬記錄”數(shù)據(jù)庫(“母豬檔案”)中。如果要?jiǎng)h除該條數(shù)據(jù),則可在“母豬記錄”中用鼠標(biāo)選定該條數(shù)據(jù),再在“母豬基本信息”欄中點(diǎn)擊“刪除”即可。要查詢某條記錄數(shù)據(jù),則在對(duì)應(yīng)的公母豬基本信息欄的個(gè)體耳號(hào)文本框中輸入要查詢的個(gè)體號(hào)再在相應(yīng)的基本信息欄中點(diǎn)擊“查詢”按紐即可。進(jìn)行新的查詢或保存數(shù)據(jù),點(diǎn)擊相應(yīng)的基本信息欄中的“初始化”按紐;要刷新數(shù)據(jù),點(diǎn)擊相應(yīng)的基本信息欄中的“刷新”按紐。
3.3 個(gè)體近交系數(shù)的計(jì)算
點(diǎn)擊軟件界面的“數(shù)據(jù)編輯與查詢”和“近交系數(shù)計(jì)算”按鈕,軟件顯示出“數(shù)據(jù)編輯與查詢”界面(圖3)和“近交系數(shù)計(jì)算”界面(圖4)。如果要計(jì)算豬場(chǎng)中某豬個(gè)體的近交系數(shù)(先在確保豬場(chǎng)豬該豬個(gè)體的信息已經(jīng)按照上述的“1.軟件使用前數(shù)據(jù)庫的設(shè)置”進(jìn)行了資料輸入),如個(gè)體耳號(hào)為95-884的母豬,則先在“數(shù)據(jù)編輯與查詢”界面的母豬基本信息欄中的“個(gè)體耳號(hào)”后面文本框中輸入95-884,再點(diǎn)擊母豬基本信息欄的查詢按鈕,則顯示出該個(gè)體的信息。從查詢結(jié)果中可以看出該個(gè)體在數(shù)據(jù)庫系統(tǒng)中的編號(hào)為103。在“近交系數(shù)計(jì)算”F值整體計(jì)算的“起始編號(hào)”和“結(jié)束編號(hào)”后面的文本框中均輸入103。表示從103號(hào)到103號(hào),即是計(jì)算1個(gè)個(gè)體(103號(hào)個(gè)體)的近交系數(shù)。點(diǎn)擊“母豬F值整體計(jì)算”按鈕,則顯示出該個(gè)體F值(圖5)。
3.4 群體近交系數(shù)的計(jì)算
點(diǎn)擊軟件界面的“近交系數(shù)計(jì)算”按鈕,軟件顯示出“近交系數(shù)計(jì)算”界面(圖4)。如果要計(jì)算豬場(chǎng)中豬群體的近交系數(shù)(先在確保豬場(chǎng)豬該豬個(gè)體的信息已經(jīng)按照上面所述的“1.軟件使用前數(shù)據(jù)庫的設(shè)置”進(jìn)行了資料輸入),則先在“近交系數(shù)計(jì)算”F值整體計(jì)算的“起始編號(hào)”和“結(jié)束編號(hào)”后面的文本框中均輸入該群體的“起始編號(hào)”和“結(jié)束編號(hào)”。比如起始編號(hào)”和“結(jié)束編號(hào)”分別為1和100,則在起始編號(hào)”和“結(jié)束編號(hào)”后面的文本框中分別輸入1和100,點(diǎn)擊“母豬F值整體計(jì)算”按鈕,則顯示出該群體的每個(gè)個(gè)體的近交系數(shù),并按照近交系數(shù)值從大到小的順利排列顯示(圖6)。
參考文獻(xiàn):
[1] 劉 榜.家畜育種學(xué)[M].北京:中國(guó)農(nóng)業(yè)出版社,2007.
[2] 趙壽元,喬守怡.現(xiàn)代遺傳學(xué)[M].北京:高等教育出版社,2001.
[3] 楊業(yè)華.普通遺傳學(xué)[M].北京:高等教育出版社,2000.
[4] 劉 燕,葛云山,陸昌華.豬近交系數(shù)軟件的研制及其應(yīng)用[J]. 畜牧與獸醫(yī),1984(5):235.
[5] 師守堃. 近交和親緣系數(shù)的BASIC語言電算程序[J].中國(guó)畜牧雜志, 1986(4):23-35.
[6] 陳德全,楊靜華.改進(jìn)畜禽近交系數(shù)計(jì)算方法的研究[J].吉林農(nóng)業(yè)大學(xué)學(xué)報(bào),1991(1):75-77.
[7] 陸保榮. 逐代比較累加近交系數(shù)的程序設(shè)計(jì)[J].計(jì)算機(jī)農(nóng)業(yè)應(yīng)用,1989(2):25-29.
[8] 葉 強(qiáng),孟慶生,楊運(yùn)清,等.畜禽群體近交程度分析與選配決策系統(tǒng)研制[J].黑龍江畜牧獸醫(yī),2000(1):13-14.
[9] 肖艷紅,楊國(guó)輝,葉 強(qiáng).畜禽群體近交程度分析系統(tǒng)研制[J].黑龍江動(dòng)物繁殖,1999(4):13-14.