Showing docs for version 3.6-0 | The latest version is


Compare GATK's internal pileup to a reference Samtools pileup

Category Diagnostics and Quality Control Tools

Traversal LocusWalker

PartitionBy LOCUS


At every locus in the input set, compares the pileup data (reference base, aligned base from each overlapping read, and quality score) generated internally by GATK to a reference pileup data generated by Samtools. Note that the pileup program has been replaced in Samtools by mpileup, which produces a slightly different output format by default.


There are two versions of the original pileup format: the current 6-column format produced by Samtools, and the old 10-column "consensus" format which could be obtained by using the -c argument, now deprecated.

Simple pileup: 6-column format

Each line consists of chromosome, 1-based coordinate, reference base, the number of reads covering the site, read bases and base qualities. At the read base column, a dot stands for a match to the reference base on the forward strand, a comma for a match on the reverse strand, `ACGTN' for a mismatch on the forward strand and `acgtn' for a mismatch on the reverse strand. A pattern `\+[0-9]+[ACGTNacgtn]+' indicates there is an insertion between this reference position and the next reference position. The length of the insertion is given by the integer in the pattern, followed by the inserted sequence.

     seq1 272 T 24  ,.$.....,,.,.,...,,,.,..^+. <<<+;<<<<<<<<<<<=<;<;7<&
     seq1 273 T 23  ,.....,,.,.,...,,,.,..A <<<;<<<<<<<<<3<=<<<;<<+
     seq1 274 T 23  ,.$....,,.,.,...,,,.,...    7<7;<;<<<<<<<<<=<;<;<<6
     seq1 275 A 23  ,$....,,.,.,...,,,.,...^l.  <+;9*<<<<<<<<<=<<:;<<<<
     seq1 276 G 22  ...T,,.,.,...,,,.,....  33;+<<7=7<<7<&<<1;<<6<
     seq1 277 T 22  ....,,.,.,.C.,,,.,..G.  +7<;<<<<<<<&<=<<:;<<&<
     seq1 278 G 23  ....,,.,.,...,,,.,....^k.   %38*<<;<7<<7<=<<<;<<<<<
     seq1 279 C 23  A..T,,.,.,...,,,.,..... ;75&<<<<<<<<<=<<<9<<:<<

See the Pileup format documentation for more details.

Consensus pileup: 10/13-column format

The "consensus" or extended pileup consists of the following:

  • original 6 columns as described above
  • 4 extra columns representing consensus values (consensus base, consensus quality, variant quality and maximum mapping quality of the reads covering the sites) for all sites, inserted before the bases and quality strings
  • 3 extra columns indicating counts of reads supporting indels (just for indel sites)

Example of consensus pileup for SNP or non-variant sites

     seq1  60  T  T  66  0  99  13  ...........^~.^~.   9<<55<;<<<<<<
     seq1  61  G  G  72  0  99  15  .............^~.^y. (;975&;<<<<<<<<
     seq1  62  T  T  72  0  99  15  .$..............    <;;,55;<<<<<<<<
     seq1  63  G  G  72  0  99  15  .$.............^~.  4;2;<7:+<<<<<<<
     seq1  64  G  G  69  0  99  14  ..............  9+5<;;;<<<<<<<
     seq1  65  A  A  69  0  99  14  .$............. <5-2<;;<<<<<<;
     seq1  66  C  C  66  0  99  13  .............   &*<;;<<<<<<8<
     seq1  67  C  C  69  0  99  14  .............^~.    ,75<.4<<<<<-<<
     seq1  68  C  C  69  0  99  14  ..............  576<;7<<<<<8<< *

Example of consensus pileup for indels

     Escherichia_coli_K12	3995037	*	*\/*	430	0	37	144	*	+A	143	1	0
     Escherichia_coli_K12	3995279	*	*\/*	202	0	36	68	*	+A	67	1	0
     Escherichia_coli_K12	3995281	*	*\/*	239	0	36	67	*	-CG	66	1	0

See Consensus pileup format (deprecated) for more details.


A BAM file containing your aligned sequence data and a pileup file generated by Samtools covering the region you want to examine.


A text file listing mismatches between the input pileup and the GATK's internal pileup. If there are no mismatches, the output file is empty.

Usage example

 java -jar GenomeAnalysisTK.jar \
   -T CheckPileup \
   -R reference.fasta \
   -I your_data.bam \
   --pileup:SAMPileup pileup_file.txt \
   -L chr1:257-275 \
   -o output_file_name

Additional Information

Read filters

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

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: 1,000

Command-line Arguments

Engine arguments

All tools inherit arguments from the GATK Engine' "CommandLineGATK" argument collection, which can be used to modify various aspects of the tool's function. For example, the -L argument directs the GATK engine to restrict processing to specific genomic intervals; or the -rf argument allows you to apply certain read filters to exclude some of the data from the analysis.

CheckPileup 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
Required Inputs
NA Pileup generated by Samtools
Optional Outputs
stdout An output file created by the walker. Will overwrite contents if file exists
Optional Flags
false Continue after encountering an error

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.

--continue_after_error / NA

Continue after encountering an error
By default the program will quit if it encounters an error (such as missing truth data for a given position). Use this flag to override the default behavior; the program will then simply print an error message and move on to the next position.

boolean  false

--out / -o

An output file created by the walker. Will overwrite contents if file exists

PrintStream  stdout

--pileup / -pileup

Pileup generated by Samtools
This is the existing pileup against which we'll compare GATK's internal pileup at each genome position in the desired interval.

This argument supports reference-ordered data (ROD) files in the following formats: SAMPILEUP

R RodBinding[SAMPileupFeature]  NA

Return to top

See also GATK Documentation Index | Tool Docs Index | Support Forum

GATK version 3.6-0-g89b7209 built at 2017/02/09 12:52:48.