ContEst

Estimate cross-sample contamination

Category Diagnostics and Quality Control Tools

Traversal LocusWalker

PartitionBy LOCUS


Overview

This tool determine the percent contamination of an input bam by sample, by lane, or in aggregate across all the input reads.

Usage examples

These are example commands that show how to run ContEst for typical use cases. Square brackets ("[ ]") indicate optional arguments. Note that parameter values and/or resources shown here may not be the latest recommended; see the Best Practices documentation for detailed recommendations.


Contamination estimation using a VCF containing the normal sample's genotypes (as might be derived from a genotyping array)

   java
     -jar GenomeAnalysisTK.jar \
     -T ContEst \
     -R reference.fasta \
     -I tumor.bam \
     --genotypes normalGenotypes.vcf \
     --popFile populationAlleleFrequencies.vcf \
     -L populationSites.interval_list
     [-L targets.interval_list] \
     -isr INTERSECTION \
     -o output.txt
 

Contamination estimation using the normal BAM for genotyping on-the-fly

   java
     -jar GenomeAnalysisTK.jar \
     -T ContEst \
     -R reference.fasta \
     -I:eval tumor.bam \
     -I:genotype normal.bam \
     --popFile populationAlleleFrequencies.vcf \
     -L populationSites.interval_list
     [-L targets.interval_list] \
     -isr INTERSECTION \
     -o output.txt
 

Output

A text file containing estimated percent contamination, as well as error bars on this estimate.

Notes

Multiple modes are supported simultaneously, e.g. contamination by sample and readgroup can be computed in the same run.

Additional Information

Read filters

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


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.

ContEst 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
--popfile
 -pf
NA the variant file containing information about the population allele frequencies
Optional Inputs
--genotypes
none the genotype information for our sample
Optional Outputs
--out
 -o
stdout An output file created by the walker. Will overwrite contents if file exists
Optional Parameters
--base_report
 -br
NA Where to write a full report about the loci we processed
--beta_threshold
0.95 threshold for p(f>=0.5) to trim
--genotype_mode
 -gm
HARD_THRESHOLD which approach should we take to getting the genotypes (only in array-free mode)
--lane_level_contamination
 -llc
NA set to META (default), SAMPLE or READGROUP to produce per-bam, per-sample or per-lane estimates
--likelihood_file
 -lf
NA write the likelihood values to the specified location
--min_mapq
20 threshold for minimum mapping quality score
--min_qscore
20 threshold for minimum base quality score
--minimum_base_count
 -mbc
500 what minimum number of bases do we need to see to call contamination in a lane / sample?
--population
CEU evaluate contamination for just a single contamination population
--precision
 -pc
0.1 the degree of precision to which the contamination tool should estimate (e.g. the bin size)
--sample_name
 -sn
unknown The sample name; used to extract the correct genotypes from mutli-sample truth vcfs
--trim_fraction
0.01 at most, what fraction of sites should be trimmed based on BETA_THRESHOLD
Optional Flags
--verify_sample
 -vs
false should we verify that the sample name is in the genotypes file?
Advanced Parameters
--fixed_epsilon_qscore
NA use a constant epsilon (phred scale) for calculation
--min_genotype_depth
50 what minimum depth is required to call a site in seq genotype mode
--min_genotype_llh
5.0 the min log likelihood for UG to call a genotype
--min_genotype_ratio
0.8 the ratio of alt to other bases to call a site a hom non-ref variant
--min_site_depth
0 minimum depth at a site to consider in calculation
--trim_interval
0.0 progressively trim from 0 to TRIM_FRACTION by this interval

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.


--base_report / -br

Where to write a full report about the loci we processed

PrintStream  NA


--beta_threshold / NA

threshold for p(f>=0.5) to trim

double  0.95  [ [ -∞  ∞ ] ]


--fixed_epsilon_qscore / NA

use a constant epsilon (phred scale) for calculation

Byte  NA


--genotype_mode / -gm

which approach should we take to getting the genotypes (only in array-free mode)

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

HARD_THRESHOLD
UNIFIED_GENOTYPER

SeqGenotypeMode  HARD_THRESHOLD


--genotypes / -genotypes

the genotype information for our sample

This argument supports reference-ordered data (ROD) files in the following formats: BCF2, VCF, VCF3

RodBinding[VariantContext]  none


--lane_level_contamination / -llc

set to META (default), SAMPLE or READGROUP to produce per-bam, per-sample or per-lane estimates

Set[ContaminationRunType]  NA


--likelihood_file / -lf

write the likelihood values to the specified location

PrintStream  NA


--min_genotype_depth / NA

what minimum depth is required to call a site in seq genotype mode

int  50  [ [ -∞  ∞ ] ]


--min_genotype_llh / NA

the min log likelihood for UG to call a genotype

double  5.0  [ [ -∞  ∞ ] ]


--min_genotype_ratio / NA

the ratio of alt to other bases to call a site a hom non-ref variant

double  0.8  [ [ -∞  ∞ ] ]


--min_mapq / NA

threshold for minimum mapping quality score

int  20  [ [ -∞  ∞ ] ]


--min_qscore / NA

threshold for minimum base quality score

int  20  [ [ -∞  ∞ ] ]


--min_site_depth / NA

minimum depth at a site to consider in calculation

int  0  [ [ -∞  ∞ ] ]


--minimum_base_count / -mbc

what minimum number of bases do we need to see to call contamination in a lane / sample?

Integer  500  [ [ -∞  ∞ ] ]


--out / -o

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

PrintStream  stdout


--popfile / -pf

the variant file containing information about the population allele frequencies

This argument supports reference-ordered data (ROD) files in the following formats: BCF2, VCF, VCF3

R RodBinding[VariantContext]  NA


--population / -population

evaluate contamination for just a single contamination population

String  CEU


--precision / -pc

the degree of precision to which the contamination tool should estimate (e.g. the bin size)

double  0.1  [ [ -∞  ∞ ] ]


--sample_name / -sn

The sample name; used to extract the correct genotypes from mutli-sample truth vcfs

String  unknown


--trim_fraction / NA

at most, what fraction of sites should be trimmed based on BETA_THRESHOLD

double  0.01  [ [ -∞  ∞ ] ]


--trim_interval / NA

progressively trim from 0 to TRIM_FRACTION by this interval

double  0.0  [ [ -∞  ∞ ] ]


--verify_sample / -vs

should we verify that the sample name is in the genotypes file?

boolean  false


Return to top


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

GATK version 3.8-0-ge9d806836 built at 2017/07/29 01:40:22.