GATKを用いて複数種に対してSNP callingすると、1つのvcfファイルに複数種のSNPが記される。
例えば、種間でSNPを比較したいときには、GATKやbcftoolsで比較するが、その際に比較したいvcfファイルはそれぞれ分割されている必要がある。そこで、以下のスクリプトにより複数種のSNP情報を含むvcfファイルを分割した。
$ for sample in `bcftools query -l merged_snps_filtered.vcf.gz`
do
bcftools view -c1 -Oz -s $sample -o $sample.vcf.gz merged_snps_filtered.vcf.gz
done
bcftools: ver. 1.14を使用。
2023年3月17日追記
コードを修正しました。
また、分割後は以下のvcftoolsを用いたスクリプトにより、vcfファイルをまとめることが可能。
vcf-merge sample1.vcf.gz sample2.vcf.gz sample3.vcf.gz | bgzip -c > output.vcf.gz