当前位置: 首页 > 生物信息 > 使用Python版XP-CLR检测基因组中的选择信号

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

发布于:2020-6-7 生物信息 0条评论 200 views

上一篇文章 《使用XP-CLR检测基因组中的选择信号》 介绍了 XP-CLR。XP-CLR 是一种是基于选择扫荡(selective sweeep)的似然方法。选择扫荡可以增加群体之间的遗传分化,导致等位基因频率偏离中性条件下的预期值。XP-CLR 利用了两个群体之间的多基因座等位基因频率差异(multilocus allele frequency differentiation)建立模型,使用布朗运动来模拟中性下的遗传漂移,并使用确定性模型来近似地对附近的单核苷酸多态性(SNPs)进行选择性扫描。

原版 XP-CLR 软件已经多年没更新,当中存在一些 bugs。实测在计算几千个样本的时候,原版软件会报 Segmentation Fault 的错误。牛津大学 的 Nick Hardin 使用 Python 重写了 XP-CLR的计算工具,并且改正了当中存在的 bug。如果需要使用 XP-CLR 对大量样本分析,推荐使用这个重构的 Python版。

Python版的仓库地址为 https://github.com/hardingnj/xpclr

安装

可以克隆 GitHub 仓库再安装:

git clone https://github.com/hardingnj/xpclr.git
cd xpclr
python setup.py install

也可以使用 bioconda 安装:

conda install xpclr -c bioconda

两种安装方式,推荐使用 bioconda 安装,不容易出错。

使用

这个工具支持 hdf5,vcf 和 原版 XP-CLR 格式的文件。

使用也很简单,这里以原版 XP-CLR 文件(mapfile、popAfile、popBfile三个文件)为例,以 50kb unoverlapping window 去对 phased 数据进行计算:

xpclr --format txt --map mapfile --popA popAfile --popB popBfile --chr 1 --phased --maxsnps 600 --size 50000 --step 50000  --out output

GitHub 上的选项参数说明并不详细,不过代码中的注释写得比较明确:


欢迎关注

发表评论

电子邮件地址不会被公开。 必填项已用*标注

9 − 8 =

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据