From cd4cd6db81100d0cce34171807f6c90aabb19ef2 Mon Sep 17 00:00:00 2001 From: flannick Date: Tue, 10 Aug 2010 19:55:19 +0000 Subject: [PATCH] Added option to print out discordant sites in GenotypeConcordance git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@4006 348d0f76-0448-11de-a6fe-93d51630548a --- .../varianteval/GenotypeConcordance.java | 7 +++++++ .../varianteval/VariantEvalWalker.java | 19 ++++++++++++++++++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/GenotypeConcordance.java b/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/GenotypeConcordance.java index 9acb4a67b..584c13c71 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/GenotypeConcordance.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/GenotypeConcordance.java @@ -62,6 +62,8 @@ public class GenotypeConcordance extends VariantEvaluator implements StandardEva private static final int MAX_MISSED_VALIDATION_DATA = 100; + private boolean discordantInteresting = false; + private VariantEvalWalker.EvaluationContext group = null; static class FrequencyStats implements TableType { @@ -214,6 +216,7 @@ public class GenotypeConcordance extends VariantEvaluator implements StandardEva public GenotypeConcordance(VariantEvalWalker parent) { super(parent); + discordantInteresting = parent.DISCORDANT_INTERESTING; } public String getName() { @@ -295,6 +298,10 @@ public class GenotypeConcordance extends VariantEvaluator implements StandardEva } else { truth = validation.getGenotype(sample).getType(); // interesting = "ConcordanceStatus=FP"; + if (discordantInteresting && truth.ordinal() != called.ordinal()) + { + interesting = "ConcordanceStatus=" + truth.ordinal() + "/" + called.ordinal(); + } } sampleStats.incrValue(sample, truth, called); diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/VariantEvalWalker.java b/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/VariantEvalWalker.java index 306175ea0..e7f4fca34 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/VariantEvalWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/VariantEvalWalker.java @@ -195,6 +195,9 @@ public class VariantEvalWalker extends RodWalker { @Argument(shortName="aatUseCodons", fullName="aminoAcidsRepresentedByCodons", doc="for the amino acid table, specifiy that the transitions are represented as codon changes, and not directly amino acid names", required = false) protected boolean aatUseCodons = false; + @Argument(shortName="disI", fullName="discordantInteresting", doc="If passed, write discordant sites as interesting", required=false) + protected boolean DISCORDANT_INTERESTING = false; + @Argument(fullName="tranchesFile", shortName="tf", doc="The input tranches file describing where to cut the data", required=false) private String TRANCHE_FILENAME = null; @@ -530,7 +533,21 @@ public class VariantEvalWalker extends RodWalker { comp.hasNegLog10PError() && comp.getNegLog10PError() < (minCompQualScore / 10.0) ) comp = null; - String interesting = evaluation.update2( evalWantsVC ? vc : null, comp, tracker, ref, context, group ); + + String interesting = evaluation.update2( evalWantsVC ? vc : null, comp, tracker, ref, context, group ); + + /** TODO + -- for Eric: Fix me (current implementation causes GenotypeConcordance + to treat sites that don't match JEXL as no-calls) + + String interesting = null; + if (evalWantsVC) + { + interesting = evaluation.update2( evalWantsVC ? vc : null, comp, tracker, ref, context, group ); + } + **/ + + if ( interesting != null ) interestingReasons.add(interesting); break; default: