# CheckPileup

Compare GATK's internal pileup to a reference Samtools pileup

## Overview

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.

### Format

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.

### Input

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

### Output

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.

### Example

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

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

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

### 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
--pileup
NA Pileup generated by Samtools
Optional Outputs
--out
-o
stdout An output file created by the walker. Will overwrite contents if file exists
Optional Flags
--continue_after_error
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

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.

--pileup binds reference ordered data. This argument supports ROD files of the following types: SAMPILEUP

R RodBinding[SAMPileupFeature]

GATK version 3.2-2-gec30cee built at 2014/09/12 22:29:29. GTD: NA