一、VCFtools使用
#keep individuals
$ vcftools --gzvcf x.vcf.gz --keep id.txt --recode --recode-INFO-all --stdout | bgzip -c > y.vcf.gz #remove: --remove
#keep positions
$ vcftools --gzvcf x.vcf.gz --positions pos.list --recode --recode-INFO-all --stdout | bgzip -c > y.vcf.gz
#specify region
$ vcftools --gzvcf x.vcf.gz --chr 1 --from-bp a --to-bp b --recode --recode-INFO-all --stdout | bgzip -c > y.vcf.gz
#merge vcfs
$ vcf-merge x.vcf.gz y.vcf.gz | bgzip -c > out.vcf.gz
#split by chromosome
$ for i in {1..22};do vcftools --gzvcf x.vcf.gz --chr ${i} --recode --recode-INFO-all --stdout | bgzip -c > x.chr${i}.vcf.gz;done
#difference
$ vcftools --gzvcf x.vcf.gz --gzdiff y.vcf.gz --diff-site --out diff
#fst
$ vcftools --gzvcf x.vcf.gz --weir-fst-pop a.list --weir-fst-pop b.list --out a_vs_b #optional: -fst-window-size, --fst-window-step
官方文档https://vcftools.github.io/index.html
二、BCFtools使用
#merge
$ bcftools merge -O z -o out.vcf.gz --threads 20 x.vcf.gz y.vcf.gz
#concat chromosome
$ bcftools concat -f file.list -o out.vcf.gz