1. 程式人生 > >DMU-遺傳引數評估-學習筆記1

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

在這裡插入圖片描述