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(可选项, 主要是固定初始值)
文件输出命令行文件执行run_dmuai 运行dmuai程序 run_dmu4 运行dmu4程序 run_dmu5 run_rjmc
|