zoukankan      html  css  js  c++  java
  • 使用Hapbin基于EHH、iHS、XP-EHH方法检测基因组中的选择信号

    EHH(Extended Haplotype Homozygosity)、iHS(Integrated Haplotype Score) 和 XP-EHH(Cross Population Extended Haplotype Homozogysity)是常用的基于 haplotype 分析基因组受选择情况的方法。其中,EHH 和 iHS 是检测一个群体中的选择信号,而 XP-EHH 是在两个群体中进行比较。

    Hapbin 是一个 C++ 写的工具,可以计算 EHH、iHS 和 XP-EHH。类似工具还有 selscan、rehh 等,而 hapbin 的操作更为方便,速度也非常快。下面简单介绍一下它的使用方法。

    编译

    Hapbin 需要从源码编译成可执行文件:

    git clone https://github.com/evotools/hapbin.git
    cd hapbin/build/
    cmake ../src/
    make
    

    编译成功后,把 build 目录加在环境变量配置文件 .bash_profile.bashrc 中即可:

    export PATH=/shiyanhe/softwares/hapbin/build:$PATH
    

    编译过程依赖 GCC 4.7 以上版本,如果上面的编译失败,需要安装新版本的 GCC 再重新编译:

    # 在 Ubuntu 上安装 GCC
     sudo apt-get update
     sudo apt-get install git cmake libcr-dev mpich libmpich-dev
     
    # 在 CentOS 7 上安装 GCC
     sudo yum install cmake git gcc-c++
    

    输入文件

    需要两类输入文件:

    hap files (--hap): IMPUTE2 的 HAP / LEGEND / SAMPLE 格式中的 hap 文件,一行代表一个SNP,一列代表一个haplotype。如果是 haps haplotype 文件,可以用 SHAPEIT 转换格式:shapeit -convert --input-haps gwas.phased --output-ref gwas.phased.hap gwas.phased.leg gwas.phased.sam。如果是 vcf 格式,可以用 vcftools 转换格式: vcftools --gzvcf genotypes.vcf.gz --IMPUTE

    map files (--map): 跟 plink 的 ped/map 格式的 map 文件一样,顺序需要与 hap 文件的 SNP 顺序对应。

    注意,不同染色体的 hap 和 map 文件需要分开。另外,如果是在两个群体中计算 XP-EHH,hap 文件需要按群体分开来存放。

    运行

    计算 EHH:

    ehhbin --hap [.hap file] --map [.map file] --locus [locus] --out [output prefix]
    

    计算 iHS:

    ihsbin --hap [.hap file] --map [.map file] --out [output prefix]
    

    计算 XP-EHH:

    xpehhbin --hapA [Population A .hap file]] --hapB [Population B .hap file]] --map [.map file] --out [output prefix] 
    

    例子,计算 A 和 B 两个群体 1 号染色体的 XP-EHH:

    xpehhbin --hapA popA_chr1.hap --hapB popB_chr1.hap --map chr1.map --out results_chr1
    

    计算时也是分染色体进行。如果要跑全基因组,写个循环脚本批量跑即可。

  • 相关阅读:
    2019 苏宁控股java面试笔试题 (含面试题解析)
    2019 58同城java面试笔试题 (含面试题解析)
    2019 搜狐java面试笔试题 (含面试题解析)
    2019 拼多多java面试笔试题 (含面试题解析)
    2019 新浪 java面试笔试题 (含面试题解析)
    doubango(2)--底层协议栈结构分析
    doubango(1)--从协议栈结构说起
    doubango简介
    WebRTC VoiceEngine使用简单Demo
    WebRTC音视频引擎研究(2)--VoiceEngine音频编解码器数据结构以及参数设置
  • 原文地址:https://www.cnblogs.com/shiyanhe/p/13340672.html
Copyright © 2011-2022 走看看