From 61064d7075da98f7d3accefe952b9f0b2c6c8d11 Mon Sep 17 00:00:00 2001 From: depristo Date: Sat, 14 Aug 2010 18:35:57 +0000 Subject: [PATCH] GenotypeConcordance log file -- if provided, GC module will write FN/FP information to this file by context git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@4036 348d0f76-0448-11de-a6fe-93d51630548a --- .../walkers/varianteval/GenotypeConcordance.java | 12 +++++++++--- .../gatk/walkers/varianteval/VariantEvalWalker.java | 4 ++++ 2 files changed, 13 insertions(+), 3 deletions(-) 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 584c13c71..5bff21632 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/GenotypeConcordance.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/GenotypeConcordance.java @@ -314,9 +314,15 @@ public class GenotypeConcordance extends VariantEvaluator implements StandardEva for (final String sample : validation.getSampleNames()) { final Genotype.Type truth = validation.getGenotype(sample).getType(); sampleStats.incrValue(sample, truth, called); - if ( (truth == Genotype.Type.HOM_VAR || truth == Genotype.Type.HET) && called == Genotype.Type.NO_CALL ) { - if ( PRINT_INTERESTING_SITES && super.getVEWalker().printInterestingSites() ) - ;//System.out.printf("%s: HM3 FN => %s%n", group, validation); + + // print out interesting sites + if ( PRINT_INTERESTING_SITES && super.getVEWalker().gcLog != null ) { + if ( (truth == Genotype.Type.HOM_VAR || truth == Genotype.Type.HET) && called == Genotype.Type.NO_CALL ) { + super.getVEWalker().gcLog.printf("%s FN %s%n", group, validation); + } + if ( (called == Genotype.Type.HOM_VAR || called == Genotype.Type.HET) && truth == Genotype.Type.HOM_REF ) { + super.getVEWalker().gcLog.printf("%s FP %s%n", group, validation); + } } } } 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 efb56b372..1d2c33ccb 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/VariantEvalWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/VariantEvalWalker.java @@ -54,6 +54,7 @@ import org.broadinstitute.sting.utils.text.XReadLines; import java.io.File; import java.io.FileNotFoundException; import java.io.OutputStreamWriter; +import java.io.PrintStream; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.util.*; @@ -158,6 +159,9 @@ public class VariantEvalWalker extends RodWalker { @Argument(shortName="outputVCF", fullName="InterestingSitesVCF", doc="If provided, interesting sites emitted to this vcf and the INFO field annotated as to why they are interesting", required=false) protected String outputVCF = null; + @Argument(shortName="gcLog", fullName="GenotypeCocordanceLog", doc="If provided, sites with genotype concordance problems (e.g., FP and FNs) will be emitted ot this file", required=false) + protected PrintStream gcLog = null; + private static double NO_MIN_QUAL_SCORE = -1.0; @Argument(shortName = "Q", fullName="minPhredConfidenceScore", doc="Minimum confidence score to consider an evaluation SNP a variant", required=false) public double minQualScore = NO_MIN_QUAL_SCORE;