#!/bin/bash
INFILE=$1
OUTFILE=$2
for chr in `bcftools view -h $INFILE | perl -ne 'if (/^##contig=<ID=([^,]+)/) { print "$1\n" }'`; do echo $chr; done | parallel -j 16 "bcftools view $INFILE -r {} | bgzip > $INFILE-{}.input.vcf.gz ; tabix -fp vcf $INFILE-{}.input.vcf.gz ; vcfbub --input $INFILE-{}.input.vcf.gz -l 0 -a 100000 | vcfwave -t 2 -I 1000 | bgzip --threads 2 > ${INFILE}-{}.vcf.gz; rm -f $INFILE-{}.input.vcf.gz $INFILE-{}.input.vcf.gz.tbi"
bcftools concat ${INFILE}-*.vcf.gz | bcftools sort | bgzip --threads 16 > ${OUTFILE}
tabix -fp vcf ${OUTFILE}
rm -f ${INFILE}-*.vcf.gz
