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

相关阅读:

DMU-参数介绍-学习笔记1
DMU-单性状动物模型-学习笔记2
DMU-单性状重复力模型-学习笔记3
DMU-多性状动物模型-学习笔记4
DMU-单性状动物模型-母体效应–学习笔记5
DMU软件 语法高亮 vim设置–学习笔记6

关注我的公众号:R-breeding

DMU-参数介绍-学习笔记1相关推荐

  1. oracle scn参数,【学习笔记】Oracle数据库使用_MINIMUM_GIGA_SCN推进SCN案例

    天萃荷净 Oracle研究中心学习笔记:分享一篇关于Oracle数据库SCN故障解决办法,使用_MINIMUM_GIGA_SCN推进SCN案例. 最近帮朋友弄一个WIN环境的数据库,需要增加SCN值, ...

  2. oracle修改asm参数文件,学习笔记:Oracle RAC参数文件管理 修改创建asm中的spfile文件...

    天萃荷净 Oracle rac创建修改asm中的spfile文件内容 create spfile to asm --查看sid SQL> show parameter instance_name ...

  3. oracle查询大小写敏感参数,【学习笔记】Oracle 11G密码大小写敏感的设置方法 sec_case_sensitive_logon参数...

    天萃荷净 分享一篇Oracle数据库密码大小写敏感设置案例,从11.1开始密码大小写敏感了,同时可以设置sec_case_sensitive_logon参数可以忽略大小写敏感(USER$.SPARE4 ...

  4. python形式参数和实际参数_python学习笔记3:函数和参数

    函数 函数的参数和返回值 形参(形式参数): 在函数定义的时候用到的参数没有具体值,只是一个占位的符号,成为形参,下例中的peison 实参(实际参数): 在调用函数的时候输入的值:下例中的明月 de ...

  5. tcptracerte参数_scapy学习笔记(3)发送包,SYN及TCP traceroute 扫描

    转载请注明:@小五义:http://www.cnblogs/xiaowuyi 在安装完scapy(前两篇笔记有介绍)后,linux环境下,执行sudo scapy运行scapy. 一.简单的发送包 1 ...

  6. USB驱动程序之概念介绍学习笔记

    现象:把USB设备接到PC 1. 右下角弹出"发现android phone" 2. 跳出一个对话框,提示你安装驱动程序 问1. 既然还没有"驱动程序",为何能 ...

  7. linux内核earlyprink,内核启动参数机制学习笔记

    前两天把内核关于内核启动参数的一些知识彻底地分析了一遍<Linux内核源码分析--内核启动命令行的传递过程(Linux-3.0 ARMv7)>,发现了一些以前没有注意的细节问题,这里总结如 ...

  8. Eclipse中Build Path的使用介绍---学习笔记

    什么是Build Path? Build Path是指定Java工程所包含的资源属性集合. 在一个成熟的Java工程中,不仅仅有自己编写的源代码,还需要引用系统运行库(JRE).第三方的功能扩展库.工 ...

  9. python中的命令行参数_python学习笔记6:命令行参数

    1. 使用步骤 使用步骤如下: # 导入模块 import argparse # 获取parser, description文本会显示在help信息中 parser = argparse.Argume ...

最新文章

  1. HDU1102(Prim算法)
  2. 【Network Security!】用户与组管理
  3. python生成表格文件_python 读取excel文件生成sql文件实例详解
  4. 40岁学python有前途吗-西安新城区学python人工智能少儿编程哪家机构好
  5. 终于解决SQL Server 2008 64位系统无法导入Access/Excel的问题 2012/08/01
  6. PXE网络装机之centos7(批量自动装机)
  7. 【python图像处理】两幅图像的合成一幅图像(blending two images)
  8. EC+VO+SCOPE for ES3
  9. package.json---入门说明
  10. Javascript实现简单的选项卡
  11. 特征工程整理流程和涉及技术点
  12. 面向对象——类设计(二)
  13. 自己的 并查集 模板
  14. Java 在Word创建表格
  15. soapui使用教程1-基本使用和录制
  16. python博弈论代码_博弈论的算法总结
  17. Google浏览器删除的书签怎么恢复?
  18. ESMap三维地图开发流程
  19. 联想计算机设置恢复出厂,联想电脑恢复出厂设置还原系统攻略
  20. 大地坐标转换极坐标(球坐标)

热门文章

  1. 物联网:点燃JAVA未来之路的火炬
  2. 我们前端跟后端是怎么合作的
  3. Apache Tomcat安装、配置、启动与后续操作步骤
  4. 装配式工程师:BIM和装配式建筑的关系
  5. java模拟双色球随机一注
  6. HMAC简介 Wik部分i翻译
  7. 传统电力系统有功负荷和频率调整方法
  8. java 复合方法_《Java 8 实战》Ch3: Lambda表达式(下):类型与限制、方法引用、复合...
  9. 转 94fbr 找到注册码的把戏
  10. 台式计算机连接无线,台式电脑怎么连wifi