当我对两个基因型文件位置取交集,并重新生成两个vcf:
$ bcftools view -R overlap.lst variant.filter.vcf.gz -Oz -o 300.vcf.gz
出现如下错误:
$ tabix 300.vcf.gz
[E::hts_idx_push] Unsorted positions on sequence #4: 29013869 followed by 29013853
tbx_index_build failed: 300.vcf.gz
原因是位点未排序。因此可知bcftools从vcf取位点子集时,并不会对位点进行排序。
解决如下:
zcat 300.vcf.gz |grep '^#'>header
zcat 300.vcf.gz |grep -v '^#' |sort -k1,1d -k2,2n > body
cat header body |bgzip -c >new.300.vcf.gz
tabix new.300.vcf.gz
网友评论