SHAPEIT(2.0)是专门用于对推断基因组单体型的软件,有牛津大学的团队所开发,并且一直应用与千人基因组计划中。
以下,我将记录如何通过shapeit2对人群的变异数据集(VCF 格式)进行phasing,并构造出reference panel的过程。
首先,准备文件。整个过程只需要变异数据集(VCF 格式),样本信息文件(sample.fam),genetic_map文件和参考序列(fasta格式)。对于genetic_map文件需要单独做些说明,这个记录的是基因组中各个位点的重组率和物理距离之间的关系,这是phasing过程非常重要的一个文件。它来自于人类单体型计划-Hapmap计划,可以下载,
最新版是b37或者说hg19,如果你的reference版本高于hg19,则需要liftover,liftover之后那些顺序发生交叉的位点,是liftover的错误导致的,要去掉。但是要注意的是,genetic-map中两个位点之间的重组率(recombination rate)是不变的,这其实也很好理解,reference之所以需要升级,是因为它的组装结果并非是百分百符合真实情形的,随着技术的进步,我们会不断去升级逼近这个真实情况,但重组率是根据群体的重组情况来计算的,它是由真实情况反映出来的,因此即便reference版本改变了,它的值也不需要改变。不过对于两个位点之间的物理距离(physical distance)就不同了,leftover之后,这个距离是会发生变化的,通过和原点(一般是重组率为0的点或者就是各个染色体的第一个位点)的距离比例来调节。
至于样本信息文件,格式如下:
1009 1009-01 0 0 1 34 1009 1009-02 0 0 2 33 1009 1009-06 1009-01 1009-02 2 67 1030 1030-01 0 0 1 43 1030 1030-02 0 0 2 44 1030 1030-06 1030-01 1030-02 1 71
其他的两份文件就不必多说了。
准备好以上文件之后接下来就是主要的步骤了:
第一步,将vcf转化为bed/bim/fam
bed/bim/fam这三个文件是phasing的常用谱系文件格式。做这一步转换的工具有很多,我们这里直接借助GATK的VariantsToBinaryPed模块进行转换:
第二步,过滤genotype高missing rate和孟德尔错误的位点
第三步,phasing
这是phasing的最后一步了,这里分成两小步,phasing和输出格式转换:
# phasing time shapeit2 \ --duohmm \ -W 5 \ --input-bed chr22.nomendel.filter.bed chr22.nomendel.filter.bim chr22.nomendel.filter.fam \ --input-map genetic_map.chr22.txt \ -O hapData \ --thread 1 && echo "** panel done **" # 格式转换 time shapeit2 -convert \ --input-haps hapData \ --output-vcf chr22.haps.vcf \ --output-ref chr22.phased.hap chr22.phased.leg chr22.phased.sam && echo "** all done **"
以上输出结果中,chr22.haps.vcf
便是进行phasing之后的结果,而chr22.phased.hap
和chr22.phased.leg
这两个文件是从chr22.haps.vcf
中得到的,它们便是Imputation分析中的reference panel。
1F
请问转载了我大量的文章,不需要经过我同意的吗?另外在文章开头注明了我的链接和出处了吗?你是不是就是直接搬了我的整个博客和公众号的文章了,你知道这是侵权的吧?!