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.

Parallelism options

This tool can be run in multi-threaded mode using this option.

Downsampling settings

This tool applies the following downsampling settings by default.

  • 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: 100 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 more details on each argument, see the list further down below the table or click on an argument name to jump directly to that entry in the list.

Argument name(s) Default value Summary
Optional Inputs
--alleles
none The set of alleles at which to genotype when --genotyping_mode is GENOTYPE_GIVEN_ALLELES
--dbsnp
 -D
none dbSNP file
Optional Outputs
--activeRegionOut
 -ARO
NA Output the active region to this IGV formatted file
--activityProfileOut
 -APO
NA Output the raw activity profile results in IGV format
--graphOutput
 -graph
NA File to which debug assembly graph information should be written
--out
 -o
stdout File to which variants should be written
Optional Parameters
--contamination_fraction_to_filter
 -contamination
0.0 Fraction of contamination in sequencing data (for all samples) to aggressively remove
--genotyping_mode
 -gt_mode
DISCOVERY Specifies how to determine the alternate alleles to use for genotyping
--group
 -G
[Standard] One or more classes/groups of annotations to apply to variant calls
--heterozygosity
 -hets
0.001 Heterozygosity value used to compute prior likelihoods for any locus. See the GATKDocs for full details on the meaning of this population genetics concept
--indel_heterozygosity
 -indelHeterozygosity
1.25E-4 Heterozygosity for indel calling. See the GATKDocs for heterozygosity for full details on the meaning of this population genetics concept
--min_base_quality_score
 -mbq
10 Minimum base quality required to consider a base for calling
--standard_min_confidence_threshold_for_calling
 -stand_call_conf
30.0 The minimum phred-scaled confidence threshold at which variants should be called
--standard_min_confidence_threshold_for_emitting
 -stand_emit_conf
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 Inputs
--activeRegionIn
 -AR
NA Use this interval list file as the active regions to process
--comp
[] comparison VCF file
Advanced Outputs
--bamOutput
 -bamout
NA File to which assembled haplotypes should be written
Advanced Parameters
--activeRegionExtension
NA The active region extension; if not provided defaults to Walker annotated default
--activeRegionMaxSize
NA The active region maximum size; if not provided defaults to Walker annotated default
--annotation
 -A
[ClippingRankSumTest, DepthPerSampleHC] One or more specific annotations to apply to variant calls
--bamWriterType
CALLED_HAPLOTYPES How should haplotypes be written to the BAM?
--bandPassSigma
NA The sigma of the band pass filter Gaussian kernel; if not provided defaults to Walker annotated default
--contamination_fraction_per_sample_file
 -contaminationFile
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.
--emitRefConfidence
 -ERC
false Mode for emitting experimental reference confidence scores
--excludeAnnotation
 -XA
[SpanningDeletions, TandemRepeatAnnotator] One or more specific annotations to exclude
--gcpHMM
10 Flat gap continuation penalty for use in the Pair HMM
--GVCFGQBands
 -GQB
[5, 20, 60] Emit experimental reference confidence scores
--indelSizeToEliminateInRefModel
 -ERCIS
10 The size of an indel to check for in the reference model
--input_prior
 -inputPrior
[] Input prior for calls
--kmerSize
[10, 25] Kmer size to use in the read threading assembler
--max_alternate_alleles
 -maxAltAlleles
6 Maximum number of alternate alleles to genotype
--maxNumHaplotypesInPopulation
128 Maximum number of haplotypes to consider for your population. This number will probably need to be increased when calling organisms with high heterozygosity.
--minPruning
2 The minimum allowed pruning factor in assembly graph. Paths with < X supporting kmers are pruned from the graph
--numPruningSamples
1 The number of samples that must pass the minPuning factor in order for the path to be kept
--pcr_indel_model
 -pcrModel
CONSERVATIVE The PCR indel model to use
--phredScaledGlobalReadMismappingRate
 -globalMAPQ
45 The global assumed mismapping rate for reads
Advanced Flags
--consensus
false In 1000G consensus mode. Inject all provided alleles to the assembly graph but don't forcibly genotype all of them.
--debug
false If specified, print out very verbose debug information about each triggering active region
--dontIncreaseKmerSizesForCycles
false Should we disable the iterating over kmer sizes when graph cycles are detected?
--dontUseSoftClippedBases
false If specified, we will not analyze soft clipped bases in the reads
--forceActive
false If provided, all bases will be tagged as active
--mergeVariantsViaLD
false If specified, we will merge variants together into block substitutions that are in strong local LD
--recoverDanglingHeads
false Should we enable dangling head recovery in the read threading assembler?
--useAllelesTrigger
 -allelesTrigger
false If specified, use additional trigger on variants found in an external alleles file
--useFilteredReadsForAnnotations
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

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

Integer


--activeRegionIn / -AR

Use this interval list file as the active regions to process

List[IntervalBinding[Feature]]


--activeRegionMaxSize / -activeRegionMaxSize

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

Integer


--activeRegionOut / -ARO

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

PrintStream


--activityProfileOut / -APO

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

PrintStream


--alleles / -alleles

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

RodBinding[VariantContext]  none


--annotation / -A

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.

List[String]  [ClippingRankSumTest, DepthPerSampleHC]


--bamOutput / -bamout

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

StingSAMFileWriter


--bamWriterType / -bamWriterType

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

Type  CALLED_HAPLOTYPES


--bandPassSigma / -bandPassSigma

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

Double


--comp / -comp

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

List[RodBinding[VariantContext]]  []


--consensus / -consensus

In 1000G consensus mode. Inject all provided alleles to the assembly graph but don't forcibly genotype all of them.

boolean  false


--contamination_fraction_per_sample_file / -contaminationFile

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.

File


--contamination_fraction_to_filter / -contamination

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.

double  0.0  [ [ -?  ? ] ]


--dbsnp / -D

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

RodBinding[VariantContext]  none


--debug / -debug

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

boolean  false


--dontIncreaseKmerSizesForCycles / -dontIncreaseKmerSizesForCycles

Should we disable the iterating over kmer sizes when graph cycles are detected?

boolean  false


--dontUseSoftClippedBases / -dontUseSoftClippedBases

If specified, we will not analyze soft clipped bases in the reads

boolean  false


--emitRefConfidence / -ERC

Mode for emitting experimental reference confidence scores
Records whether the trimming intervals are going to be used to emit reference confidence, {@code true}, or regular HC output {@code false}.

The --emitRefConfidence argument is an enumerated type (ReferenceConfidenceMode), which can have one of the following values:

NONE
BP_RESOLUTION
GVCF

ReferenceConfidenceMode  false


--excludeAnnotation / -XA

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.

List[String]  [SpanningDeletions, TandemRepeatAnnotator]


--forceActive / -forceActive

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

boolean  false


--gcpHMM / -gcpHMM

Flat gap continuation penalty for use in the Pair HMM

int  10  [ [ -?  ? ] ]


--genotyping_mode / -gt_mode

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

GENOTYPING_MODE  DISCOVERY


--graphOutput / -graph

File to which debug assembly graph information should be written

PrintStream


--group / -G

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.

String[]  [Standard]


--GVCFGQBands / -GQB

Emit experimental reference confidence scores
The GQ partition intervals Should be a non-empty list of boundaries. For example, suppose this variable is [A, B, C] We would partition our hom-ref sites into the following bands: X < A A <= X < B B <= X < C X >= C The default bands with (1, 10, 20, 30, 40, 50) give the following GQ blocks: [0, 0] (0, 10] (10, 20] (20, 30] (30, 40] (40, 50] (50, 99] Note that in the GATK GQ values are capped at 99.

List[Integer]  [5, 20, 60]


--heterozygosity / -hets

Heterozygosity value used to compute prior likelihoods for any locus. See the GATKDocs for full details on the meaning of this population genetics concept
The expected heterozygosity value used to compute prior probability that a locus is non-reference. The default priors are for provided for humans: het = 1e-3 which means that the probability of N samples being hom-ref at a site is: 1 - sum_i_2N (het / i) Note that heterozygosity as used here is the population genetics concept: http://en.wikipedia.org/wiki/Zygosity#Heterozygosity_in_population_genetics That is, a hets value of 0.01 implies that two randomly chosen chromosomes from the population of organisms would differ from each other (one being A and the other B) at a rate of 1 in 100 bp. Note that this quantity has nothing to do with the likelihood of any given sample having a heterozygous genotype, which in the GATK is purely determined by the probability of the observed data P(D | AB) under the model that there may be a AB het genotype. The posterior probability of this AB genotype would use the het prior, but the GATK only uses this posterior probability in determining the prob. that a site is polymorphic. So changing the het parameters only increases the chance that a site will be called non-reference across all samples, but doesn't actually change the output genotype likelihoods at all, as these aren't posterior probabilities at all. The quantity that changes whether the GATK considers the possibility of a het genotype at all is the ploidy, which determines how many chromosomes each individual in the species carries.

Double  0.001  [ [ -?  ? ] ]


--indel_heterozygosity / -indelHeterozygosity

Heterozygosity for indel calling. See the GATKDocs for heterozygosity for full details on the meaning of this population genetics concept
This argument informs the prior probability of having an indel at a site.

double  1.25E-4  [ [ -?  ? ] ]


--indelSizeToEliminateInRefModel / -ERCIS

The size of an indel to check for in the reference model
This parameter determines the maximum size of an indel considered as potentially segregating in the reference model. It is used to eliminate reads from being indel informative at a site, and determines by that mechanism the certainty in the reference base. Conceptually, setting this parameter to X means that each informative read is consistent with any indel of size < X being present at a specific position in the genome, given its alignment to the reference.

int  10  [ [ -?  ? ] ]


--input_prior / -inputPrior

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.

List[Double]  []


--kmerSize / -kmerSize

Kmer size to use in the read threading assembler

List[Integer]  [10, 25]


--max_alternate_alleles / -maxAltAlleles

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.

int  6  [ [ -?  ? ] ]


--maxNumHaplotypesInPopulation / -maxNumHaplotypesInPopulation

Maximum number of haplotypes to consider for your population. This number will probably need to be increased when calling organisms with high heterozygosity.
Assembly graph can be quite complex, and could imply a very large number of possible haplotypes. Each haplotype considered requires N PairHMM evaluations if there are N reads across all samples. In order to control the run of the haplotype caller we only take maxNumHaplotypesInPopulation paths from the graph, in order of their weights, no matter how many paths are possible to generate from the graph. Putting this number too low will result in dropping true variation because paths that include the real variant are not even considered.

int  128  [ [ -?  ? ] ]


--mergeVariantsViaLD / -mergeVariantsViaLD

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

boolean  false


--min_base_quality_score / -mbq

Minimum base quality required to consider a base for calling
The minimum confidence needed for a given base for it to be used in variant calling.

byte  10  [ [ -?  ? ] ]


--minPruning / -minPruning

The minimum allowed pruning factor in assembly graph. Paths with < X supporting kmers are pruned from the graph
Users should be aware that this argument can really affect the results of the variant calling and should exercise caution. Using a prune factor of 1 (or below) will prevent any pruning from the graph which is generally not ideal; it can make the calling much slower and even less accurate (because it can prevent effective merging of "tails" in the graph). Higher values tend to make the calling much faster, but also lowers the sensitivity of the results (because it ultimately requires higher depth to produce calls).

int  2  [ [ -?  ? ] ]


--numPruningSamples / -numPruningSamples

The number of samples that must pass the minPuning factor in order for the path to be kept

int  1  [ [ -?  ? ] ]


--out / -o

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

VariantContextWriter  stdout


--pcr_indel_model / -pcrModel

The PCR indel model to use
Which PCR indel error model should we use when calculating likelihoods? If NONE is selected, then the default base insertion/deletion qualities will be used (or taken from the read if generated through the BaseRecalibrator). VERY IMPORTANT: when using PCR-free sequencing data we definitely recommend setting this argument to NONE.

The --pcr_indel_model argument is an enumerated type (PCR_ERROR_MODEL), which can have one of the following values:

NONE
no specialized PCR error model will be applied; if base insertion/deletion qualities are present they will be used
AGGRESSIVE
a more aggressive model will be applied that sacrifices true positives in order to remove more false positives
CONSERVATIVE
a less aggressive model will be applied that tries to maintain a high true positive rate at the expense of allowing more false positives

PCR_ERROR_MODEL  CONSERVATIVE


--phredScaledGlobalReadMismappingRate / -globalMAPQ

The global assumed mismapping rate for reads
The phredScaledGlobalReadMismappingRate reflects the average global mismapping rate of all reads, regardless of their mapping quality. This term effects the probability that a read originated from the reference haplotype, regardless of its edit distance from the reference, in that the read could have originated from the reference haplotype but from another location in the genome. Suppose a read has many mismatches from the reference, say like 5, but has a very high mapping quality of 60. Without this parameter, the read would contribute 5 * Q30 evidence in favor of its 5 mismatch haplotype compared to reference, potentially enough to make a call off that single read for all of these events. With this parameter set to Q30, though, the maximum evidence against the reference that this (and any) read could contribute against reference is Q30. Set this term to any negative number to turn off the global mapping rate

int  45  [ [ -?  ? ] ]


--recoverDanglingHeads / -recoverDanglingHeads

Should we enable dangling head recovery in the read threading assembler?
This mode is currently experimental and should only be used in the RNA-seq calling pipeline.

boolean  false


--standard_min_confidence_threshold_for_calling / -stand_call_conf

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).

double  30.0  [ [ -?  ? ] ]


--standard_min_confidence_threshold_for_emitting / -stand_emit_conf

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.

double  30.0  [ [ -?  ? ] ]


--useAllelesTrigger / -allelesTrigger

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

boolean  false


--useFilteredReadsForAnnotations / -useFilteredReadsForAnnotations

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

boolean  false


See also Guide Index | Tool Documentation Index | Support Forum

GATK version 3.1-1-g07a4bf8 built at 2014/03/18 07:00:36. GTD: NA