昨天,星球内有老师问了一个问题,关于TASSEL中计算kinship异常的问题,讨论了kinship是怎么计算的?怎么判断是否异常?我做了简短的回答:
今天做了一下测试,写篇博客总结一下,TASSEL的MLM模型构建的kinship矩阵是如何计算的。
1. 导入基因型数据
这里导入vcf格式的数据:
2. 导入表型数据和协变量
「表型数据:」
「协变量文件:」
3. 构建kinship矩阵
3.1 Centered_IBS
这种方法,应该就是VanRaden的方法,中心化的IBS亲缘关系矩阵。
构建的kinship矩阵:
R语言比较:
两者一致。
3.2 Normalized_IBS
这种方法应该就是Yang的方法:
结果:
R语言对比:
两者结果完全一致。
3.3 Dominance_Centered_IBS
这个,应该是显性中心化的IBS
结果:
R语言结果对比:
结果完全一致。
3.4 Dominance_Normalized_IBS
这个应该是显性矩阵标准化的IBS矩阵。
结果:
暂时,未找到R中对应矩阵计算的方法。
4. kinship矩阵如何判断异常
1,可以将kinship做热图聚类,查看分布,类似:
2,一般对角线<0.8,或者>1.2的个体,可以判断是离群样本,可以通过PCA看一下其分布
3,非对角线为负值,一般可以认为其为0,如果负值很大,就要看一下是否异常