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: