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

上一篇文章 《使用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 上的选项参数说明并不详细,不过代码中的注释写得比较明确:

图片[1]-使用Python版XP-CLR检测基因组中的选择信号 --实验盒

图片[2]-使用Python版XP-CLR检测基因组中的选择信号 --实验盒


图片[3]-使用Python版XP-CLR检测基因组中的选择信号 --实验盒

© 版权声明
THE END
喜欢就支持以下吧
点赞13 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容