DMU-遺傳引數評估-學習筆記1
DMU軟體介紹
DMU是一個數量遺傳學工具包,主要功能包括估計方差組分和固定效應,預測育種值。DMU的開發歷史可以追溯到25年前,大部分功能基於數量遺傳學研究的需求而開發。在丹麥動物育種研究中,DMU是一個主要的統計研究工具(估計和預測)。此外,DMU也應用於丹麥牛,羊,貂和馬等常規遺傳評估研究。因此,DMU不但在一些特定的專案中具備高效能優勢,也適用於常規數量遺傳學研究。“DMU”名稱最初來自於程式包中用來進行初始化的過程名字縮寫。這些過程利用約束最大似然法(REML),通過Derivative-free方式執行MUltivariate analysis,因此得名DMU。但是,在當前的DMU版本中,並不包括DF-REML模組,現在D僅代表DJF(丹麥農業科學學院的縮寫)。
DMU安裝包有很多模組,如DMU1、DMU4、DMU5、DMUAI和RJMC。DMUAI模組可利用平均資訊限制最大似然(AI-REML) (Jensen et al. 1997)演算法進行(協)方差組分的估計。AI是通過平均觀察和預期資訊的資訊矩陣得到的。該模組還可以使用期望最大化(EM)演算法來最大化約束似然函式。被估計的(協)方差組分的漸近標準誤是從平均資訊矩陣中獲得的。
學習DMU初衷
想試試DMU處理一批資料, 發現這個軟體, 竟然沒有一個合適的操作說明文件, 我手頭上有蘇國生老師的PPT中文版DMU操作說明, 但看起來還是費勁.
剛好自己在學習這個軟體, 用實際資料來演示如何使用這個軟體進行資料分析.
我想從四部分進行:
- 1, DMU語法介紹
- 2, 單性狀動物模型
- 3, 單性狀重複力模型
- 4, 多性狀動物模型
其它內容, 包括測定日模型(隨機迴歸模型), 母體效應模型, GBLUP模型, 顯性上位性模型, 一步法GS模型等等以後再做總結.
說明文件是作者寫的, 一般來說作者都想通過邏輯的構建, 讓讀者瞭解軟體的方方面面, 但是讀者一開始接觸軟體時, 迫切的是想解決問題, 不是來學理論, 不是來學知識, 只是想解決問題. 但是大多數文件無法滿足這些迫切的需求. 所以, 最好的操作說明, 就是有資料, 有模型, 有結果說明, 可以很快上手. 我寫此操作說明的目的就在於此.
DMU語法介紹
軟體組成, 主要包括四類程式
- DMU1
這個主要是為了整理資料和模型, 相當於預處理程式, 其它三個程式都要經過它的處理才能分析. 類似BLUPF90的renumf90程式. - DMUAI
這個主要估算方差組分的程式 - DMU4和DMU5
DMU4主要是求解混合線性方程組, 它不估算方差組分, 只求解. 類似BLUPF90包中的blupf90程式.DMU5功能和DMU4類似, 也是求解方程組, 適用於大資料 - RGMC
主要是貝葉斯抽樣, 估算方差組分, 計算育種值.
資料和系譜及逆矩陣格式
- 全部資料, 不要有行頭
- 資料中不能含有字元, 字母, 都必須是數字
- 逆矩陣可以是下三角或者上三角矩陣的三列形式
- 系譜資料包括四列: ID, Sire, Dam, Birth
- 資料中, 因子(ID, Sex…)放在前面, 觀測值(y1, y2, y3)放在後面, 因子用整數表示, 不能含有字母
因此, 在進行分析之前, 首先需要對資料進行轉化, 比如系譜要變為整數, 要有第四列資訊出生資訊, 如果沒有, 就寫成2018年就行. 資料中也要重新編號, 特別是某些因子含有字母, 需要轉化為數字. 可以使用R語言進行轉化, 將系譜的所有水平編號為1…n, 然後替換. 將資料的所有水平, 重新編碼.
引數檔案
檔名為name.DIR, 其中name為程式名稱, DIR必須要有, 並保持大寫.
-
$COMMENT
檔案註釋, 一般是解釋你所使用的模型 -
$ANALYSIS
你分析所使用的模型, 如果你需要估算方差組分, 那麼簡單寫為:
$ANALYSIS 1 1 0 0 -
$DATA
指定資料格式,因子數目, 觀測值數目, 缺失值, 和資料位置
如果是txt檔案, 有5個因子, 4個觀測值, 缺失值-999, 在D盤根目錄
$DATA ASCII(5,4,-999) d:/dat.txt -
$VARIABLE
寫出因子和變數的名稱, 第一行為因子, 第二行為變數
ID Loc Year Herd Sex Hy
y1 y2 y3 y4 -
$MODEL
指定分析模型中, 觀測值個數, 固定因子, 隨機因子
比如單性狀, 正態資料
1 1 0 0 0
比如二性狀, 正態資料
2 2 0 0 0
固定因子: 每個性狀一行, 包含若干整數
單性狀中, y1 = Loc + Year + Herd + Sex, random = ID
1 0 5 1 2 3 4 5
隨機因子: 每個性狀一行, 包含若干整數
1
-
$VAR_STR
定義方差協方差結構
可以支援系譜, 和自定義關係矩陣inv
定義系譜檔案:
$VAR_STR 2 PED 2 ASCII ped.txt
定義逆矩陣:
$VAR_STR 1 COR ASCII ginv -
$PRIOR
定義初始值, 不過不定義, 預設是方差組分為1, 協方差組分為0, 定義格式, 下三角行列形式.
比如兩性狀, Vg和Ve
1 1 1 Vg11
1 2 1 Vg12
1 2 2 Vg22
2 1 1 Ve11
2 2 1 Ve21
2 2 2 Ve22 -
$VAR_REST(可選項, 主要是固定初始值)
檔案輸出
- lst
描述統計, 模型迭代, 方差組分估計 - PAROUT
方差組分估計(行列形式顯示) - PAROUT-STD
方差組分及標準誤(計算遺傳力) - LLIK
最後一次迭代情況
命令列檔案執行
- run_dmuai
執行dmuai程式 - run_dmu4
執行dmu4程式 - run_dmu5
- run_rjmc