美文网首页
解决tabix建索引报错[E::hts_idx_push] Un

解决tabix建索引报错[E::hts_idx_push] Un

作者: 生物信息与育种 | 来源:发表于2023-03-26 16:20 被阅读0次

    当我对两个基因型文件位置取交集,并重新生成两个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
    

    相关文章

      网友评论

          本文标题:解决tabix建索引报错[E::hts_idx_push] Un

          本文链接:https://www.haomeiwen.com/subject/szoordtx.html