使用XP-CLR检测基因组中的选择信号

检测基因组选择信号的方法有很多种,其中 XP-CLR 方法是常用的一种。XP-CLR 是陈华老师、Nick Patterson 和 David Reich 在 2010 年发表的方法,全称叫 the cross-population composite likelihood ratio test(跨群体复合似然比检验),是一种是基于选择扫荡(selective sweeep)的似然方法。

选择扫荡可以增加群体之间的遗传分化,导致等位基因频率偏离中性条件下的预期值。XP-CLR 利用了两个群体之间的多基因座等位基因频率差异(multilocus allele frequency differentiation)建立模型,使用布朗运动来模拟中性下的遗传漂移,并使用确定性模型来近似地对附近的单核苷酸多态性(SNPs)进行选择性扫描。

XP-CLR 不仅可以用在人类上,它在动植物驯化研究中也用得较多,比如玉米、大豆、家犬、牛等。

安装

XP-CLR的下载地址可以在 https://reich.hms.harvard.edu/software 找到。

wget https://reich.hms.harvard.edu/sites/reich.hms.harvard.edu/files/inline-files/XPCLR.tar

tar xvf XPCLR.tar

解压后有 binsrc 两个文件夹以及一个 README 文档。’bin’ 中的 XPCLR 是程序可执行文件,剩下的三个是示例数据。

如果 XPCLR 无法在你的系统中运行,则需要自己用 src 的源码编译:

cd src
make
make install

输入数据

XP-CLR 的计算需要2个 geno 文件和 1 个.snp (map) 文件。

.geno file:

一个群体的基因型数据放在一个 geno 文件中。每一行包含一个 SNP 的 genotype(0或1),每两列代表一个人。数据可以是 phased 的,也可以未 phased。如果是 phased 后的,每一列是一个 haplotype。如果是未 phased 的,同一个人的两个 alleles 可以随意在两列中排放。示例数据 CEU.9YRI.9用的是空格间隔符。

比如下面这个,代表了 3 个人的 2 个 SNPs:

1 0 1 1 9 9
1 1 1 0 0 0

.snp file

每一行是一个 SNP的信息,每一列分别是 SNPName chr# GeneticDistance(Morgan) PhysicalDistance(bp) RefAllele TheOtherAllele。示例数据 9.xpclr.b36.snp 用的是 tab 间隔符。

比如:

rs10814410  9   0.000109    36587   C   T
rs9408752   9   0.000938    91857   A   G
rs2810979   9   0.001323    152695  G   A

运行

分析命令:

XPCLR -xpclr genofile1 genofile2 mapfile outputFile -w1 gWin snpWin gridSize chrN -p corrLevel

参数解释:
-xpclr :后面接是两个群体的 .geno 文件(genofile1 和 genofile2)、 .snp 文件(mapfile)、输出文件(outputFile)
-w1:后面接的参数依次为:gWin 是 Morgan 为单位的window size (一般可以设为 0.005);snpWin 代表一个 window 中最大的 SNP 数量;gridSize 是 bp 为单位的两个 grid points 的间距;chrN 是染色体数。
-p-p1 代表 phased 的数据,-p0 代表未 phased。
corrLevel:加权复合似然比检验中的 criterion,一般可设为0.95。

运行示例数据,示例两个群体的 9号染色体的 unphased 数据:

./XPCLR -xpclr CEU.9 YRI.9 9.xpclr.b36.snp xpclr.9 -w1 0.005 200 2000 1 -p0 0.95

得到的结果文件中,每一列分别代表 chr# grid# #ofSNPs_in_window physical_pos genetic_pos XPCLR_score max_s,XPCLR_score 是算出的 XP-CLR 分数。

Python版

原版 XP-CLR 已经多年没更新。Big Data Institute, University of Oxford 的 Nick Hardin 使用 Python 重写了 XP-CLR的计算工具,并且改正了当中存在的小 bug。仓库地址为 https://github.com/hardingnj/xpclr。 可以克隆 GitHub 参考后使用 python setup.py install 安装,也可以直接在 bioconda 用conda install xpclr -c bioconda 安装。

Python版的教程可以看使用Python版XP-CLR检测基因组中的选择信号这篇文章。

参考

Chen, H., Patterson, N. and Reich, D., 2010. Population differentiation as a test for selective sweeps. Genome research, 20(3), pp.393-402.

 
 
 
 


© 版权声明
THE END
喜欢就支持以下吧
点赞0
分享
评论 抢沙发