首页 > 其他 > 详细

使用Hapbin基于EHH、iHS、XP-EHH方法检测基因组中的选择信号

时间:2020-07-19 21:03:52      阅读:279      评论:0      收藏:0      [点我收藏+]

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

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

技术分享图片

使用Hapbin基于EHH、iHS、XP-EHH方法检测基因组中的选择信号

原文:https://www.cnblogs.com/shiyanhe/p/13340672.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!