qpAdm进行群体结构估计
2021-04-22 本文已影响0人
DumplingLucky
qpAdm是一种统计工具,是ADMIXTOOLS包中的一个程序,用于研究历史涉及两个或多个源人口之间混合的人口的祖先。使用qpAdm,可以确定适合感兴趣群体的种群历史的合理混合物模型,并计算可归因于模型中每个源种群的祖先的相对比例。
qpAdm分析案例:
qpAdm用到了f4统计量:
f4统计量简介:假设有A、B、C、D四个个体,代表四个类群,aj/bj/cj/dj分别是该类群在位点j的参考基因组基因频率(reference allele frequency),总位点J个。分母是用来将统计量正态化的,类群x可以左右选择,对好的是选择与感兴趣类群关系较近的population。
f4统计量公式
1. 基因型文件
EIGENSTRAT格式文件:详细参考here
/data/qpAdm/popgen_qpAdm_test_190120.geno
/data/qpAdm/popgen_qpAdm_test_190120.ind
/data/qpAdm/popgen_qpAdm_test_190120.snp
2. 样本群体文件
f4统计中“左侧”和“右侧”样本列表都是一个简单的文本文件,每行包含一个样本名称。 在EIGENSTRAT格式输入的基因型数据中,群体名称与.ind文件第三栏中的条目匹配。 “右”群体列表包括与“左”人群相距遥远但相关的外群(outgtoup)。 “左侧”群体列表包括感兴趣的群体。 对于qpAdm,左边群体中的第一个是混合模型的目标样本,其余的作为目标的参考群体。
target="Corded_Ware_Germany"
refs="Yamnaya_Samara LBK_EN"
og1s="Mbuti Natufian Onge Iran_N Villabruna Mixe Ami Nganasan Itelmen"
echo ${refs} | sed s/" "/"\n"/g > left1.pops
echo ${target} ${refs} | sed s/" "/"\n"/g > left2.pops
echo ${og1s} | sed s/" "/"\n"/g > right.pops
3. 准备参数文件
genotypename: <qpWave_qpAdm_test>.geno
snpname: <qpWave_qpAdm_test>.snp
indivname: <qpWave_qpAdm_test>.ind
popleft: left1.pops
popright: right.pops
details: YES
maxrank: 7
在默认设置下,程序只使用在左侧或右侧总体中均不缺失的SNP。 设置为allsnps:YES时,将使用测试中包括的四个总体中存在的SNP计算每个f4统计量。
4. 运行程序
qpAdm -p test2.par > qpAdm.test2.log
5. 解读qpAdm日志文件
日志文件显示qpAdm的主要结果:混合系数估算值和标准误差:
best coefficients: 0.765 0.235
Jackknife mean: 0.764524556 0.235475444
std. errors: 0.034 0.034
error covariance (* 1000000)
1133 -1133
-1133 1133
下一块展示了建议的混合模型及其所有“子模型”的模型拟合度量(即p值):
fixed pat wt dof chisq tail prob
00 0 7 31.536 4.95055e-05 0.765 0.235
01 1 8 75.490 3.93452e-13 1.000 -0.000
10 1 8 389.320 0 0.000 1.000
best pat: 00 4.95055e-05 - -
best pat: 01 3.93452e-13 chi(nested): 43.954 p-value for nested model: 3.36113e-11
参考:
https://comppopgenworkshop2019.readthedocs.io/en/latest/contents/05_qpwave_qpadm/qpwave_qpadm.html