NVIDIA Clara Parabricks Pipelines Variant Callers: haplotypecaller

GPU accelerated haplotypecaller

This tool runs GPU accelerated haplotypecaller. Users can provide an optional BQSR report to fix the BAM similar to ApplyBQSR. In that case the updated base qualities will be used.

Quick Start


$ pbrun haplotypecaller --ref Ref/Homo_sapiens_assembly38.fasta \
--in-bam mark_dups_gpu.bam \
--in-recal-file recal_gpu.txt \
--out-variants result.vcf

Compatible GATK4 command

The command below is the GATK4 counterpart of the Parabricks command above. The output from these commands will generate the exact same results as the output from the above command. Please look at Output Comparison page on how you can compare the results.

# Run ApplyBQSR Step
$ gatk ApplyBQSR --java-options -Xmx30g -R Ref/Homo_sapiens_assembly38.fasta \
-I=mark_dups_cpu.bam --bqsr-recal-file=recal_file.txt -O=cpu_nodups_BQSR.bam

#Run Haplotype Caller
$ gatk HaplotypeCaller --java-options -Xmx30g --input cpu_nodups_BQSR.bam --output \
result_cpu.vcf --reference Ref/Homo_sapiens_assembly38.fasta \
--native-pair-hmm-threads 16




--ref (required)

The reference genome in fasta format.

--in-bam (required)

Path to the input bam file.

--out-variants (required)

Path of .vcf, g.vcf, or gvcf file.


Path to the input BQSR report. Only required if ApplyBQSR step is needed.


Pass supported haplotype caller options as one string. Current original haplotypecaller supported options: -min-pruning , -standard-min-confidence-threshold-for-calling , -max-reads-per-alignment-start , -min-dangling-branch-length , and -pcr-indel-model .


Use static quantized quality scores to a given number of levels. Repeat this option multiple times for multiple bins.


Defaults to 2.
Ploidy assumed for the bam file. Currently only haploid (ploidy 1) and diploid (ploidy 2) are supported.


Path to an interval file for BQSR step with possible formats: Picard-style (.interval_list or .picard), GATK-style (.list or .intervals), or BED file (.bed). This option can be used multiple times (default: None)


Interval within which to call variants from the input reads. All intervals will have a padding of 100 to get read records and overlapping intervals will be combined. Interval files should be passed using the --interval-file option. This option can be used multiple times. e.g. "-L chr1 -L chr2:10000 -L chr3:20000+ -L chr4:10000-20000" (default: None)


Padding size (in base pairs) to add to each interval you are including (default: None)

--interval (-L)

Interval within which to call the variants from the bam file. This option can be used multiple times. All intervals will have a padding of 100 and overlapping intervals will be combined. The intervals can be specified in a file using the BED file format or GATK style format. e.g. "-L chr1 -L chr2:1000-3100" or "-L interval.bed".


Defaults to False.
Generate variant calls in gvcf format. When using this option --out-variants file should end with g.vcf or g.vcf.gz. If the --out-variants file ends in gz, the tool will generate gvcf.gz and index for it.


Given an input list of BAMs, run the variant calling of each BAM using one GPU, and process BAMs in parallel based on how many GPUs the system has.


Disable the read filters for bam entries. Currently supported read filters that can be disabled are: MappingQualityAvailableReadFilter, MappingQualityReadFilter, and NotSecondaryAlignmentReadFilter. This option can be repeated multiple times.


Maximum number of alternate alleles to genotype (default: None)

--annotation-group (-G)

Which groups of annotations to add to the output variant calls. Currently supported annotation groups: StandardAnnotation, StandardHCAnnotation, AS_StandardAnnotation (default: None)

--gvcf-gq-bands (-GQB)

Exclusive upper bounds for reference confidence GQ bands. Must be in the range [1, 100] and specified in increasing order (default: None)


Defaults to ..
Full path to the directory where temporary files will be stored.


Defaults to number of GPUs in the system.
The number of GPUs to be used for this analysis task.


Which GPU devices to use for a run. By default, all GPU devices will be used. To set specific GPU devices, enter a comma-separated list of GPU device numbers.