1 使用GATK HaplotypeCaller
#java -jar gatk.jar HaplotypeCaller --native-pair-hmm-threads 4 -R xx.fa -I xx.bam -O xx.vcf
--native-pair-hmm-threads用来设置多线程,默认为4线程
2 samtools + bcftools的组合
#samtools mpileup -gSDf ref.fa xx.bam > xx.bcf
#bcftools view -cvNg xx.bcf > xx.vcf
该方法虽然没有多线程设置,然而同一个样本单线程要比方法1四线程下速度快
3 bcftools
该方法仅支持比较新的版本,早期的bcftools是没有mpileup和call命令的,需从官网下载bcftools和htslib后手动安装
#bcftools mpileup -Ou -f ref.fa xx.bam | bcftools call -Ou -mv | bcftools filter -s LowQual -e '%QUAL<20 || DP>100' > xx.vcf