HaplotypeCaller

Call SNPs and indels simultaneously via local de-novo assembly of haplotypes in an active region.

Category Variant Discovery Tools

Traversal ActiveRegionWalker

PartitionBy LOCUS


Overview

Haplotypes are evaluated using an affine gap penalty Pair HMM.

Input

Input bam file(s) from which to make calls

Output

VCF file with raw, unrecalibrated SNP and indel calls.

Examples

   java
     -jar GenomeAnalysisTK.jar
     -T HaplotypeCaller
     -R reference/human_g1k_v37.fasta
     -I sample1.bam [-I sample2.bam ...] \
     --dbsnp dbSNP.vcf \
     -stand_call_conf [50.0] \
     -stand_emit_conf 10.0 \
     [-L targets.interval_list]
     -o output.raw.snps.indels.vcf
 

Caveats

  • The system is under active and continuous development. All outputs, the underlying likelihood model, and command line arguments are likely to change often.

Additional Information

Read filters

These Read Filters are automatically applied to the data by the Engine before processing by HaplotypeCaller.

Downsampling settings

This tool overrides the engine's default downsampling settings.

  • Mode: BY_SAMPLE
  • To coverage: 250

ActiveRegion settings

This tool uses ActiveRegions on the reference.

  • Minimum region size: 50 bp
  • Maximum region size: 300 bp
  • Extension increments: 200 bp

Command-line Arguments

Inherited arguments

The arguments described in the entries below can be supplied to this tool to modify its behavior. For example, the -L argument directs the GATK engine restricts processing to specific genomic intervals (this is an Engine capability and is therefore available to all GATK walkers).

HaplotypeCaller specific arguments

This table summarizes the command-line arguments that are specific to this tool. For details, see the list further down below the table.

Name Type Default value Summary
Optional
--activeRegionIn List[IntervalBinding[Feature]] NA Use this interval list file as the active regions to process
--activeRegionOut PrintStream NA Output the active region to this IGV formatted file
--activityProfileOut PrintStream NA Output the raw activity profile results in IGV format
--alleles RodBinding[VariantContext] none The set of alleles at which to genotype when --genotyping_mode is GENOTYPE_GIVEN_ALLELES
-contamination double 0.05 Fraction of contamination in sequencing data (for all samples) to aggressively remove
--dbsnp RodBinding[VariantContext] none dbSNP file
--genotyping_mode GENOTYPING_MODE DISCOVERY Specifies how to determine the alternate alleles to use for genotyping
--graphOutput PrintStream NA File to which debug assembly graph information should be written
--group String[] [Standard] One or more classes/groups of annotations to apply to variant calls
--heterozygosity Double 0.0010 Heterozygosity value used to compute prior likelihoods for any locus
--indel_heterozygosity double 1.25E-4 Heterozygosity for indel calling
--out VariantContextWriter stdout File to which variants should be written
--output_mode OUTPUT_MODE EMIT_VARIANTS_ONLY Specifies which type of calls we should output
-stand_call_conf double 30.0 The minimum phred-scaled confidence threshold at which variants should be called
-stand_emit_conf double 30.0 The minimum phred-scaled confidence threshold at which variants should be emitted (and filtered with LowQual if less than the calling threshold)
Advanced
--activeRegionExtension Integer NA The active region extension; if not provided defaults to Walker annotated default
--activeRegionMaxSize Integer NA The active region maximum size; if not provided defaults to Walker annotated default
--annotation List[String] [ClippingRankSumTest] One or more specific annotations to apply to variant calls
--bamOutput StingSAMFileWriter NA File to which assembled haplotypes should be written
--bamWriterType Type CALLED_HAPLOTYPES How should haplotypes be written to the BAM?
--bandPassSigma Double NA The sigma of the band pass filter Gaussian kernel; if not provided defaults to Walker annotated default
--comp List[RodBinding[VariantContext]] [] comparison VCF file
-contaminationFile File NA Tab-separated File containing fraction of contamination in sequencing data (per sample) to aggressively remove. Format should be "" (Contamination is double) per line; No header.
--debug boolean false If specified, print out very verbose debug information about each triggering active region
--debugGraphTransformations int -1 If specified, we will write DOT formatted graph files out of the assembler for only this graph size
--excludeAnnotation List[String] [SpanningDeletions, TandemRepeatAnnotator] One or more specific annotations to exclude
--forceActive boolean false If provided, all bases will be tagged as active
--gcpHMM int 10 Flat gap continuation penalty for use in the Pair HMM
--input_prior List[Double] [] Input prior for calls
--max_alternate_alleles int 6 Maximum number of alternate alleles to genotype
--maxNumHaplotypesInPopulation int 25 Maximum number of haplotypes to consider for your population. This number will probably need to be increased when calling organisms with high heterozygosity.
--mergeVariantsViaLD boolean false If specified, we will merge variants together into block substitutions that are in strong local LD
--minKmer int 11 Minimum kmer length to use in the assembly graph
--minPruning int 0 The minimum allowed pruning factor in assembly graph. Paths with <= X supporting kmers are pruned from the graph
--pair_hmm_implementation HMM_IMPLEMENTATION LOGLESS_CACHING The PairHMM implementation to use for genotype likelihood calculations
--useAllelesTrigger boolean false If specified, use additional trigger on variants found in an external alleles file
-useFilteredReadsForAnnotations boolean false If specified, use the contamination-filtered read maps for the purposes of annotating variants

Argument details

Arguments in this list are specific to this tool. Keep in mind that other arguments are available that are shared with other tools (e.g. command-line GATK arguments); see Inherited arguments above.

--activeRegionExtension / -activeRegionExtension ( Integer )

The active region extension; if not provided defaults to Walker annotated default.

--activeRegionIn / -AR ( List[IntervalBinding[Feature]] )

Use this interval list file as the active regions to process.

--activeRegionMaxSize / -activeRegionMaxSize ( Integer )

The active region maximum size; if not provided defaults to Walker annotated default.

--activeRegionOut / -ARO ( PrintStream )

Output the active region to this IGV formatted file. If provided, this walker will write out its active and inactive regions to this file in the IGV formatted TAB deliminated output: http://www.broadinstitute.org/software/igv/IGV Intended to make debugging the active region calculations easier

--activityProfileOut / -APO ( PrintStream )

Output the raw activity profile results in IGV format. If provided, this walker will write out its activity profile (per bp probabilities of being active) to this file in the IGV formatted TAB deliminated output: http://www.broadinstitute.org/software/igv/IGV Intended to make debugging the activity profile calculations easier

--alleles / -alleles ( RodBinding[VariantContext] with default value none )

The set of alleles at which to genotype when --genotyping_mode is GENOTYPE_GIVEN_ALLELES. When the UnifiedGenotyper is put into GENOTYPE_GIVEN_ALLELES mode it will genotype the samples using only the alleles provide in this rod binding --alleles binds reference ordered data. This argument supports ROD files of the following types: BCF2, VCF, VCF3

--annotation / -A ( List[String] with default value [ClippingRankSumTest] )

One or more specific annotations to apply to variant calls. Which annotations to add to the output VCF file. See the VariantAnnotator -list argument to view available annotations.

--bamOutput / -bamout ( StingSAMFileWriter )

File to which assembled haplotypes should be written. The assembled haplotypes will be written as BAM to this file if requested. Really for debugging purposes only. Note that the output here does not include uninformative reads so that not every input read is emitted to the bam. Turning on this mode may result in serious performance cost for the HC. It's really only appropriate to use in specific areas where you want to better understand why the HC is making specific calls. The reads are written out containing a HC tag (integer) that encodes which haplotype each read best matches according to the haplotype caller's likelihood calculation. The use of this tag is primarily intended to allow good coloring of reads in IGV. Simply go to Color Alignments By > Tag and enter HC to more easily see which reads go with these haplotype. Note that the haplotypes (called or all, depending on mode) are emitted as single reads covering the entire active region, coming from read HC and a special read group. Note that only reads that are actually informative about the haplotypes are emitted. By informative we mean that there's a meaningful difference in the likelihood of the read coming from one haplotype compared to its next best haplotype. The best way to visualize the output of this mode is with IGV. Tell IGV to color the alignments by tag, and give it the HC tag, so you can see which reads support each haplotype. Finally, you can tell IGV to group by sample, which will separate the potential haplotypes from the reads. All of this can be seen in the following screenshot: https://www.dropbox.com/s/xvy7sbxpf13x5bp/haplotypecaller%20bamout%20for%20docs.png

--bamWriterType / -bamWriterType ( Type with default value CALLED_HAPLOTYPES )

How should haplotypes be written to the BAM?. The type of BAM output we want to see.
The --bamWriterType argument is an enumerated type (Type), which can have one of the following values:

ALL_POSSIBLE_HAPLOTYPES
A mode that's for method developers. Writes out all of the possible haplotypes considered, as well as reads aligned to each
CALLED_HAPLOTYPES
A mode for users. Writes out the reads aligned only to the called haplotypes. Useful to understand why the caller is calling what it is

--bandPassSigma / -bandPassSigma ( Double )

The sigma of the band pass filter Gaussian kernel; if not provided defaults to Walker annotated default.

--comp / -comp ( List[RodBinding[VariantContext]] with default value [] )

comparison VCF file. If a call overlaps with a record from the provided comp track, the INFO field will be annotated as such in the output with the track name (e.g. -comp:FOO will have 'FOO' in the INFO field). Records that are filtered in the comp track will be ignored. Note that 'dbSNP' has been special-cased (see the --dbsnp argument). --comp binds reference ordered data. This argument supports ROD files of the following types: BCF2, VCF, VCF3

-contamination / --contamination_fraction_to_filter ( double with default value 0.05 )

Fraction of contamination in sequencing data (for all samples) to aggressively remove. If this fraction is greater is than zero, the caller will aggressively attempt to remove contamination through biased down-sampling of reads. Basically, it will ignore the contamination fraction of reads for each alternate allele. So if the pileup contains N total bases, then we will try to remove (N * contamination fraction) bases for each alternate allele.

-contaminationFile / --contamination_fraction_per_sample_file ( File )

Tab-separated File containing fraction of contamination in sequencing data (per sample) to aggressively remove. Format should be "" (Contamination is double) per line; No header.. This argument specifies a file with two columns "sample" and "contamination" specifying the contamination level for those samples. Samples that do not appear in this file will be processed with CONTAMINATION_FRACTION

--dbsnp / -D ( RodBinding[VariantContext] with default value none )

dbSNP file. rsIDs from this file are used to populate the ID column of the output. Also, the DB INFO flag will be set when appropriate. dbSNP is not used in any way for the calculations themselves. --dbsnp binds reference ordered data. This argument supports ROD files of the following types: BCF2, VCF, VCF3

--debug / -debug ( boolean with default value false )

If specified, print out very verbose debug information about each triggering active region.

--debugGraphTransformations / -debugGraphTransformations ( int with default value -1 )

If specified, we will write DOT formatted graph files out of the assembler for only this graph size.

--excludeAnnotation / -XA ( List[String] with default value [SpanningDeletions, TandemRepeatAnnotator] )

One or more specific annotations to exclude. Which annotations to exclude from output in the VCF file. Note that this argument has higher priority than the -A or -G arguments, so annotations will be excluded even if they are explicitly included with the other options.

--forceActive / -forceActive ( boolean with default value false )

If provided, all bases will be tagged as active. For the active region walker to treat all bases as active. Useful for debugging when you want to force something like the HaplotypeCaller to process a specific interval you provide the GATK

--gcpHMM / -gcpHMM ( int with default value 10 )

Flat gap continuation penalty for use in the Pair HMM.

--genotyping_mode / -gt_mode ( GENOTYPING_MODE with default value DISCOVERY )

Specifies how to determine the alternate alleles to use for genotyping.
The --genotyping_mode argument is an enumerated type (GENOTYPING_MODE), which can have one of the following values:

DISCOVERY
the Unified Genotyper will choose the most likely alternate allele
GENOTYPE_GIVEN_ALLELES
only the alleles passed in from a VCF rod bound to the -alleles argument will be used for genotyping

--graphOutput / -graph ( PrintStream )

File to which debug assembly graph information should be written.

--group / -G ( String[] with default value [Standard] )

One or more classes/groups of annotations to apply to variant calls. Which groups of annotations to add to the output VCF file. See the VariantAnnotator -list argument to view available groups.

--heterozygosity / -hets ( Double with default value 0.0010 )

Heterozygosity value used to compute prior likelihoods for any locus. The expected heterozygosity value used to compute prior likelihoods for any locus. The default priors are: het = 1e-3, P(hom-ref genotype) = 1 - 3 * het / 2, P(het genotype) = het, P(hom-var genotype) = het / 2

--indel_heterozygosity / -indelHeterozygosity ( double with default value 1.25E-4 )

Heterozygosity for indel calling. This argument informs the prior probability of having an indel at a site.

--input_prior / -inputPrior ( List[Double] with default value [] )

Input prior for calls. By default, the prior specified with the argument --heterozygosity/-hets is used for variant discovery at a particular locus, using an infinite sites model, see e.g. Waterson (1975) or Tajima (1996). This model asserts that the probability of having a population of k variant sites in N chromosomes is proportional to theta/k, for 1=1:N There are instances where using this prior might not be desireable, e.g. for population studies where prior might not be appropriate, as for example when the ancestral status of the reference allele is not known. By using this argument, user can manually specify priors to be used for calling as a vector for doubles, with the following restriciotns: a) User must specify 2N values, where N is the number of samples. b) Only diploid calls supported. c) Probability values are specified in double format, in linear space. d) No negative values allowed. e) Values will be added and Pr(AC=0) will be 1-sum, so that they sum up to one. f) If user-defined values add to more than one, an error will be produced. If user wants completely flat priors, then user should specify the same value (=1/(2*N+1)) 2*N times,e.g. -inputPrior 0.33 -inputPrior 0.33 for the single-sample diploid case.

--max_alternate_alleles / -maxAltAlleles ( int with default value 6 )

Maximum number of alternate alleles to genotype. If there are more than this number of alternate alleles presented to the genotyper (either through discovery or GENOTYPE_GIVEN ALLELES), then only this many alleles will be used. Note that genotyping sites with many alternate alleles is both CPU and memory intensive and it scales exponentially based on the number of alternate alleles. Unless there is a good reason to change the default value, we highly recommend that you not play around with this parameter. As of GATK 2.2 the genotyper can handle a very large number of events, so the default maximum has been increased to 6.

--maxNumHaplotypesInPopulation / -maxNumHaplotypesInPopulation ( int with default value 25 )

Maximum number of haplotypes to consider for your population. This number will probably need to be increased when calling organisms with high heterozygosity..

--mergeVariantsViaLD / -mergeVariantsViaLD ( boolean with default value false )

If specified, we will merge variants together into block substitutions that are in strong local LD.

--minKmer / -minKmer ( int with default value 11 )

Minimum kmer length to use in the assembly graph.

--minPruning / -minPruning ( int with default value 0 )

The minimum allowed pruning factor in assembly graph. Paths with <= X supporting kmers are pruned from the graph.

--out / -o ( VariantContextWriter with default value stdout )

File to which variants should be written. A raw, unfiltered, highly sensitive callset in VCF format.

--output_mode / -out_mode ( OUTPUT_MODE with default value EMIT_VARIANTS_ONLY )

Specifies which type of calls we should output.
The --output_mode argument is an enumerated type (OUTPUT_MODE), which can have one of the following values:

EMIT_VARIANTS_ONLY
produces calls only at variant sites
EMIT_ALL_CONFIDENT_SITES
produces calls at variant sites and confident reference sites
EMIT_ALL_SITES
produces calls at any callable site regardless of confidence; this argument is intended only for point mutations (SNPs) in DISCOVERY mode or generally when running in GENOTYPE_GIVEN_ALLELES mode; it will by no means produce a comprehensive set of indels in DISCOVERY mode

--pair_hmm_implementation / -pairHMM ( HMM_IMPLEMENTATION with default value LOGLESS_CACHING )

The PairHMM implementation to use for genotype likelihood calculations. The PairHMM implementation to use for genotype likelihood calculations. The various implementations balance a tradeoff of accuracy and runtime.
The --pair_hmm_implementation argument is an enumerated type (HMM_IMPLEMENTATION), which can have one of the following values:

EXACT
ORIGINAL
LOGLESS_CACHING

-stand_call_conf / --standard_min_confidence_threshold_for_calling ( double with default value 30.0 )

The minimum phred-scaled confidence threshold at which variants should be called. The minimum phred-scaled Qscore threshold to separate high confidence from low confidence calls. Only genotypes with confidence >= this threshold are emitted as called sites. A reasonable threshold is 30 for high-pass calling (this is the default).

-stand_emit_conf / --standard_min_confidence_threshold_for_emitting ( double with default value 30.0 )

The minimum phred-scaled confidence threshold at which variants should be emitted (and filtered with LowQual if less than the calling threshold). This argument allows you to emit low quality calls as filtered records.

--useAllelesTrigger / -allelesTrigger ( boolean with default value false )

If specified, use additional trigger on variants found in an external alleles file.

-useFilteredReadsForAnnotations / --useFilteredReadsForAnnotations ( boolean with default value false )

If specified, use the contamination-filtered read maps for the purposes of annotating variants.


See also Guide Index | Technical Documentation Index | Support Forum

GATK version 2.5-2-gdb4546e built at 2013/05/01 09:32:36.