Genotype concordance (per-sample and aggregate counts and frequencies, NRD/NRS and site allele overlaps) between two callsets
GenotypeConcordance takes in two callsets (vcfs) and tabulates the number of sites which overlap and share alleles, and for each sample, the genotype-by-genotype counts (for instance, the number of sites at which a sample was called homozygous reference in the EVAL callset, but homozygous variant in the COMP callset). It outputs these counts as well as convenient proportions (such as the proportion of het calls in the EVAL which were called REF in the COMP) and metrics (such as NRD and NRS).
Genotype concordance requires two callsets (as it does a comparison): an EVAL and a COMP callset, specified via the -eval and -comp arguments. (Optional) Jexl expressions for genotype-level filtering of EVAL or COMP genotypes, specified via the -gfe and -cfe arguments, respectively.
Sample NO_CALL_HOM_REF NO_CALL_HET NO_CALL_HOM_VAR (...) NA12878 0.003 0.001 0.000 (...) NA12891 0.005 0.000 0.000 (...)would instead be displayed
NA12878 NO_CALL_HOM_REF 0.003 NA12878 NO_CALL_HET 0.001 NA12878 NO_CALL_HOM_VAR 0.000 NA12891 NO_CALL_HOM_REF 0.005 NA12891 NO_CALL_HET 0.000 NA12891 NO_CALL_HOM_VAR 0.000 (...)These tables are constructed on a per-sample basis, and include counts of eval vs comp genotype states, and the number of times the alternate alleles between the eval and comp sample did not match up. In addition, Genotype Concordance produces site-level allelic concordance. For strictly bi-allelic VCFs, only the ALLELES_MATCH, EVAL_ONLY, TRUTH_ONLY fields will be populated, but where multi-allelic sites are involved counts for EVAL_SUBSET_TRUTH and EVAL_SUPERSET_TRUTH will be generated. For example, in the following situation
eval: ref - A alt - C comp: ref - A alt - C,Tthen the site is tabulated as EVAL_SUBSET_TRUTH. Were the situation reversed, it would be EVAL_SUPERSET_TRUTH. However, in the case where eval has both C and T alternate alleles, both must be observed in the genotypes (that is, there must be at least one of (0/1,1/1) and at least one of (0/2,1/2,2/2) in the genotype field). If one of the alleles has no observations in the genotype fields of the eval, the site-level concordance is tabulated as though that allele were not present in the record.
eval: ref - A alt - C genotypes - 0/0 0/0 0/0 ... 0/0 comp: ref - A alt - C ... 0/0 0/0 ...is equivalent to
eval: ref - A alt - . genotypes - 0/0 0/0 0/0 ... 0/0 comp: ref - A alt - C ... 0/0 0/0 ...When a record is present in the comp VCF the *genotypes* for the monomorphic site will still be used to evaluate per-sample genotype concordance counts.
These Read Filters are automatically applied to the data by the Engine before processing by GenotypeConcordance.
This tool applies the following downsampling settings by default.
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).
This table summarizes the command-line arguments that are specific to this tool. For details, see the list further down below the table.
|--comp||RodBinding[VariantContext]||NA||The variants and genotypes to compare against|
|--eval||RodBinding[VariantContext]||NA||The variants and genotypes to evaluate|
|--moltenize||boolean||false||Molten rather than tabular output|
|--out||PrintStream||stdout||An output file created by the walker. Will overwrite contents if file exists|
|--genotypeFilterExpressionComp||ArrayList[String]||||One or more criteria to use to set COMP genotypes to no-call. These genotype-level filters are only applied to the COMP rod.|
|--genotypeFilterExpressionEval||ArrayList[String]||||One or more criteria to use to set EVAL genotypes to no-call. These genotype-level filters are only applied to the EVAL rod.|
|--ignoreFilters||boolean||false||Filters will be ignored|
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.
The variants and genotypes to compare against. The callset you want to treat as 'truth'. Can also be of unknown quality for the sake of callset comparisons. --comp binds reference ordered data. This argument supports ROD files of the following types: BCF2, VCF, VCF3
The variants and genotypes to evaluate. The callset you want to evaluate, typically this is where you'd put 'unassessed' callsets. --eval binds reference ordered data. This argument supports ROD files of the following types: BCF2, VCF, VCF3
One or more criteria to use to set COMP genotypes to no-call. These genotype-level filters are only applied to the COMP rod.. Identical to -gfe except the filter is applied to genotypes in the comp rod.
One or more criteria to use to set EVAL genotypes to no-call. These genotype-level filters are only applied to the EVAL rod.. A genotype level JEXL expression to apply to eval genotypes. Genotypes filtered in this way will be replaced by NO_CALL. For instance: -gfe 'GQ<20' will set to no-call any genotype with genotype quality less than 20.
Filters will be ignored. The FILTER field of the eval and comp VCFs will be ignored. If this flag is not included, all FILTER sites will be treated as not being present in the VCF. (That is, the genotypes will be assigned UNAVAILABLE, as distinct from NO_CALL).
Molten rather than tabular output. Moltenize the count and proportion tables. Rather than moltenizing per-sample data into a 2x2 table, it is fully moltenized into elements. That is, WITHOUT this argument, each row of the table begins with the sample name and proceeds directly with counts/proportions of eval/comp counts (for instance HOM_REF/HOM_REF, HOM_REF/NO_CALL). If the Moltenize argument is given, the output will begin with a sample name, followed by the contrastive genotype type (such as HOM_REF/HOM_REF), followed by the count or proportion. This will significantly increase the number of rows.
An output file created by the walker. Will overwrite contents if file exists.
GATK version 2.8-1-g2a26ec9 built at 2013/12/06 16:54:02.