zoukankan      html  css  js  c++  java
  • 使用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 上的选项参数说明并不详细,不过代码中的注释写得比较明确:

  • 相关阅读:
    如何实现浏览器内多个标签页之间的通信?
    vue组件库的基本开发步骤(源代码)
    vue组件库的基本开发步骤
    Websocket原理
    TCP和UDP的区别
    一句话概括 tcp三次握手
    简单说一下你对http和https的理解
    .Ajax(async异步与sync同步)
    get和post请求方式的区别
    面试易忽略状态码
  • 原文地址:https://www.cnblogs.com/shiyanhe/p/13080826.html
Copyright © 2011-2022 走看看