【GS课堂】全基因组选择中如何构建G矩阵
GBLUP在遗传评估领域应用广泛,它和传统动物模型比较相似,利用SNP信息构建G矩阵来代替系谱构建的A矩阵,然后根据估算出的GBLUP进行基因组选择。一步法(single step)是将A矩阵和G矩阵联合构成H矩阵,所以G矩阵的构建比较关键。
下面使用R语言介绍如何通过编程的方法计算G矩阵。主要内容有:G矩阵的公式,如何将公式转化为代码,相关函数的使用方法。文章最后附有本次演示所有的R语言代码,方便学习和重演结果。
参考文献:
Vanraden P M. Efficient methods to compute genomic predictions.[J]. Journal of Dairy Science, 2008, 91(11):4414-4423.
Forni S, Aguilar I, Misztal I. Different genomic relationship matrices for single-step analysis using phenotypic, pedigree and genomic information.[J]. Genetics, selection, evolution : GSE, 2011, 43(1):1.
http://articles.extension.org/pages/68019/genomic-relationships-and-gblup
常用的G矩阵公式
计算方法
1,现有3个二倍体的个体,每个个体有4个SNP位点信息,基因型如下
2,将基因型进行变为0,1,2的形式,0表示Major frequent的纯合子,2表示Minor frequent的纯合子,1表示杂合子。转化的文件命名为MAF矩阵
3,M矩阵,将MAF进一步转化为-1,0,1的形式,保存为M矩阵
MM’矩阵有一些特性,M’是M的逆矩阵
MM’的对角线,表示个体纯合子的个数,比如个体1有两个纯合子,个体2有两个纯合子,个体3有4个纯合子
M’M的特性
M’M的对角线表示每个位点纯合子的个体数,比如第一个位点,有3个个体是纯合的,第二个位点,有1个位点是纯合的。
4,P矩阵,P矩阵是Minor 配子的频率所计算的矩阵,P=2*(p-0.5),用于M矩阵的中心化
比如,第一个位点,p为0.3333,第二个位点p为0.3333,第三个位点p为0.1667,第四个位点p为0.1667,则P矩阵为
5,Z矩阵,为M矩阵的中心化
6,G矩阵的计算
7,G矩阵使用sommer软件包计算结果
结论:两者结果一致,通过手动计算和软件包计算一致。
8,编写函数,计算G矩阵(数据格式-1,0,1)
9 全部R语言代码