BLUPF90软件基本介绍
本期内容简介
遗传评估软件BLUPF90的基本介绍与使用教程
目录:
1. 基础知识
1.1 BLUP模型
1.1.1 ABLUP模型
1.1.2 GBLUP模型
1.1.3 一步法(ssGBLUP)模型
1.2 混合亲缘关系矩阵H
2. 软件概况
2.1 发展历史
2.2 使用权限
2.3 支持平台
2.4 软件模块
2.5 使用流程(遗传评估)
3. 程序文件
3.1 数据文件
3.1.1 数据文件整体要求
3.1.2 表型数据文件
3.1.3 系谱数据文件
3.1.4 基因组数据文件
3.2 参数文件
3.2.1 参数文件整体要求
3.2.2 必要参数
3.2.3 可选参数
3.2.4 效应定义小结
3.2.5 额外参数
3.3 结果文件
3.3.2 评估结果文件
4. 实践示例
1. 基础知识
1.1 BLUP模型
1.1.1 ABLUP模型
ABLUP模型是一种基于系谱的混合线性模型,用A矩阵来计算育种值

1.1.2 GBLUP模型
GBLUP模型是一种基于分子标记的混合线性模型,用G矩阵来计算育种值

1.1.3 一步法(ssGBLUP)模型
一步法模型与BLUP一致,但随机效应的(协)方差结构不一致。使用混合亲缘关系矩阵H代替加性亲缘关系矩阵A阵,同时使用系谱和基因组信息求解

1.2 混合亲缘关系矩阵H
其实质为利用基因组信息调整未基因分型个体的亲缘关系


2. 软件概况
2.1 发展历史
1997年由佐治亚大学的 Ignacy Misztal 开发,最初是为了课程教学,时至今日仍在不断更新,Linux版本最新版2023-01-25发布
2.2 使用权限
研究使用:免费使用,但需在论文中引用
商业使用:需申请商业授权
2.3 支持平台
Linux, Mac OSX, Windows
推荐使用Linux版本[1]

2.4 软件模块
不同功能分模块提供,每个模块提供一个可执行文件
本次主要介绍遗传评估
部分完整模块信息可参阅application_programs[BLUPF90][2]

2.5 使用流程(遗传评估)

请注意,已知方差组分时可省略方差组分估计步骤
3. 程序文件
3.1 数据文件
3.1.1 数据文件整体要求
不应有标题行
不应出现字符#
使用空格作为分隔符,连续的多个空格将被视为一个分隔
不能使用制表符TAB作为分隔符
对于Linux平台,确保文件换行符为LR (\n)
可以使用dos2unix命令修改window平台创建的文件
3.1.2 表型数据文件
个体编码可以包含字母和数字(DMU中不能包含字母)
缺失值可任意指定
整型和浮点型变量无强制顺序(DMU要求整型在前)

3.1.3 系谱数据文件
个体编码可以包含字母和数字(DMU中不能包含字母)
系谱可以包含个体、父亲、母亲、受体母亲、出生年
信息列之间无顺序要求,可以通过参数指定
个体信息列必须包含在系谱中
默认系谱为:个体、父亲、母亲三列(有顺序)
未知个体使用0表示,不可修改

3.1.4 基因组数据文件
基因组文件为经过调整的012格式
以0、1、2表示双等位基因座中次要等位基因的数量,5表示缺失
等位基因之间不能具有空格
等位基因应该从每行的相同位置起始
长度不同的ID需要用空格补齐

3.2 参数文件
3.2.1 参数文件整体要求
参数文件以关键字和值的键值对形式指定
关键字为全大写,占据单独一行,不应具有其他内容
部分关键字有严格的顺序要求
参数文件中可以包含#引导的注释
完整的参数列表可以参阅用户手册[3]
DATAFILE
data.txt
TRAITS
4
FIELDS_PASSED TO OUTPUT
1
WEIGHT(S)
RESIDUAL_VARIANCE
1.9004
EFFECT
2 cross alpha # 1st effect fixed (sex)
EFFECT
3 cross alpha # 2nd effect random (litter)
RANDOM
diagonal
(CO)VARIANCES
3.2708
EFFECT # 3rd effect random (animal)
1 cross alpha
RANDOM
animal
FILE
pedigree.txt
FILE_POS
1 2 3
SNP_FILE
genotypes.txt
PED_DEPTH
0
(CO)VARIANCES
1.4373
3.2.2 必要参数
参数文件必须包含六个关键字,且需在参数文件开始时,按如下顺序指定:
DATAFILE
TRAITS
FIELDS_PASSED TO OUTPUT
WEIGHT(S)
RESIDUAL_VARIANCE
EFFECT
DATAFILE
表型数据文件名
文件名中不应包含字符#
可以使用绝对路径或者相对路径
格式
DATAFILE
F1
示例
DATAFILE
data.txt
TRAITS
待评估的性状在表型数据文件中的列位置
多个待评估的性状以空格分隔
格式
TRAITS
t1 t2 t3
示例
TRAITS
4
示例
TRAITS
4 5
FIELDS_PASSED TO OUTPUT
在结果文件中额外输出原始编码
默认输出为重编码后的数据
可以指定多列
无需指定以空行表示
格式
FIELDS_PASSED TO OUTPUT
p1 p2 .. pm
示例-输出2、3列原始编码
FIELDS_PASSED TO OUTPUT
2 3
示例-不输出原始编码
FIELDS_PASSED TO OUTPUT
WEIGHT(S)
加权数值在表型数据文件中的列数
无需指定以空行表示
格式
WEIGHT(S)
w
示例-加权数值在第4列
WEIGHT(S)
4
示例-不指定加权数值
WEIGHT(S)
RESIDUAL_VARIANCE
残差的方差协方差矩阵
根据调用的模块不同,可能作为先验值或真值
矩阵的阶数和待评估的性状相同
格式
RESIDUAL_VARIANCE
R
示例
RESIDUAL_VARIANCE
1 0
0 1
EFFECT
最关键的参数
e1 e2 e3 …
效应在表型数据文件中的列数
指定列数的数量和待评估的性状相同
type:变量类型
cross:分类变量
cov:协变量
form:变量格式
alpha:字符型
num:数值型
请注意,变量类型为协变量时,变量格式默认为数值型
格式
EFFECT
e1 e2 e3 ... type form
示例
EFFECT
2 cross alpha
或
EFFECT
2 2 cov num
3.2.3 可选参数
可选参数的指定位置:紧随特定参数之后或必要参数后的任意位置
可选参数仅为程序运行可选,部分参数的有无会影响到分析的模型和方法
部分可选参数之间也有相互顺序
RANDOM
必须在EFFECT参数后
指定EFFECT为随机效应
定义随机效应的方差-协方差矩阵
diagonal: 随机效应
sire : 父系效应
animal : 动物效应(加性效应)
格式
RANDOM
random_type
示例
RANDOM
diagonal
FILE
必须在RANDOM后指定
RANDOM必须为sire或animal
指定系谱文件
可以使用绝对路径或者相对路径
格式
FILE
fped
示例
FILE
pedigree.txt
FILE_POS
必须在FILE后指定
定义系谱文件列信息
个体、父亲、母亲、受体母亲、出生年份在系谱文件中的列数,信息必须按如上顺序
默认1 2 3 0 0
格式
FILE_POS
animal sire dam alt_dam yob
示例
FILE_POS
1 2 3
SNP_FILE
必须在FILE或FILE_POS后指定
指定基因组文件
该参数指定后,评估将从ABLUP改为ssGBLUP
可以使用绝对路径或者相对路径
格式
SNP_FILE
fsnp
示例
SNP_FILE
genotypes.txt
PED_DEPTH
必须在FILE、FILE_POS或SNP_FILE后指定
定义追溯的系谱深度
默认:3
使用全部系谱:0
格式
PED_DEPTH
p
示例
PED_DEPTH
0
(CO)VARIANCES
必须在RANDOM、FILE、FILE_POS、SNP_FILE或PED_DEPTH后指定
定义随机效应先验方差-协方差时,根据调用的模块不同,可能作为先验值或真值
矩阵的阶数和待评估的性状数相同
格式
(CO)VARIANCES
G
示例
(CO)VARIANCES
1 0
0 1
3.2.4 效应定义小结
效应参数按照如下顺序,可以省略,但不可改变顺序
EFFECT
RANDOM
FILE
FILE_POS
SNP_FILE
PED_DEPTH
(CO)VARIANCES
效应指定的更多参数可以参阅用户手册[3]
固定效应
EFFECT
2 cross alpha
加性效应
EFFECT
alpha1 cross
RANDOM
animal
FILE
pedigree.txt
FILE POS
1 2 3
SNP FILE
genotypes.txt
PED DEPTH
0
(CO)VARIANCES
1.4373
永久性随机环境效应
EFFECT
3 cross alpha
RANDOM
diagonal
(CO)VARIANCES
3.2708
3.2.5 额外参数
不影响分析过程的核心
以OPTION开始,每行定义一个
均有默认值
参数可能仅对特定模块有效
相互之间没有顺序要求。
OPTION missing 0
设定缺失值
OPTION conv_crit 1e-10
设定收敛标准
OPTION maxrounds 5000
设定最大迭代次数
OPTION solv_method PCG
设定求解方法(FSPAK, SOR, PCG)
OPTION sol se
计算标准误差(求解方法强制为FSPAK,忽略OPTION solv_method )
OPTION use_yams
使用YAMS进行分析
格式
OPTION alpha_size nn
示例
OPTION alpha_size 20
3.3 结果文件
3.3.1 重编码结果文件
renf90.par
参数卡文件的重编码
renf90.dat
数据文件的重编码
依次为性状的表型观察值,效应值,重编码个体ID和原始个体ID

renaddxx.ped
系谱文件的重编码
xx表示加性效应在renf90.par中的效应编号
第一列:重编码的个体ID
第二列:重编码的父亲ID
第三列:重编码的母亲ID
第十列:原始的个体ID

3.3.2 评估结果文件
solutions
性状编号
效应值编号
效应值编码
估计值
标准误差

4. 实践示例
运行步骤
数据整理:renumf90 test.par | tee renumf90.log
运算:blupf90 renf90.par | tee blupf90.log
实际运行材料和参数卡可以在公众号后台回复关键字“BLUPF90”获取
Linux版本[1]:
http://nce.ads.uga.edu/html/projects/programs/
application_programs[BLUPF90][2]:
http://nce.ads.uga.edu/wiki/doku.php?id=application_programs
用户手册[3]:
http://nce.ads.uga.edu/wiki/lib/exe/fetch.php?media=blupf90_all8.pdf

供稿:卓越、李伟宁
编辑:孙福腾
校对:李伟宁

团队其他公众平台:
微信公众号 | 房子下面一头猪

知乎|房子下面一头猪 (https://www.zhihu.com/people/mang-guo-c-60-10)
GitHub | CAU-TeamLiuJF (https://github.com/CAU-TeamLiuJF)