From b9a59ea54f5d98f18a99a0ae3263df890e47c050 Mon Sep 17 00:00:00 2001 From: ebanks Date: Sun, 21 Nov 2010 04:24:42 +0000 Subject: [PATCH] Adding Het/Hom ratio to the temp per sample metrics. Because I'm in a generous mood tonight, I'm going ahead and fixing the paths for the classes I'm touching... git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@4713 348d0f76-0448-11de-a6fe-93d51630548a --- .../walkers/varianteval/VariantEvaluator.java | 10 +++--- .../varianteval/FunctionalClassBySample.java | 8 ++--- .../varianteval/SimpleMetricsBySample.java | 33 ++++++++++++++++--- .../varianteval/VariantEvaluatorBySample.java | 3 +- 4 files changed, 38 insertions(+), 16 deletions(-) diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/VariantEvaluator.java b/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/VariantEvaluator.java index 293ab67b2..53aaaceb2 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/VariantEvaluator.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/VariantEvaluator.java @@ -14,15 +14,13 @@ import org.broadinstitute.sting.gatk.contexts.AlignmentContext; * This software is supplied without any warranty or guaranteed support whatsoever. Neither * the Broad Institute nor MIT can be responsible for its use, misuse, or functionality. */ -abstract class VariantEvaluator { +public abstract class VariantEvaluator { // protected boolean accumulateInterestingSites = false, printInterestingSites = false; // protected String interestingSitePrefix = null; - protected boolean processedASite = false; +// protected boolean processedASite = false; // protected List interestingSites = new ArrayList(); - public abstract String getName(); - - // do we want to keep track of things that are interesting +// do we want to keep track of things that are interesting // public void accumulateInterestingSites(boolean enable) { accumulateInterestingSites = enable; } // public void printInterestingSites(String prefix) { printInterestingSites = true; interestingSitePrefix = prefix; } // public boolean isAccumulatingInterestingSites() { return accumulateInterestingSites; } @@ -35,6 +33,8 @@ abstract class VariantEvaluator { // System.out.printf("%40s %s%n", interestingSitePrefix, why); // } + public abstract String getName(); + protected VariantEvalWalker veWalker = null; public VariantEvaluator(VariantEvalWalker parent) { veWalker = parent; diff --git a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/varianteval/FunctionalClassBySample.java b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/varianteval/FunctionalClassBySample.java index e29dc7d7f..b8e6b1f77 100755 --- a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/varianteval/FunctionalClassBySample.java +++ b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/varianteval/FunctionalClassBySample.java @@ -1,16 +1,12 @@ -package org.broadinstitute.sting.gatk.walkers.varianteval; +package org.broadinstitute.sting.oneoffprojects.walkers.varianteval; import org.broad.tribble.util.variantcontext.Genotype; import org.broad.tribble.util.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.walkers.varianteval.VariantEvaluatorBySample; +import org.broadinstitute.sting.gatk.walkers.varianteval.*; import org.broadinstitute.sting.utils.report.tags.Analysis; -import org.broadinstitute.sting.gatk.walkers.varianteval.SampleDataPoint; -import org.broadinstitute.sting.gatk.walkers.varianteval.VariantEvaluatorBySample; -import org.broadinstitute.sting.utils.report.tags.Analysis; -import org.broadinstitute.sting.utils.report.tags.DataPoint; import java.util.ArrayList; import java.util.List; diff --git a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/varianteval/SimpleMetricsBySample.java b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/varianteval/SimpleMetricsBySample.java index 473a56577..ea57ee539 100755 --- a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/varianteval/SimpleMetricsBySample.java +++ b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/varianteval/SimpleMetricsBySample.java @@ -1,4 +1,4 @@ -package org.broadinstitute.sting.gatk.walkers.varianteval; +package org.broadinstitute.sting.oneoffprojects.walkers.varianteval; import org.broad.tribble.util.variantcontext.Genotype; import org.broad.tribble.util.variantcontext.VariantContext; @@ -6,10 +6,8 @@ import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.contexts.variantcontext.VariantContextUtils; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.walkers.varianteval.SampleDataPoint; -import org.broadinstitute.sting.gatk.walkers.varianteval.VariantEvaluatorBySample; +import org.broadinstitute.sting.gatk.walkers.varianteval.*; import org.broadinstitute.sting.utils.report.tags.Analysis; -import org.broadinstitute.sting.utils.report.tags.DataPoint; import java.util.ArrayList; import java.util.List; @@ -26,6 +24,7 @@ public class SimpleMetricsBySample extends VariantEvaluatorBySample { List points = new ArrayList(3); points.add(new CountSNPsSample()); points.add(new TiTvRatioSample()); + points.add(new HetHomRatioSample()); points.add(new CompOverlapSample()); return points; @@ -92,6 +91,32 @@ class TiTvRatioSample extends SampleDataPoint { } } +class HetHomRatioSample extends SampleDataPoint { + int nHet = 0; + int nHomVar = 0; + + public HetHomRatioSample() { + super("HetHomRatio"); + } + + public void update2(VariantContext vc, VariantContext comp, RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { + if ( vc != null ) { + Genotype g = vc.getGenotype(sampleName); + if ( g != null ) { + if ( g.isHet() ) { + nHet++; + } else if (g.isHomVar()) { + nHomVar++; + } + } + } + } + + public String toString() { + return String.format("%.2f", ( ((double) nHet )/ nHomVar)); + } +} + class CompOverlapSample extends SampleDataPoint { int nOverlap = 0; diff --git a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/varianteval/VariantEvaluatorBySample.java b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/varianteval/VariantEvaluatorBySample.java index 989654c3c..c5f065f03 100755 --- a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/varianteval/VariantEvaluatorBySample.java +++ b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/varianteval/VariantEvaluatorBySample.java @@ -1,10 +1,11 @@ -package org.broadinstitute.sting.gatk.walkers.varianteval; +package org.broadinstitute.sting.oneoffprojects.walkers.varianteval; import org.broad.tribble.util.variantcontext.Genotype; import org.broad.tribble.util.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; +import org.broadinstitute.sting.gatk.walkers.varianteval.*; import org.broadinstitute.sting.utils.report.tags.DataPoint; import org.broadinstitute.sting.utils.report.utils.TableType;