From d83ad906eff14027908376eceb37dd502a6fdd78 Mon Sep 17 00:00:00 2001 From: Joel Thibault Date: Mon, 26 Nov 2012 13:44:13 -0500 Subject: [PATCH] Add profile range contract --- .../sting/gatk/walkers/ActiveRegionWalker.java | 2 ++ .../traversals/TraverseActiveRegionsTest.java | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/ActiveRegionWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/ActiveRegionWalker.java index fed2c995e..c6e28df05 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/ActiveRegionWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/ActiveRegionWalker.java @@ -1,5 +1,6 @@ package org.broadinstitute.sting.gatk.walkers; +import com.google.java.contract.Ensures; import net.sf.picard.reference.IndexedFastaSequenceFile; import org.broad.tribble.Feature; import org.broadinstitute.sting.commandline.Input; @@ -75,6 +76,7 @@ public abstract class ActiveRegionWalker extends Walker= 0.0", "result.isActiveProb <= 1.0"}) public abstract ActivityProfileResult isActive(final RefMetaDataTracker tracker, final ReferenceContext ref, final AlignmentContext context); // Map over the ActiveRegion diff --git a/public/java/test/org/broadinstitute/sting/gatk/traversals/TraverseActiveRegionsTest.java b/public/java/test/org/broadinstitute/sting/gatk/traversals/TraverseActiveRegionsTest.java index 018e92d84..8a4be48be 100644 --- a/public/java/test/org/broadinstitute/sting/gatk/traversals/TraverseActiveRegionsTest.java +++ b/public/java/test/org/broadinstitute/sting/gatk/traversals/TraverseActiveRegionsTest.java @@ -1,5 +1,6 @@ package org.broadinstitute.sting.gatk.traversals; +import com.google.java.contract.PreconditionError; import net.sf.samtools.*; import org.broadinstitute.sting.utils.interval.IntervalMergingRule; import org.broadinstitute.sting.utils.interval.IntervalUtils; @@ -52,6 +53,10 @@ public class TraverseActiveRegionsTest extends BaseTest { this.prob = 1.0; } + public DummyActiveRegionWalker(double constProb) { + this.prob = constProb; + } + @Override public ActivityProfileResult isActive(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { isActiveCalls.add(ref.getLocus()); @@ -132,6 +137,18 @@ public class TraverseActiveRegionsTest extends BaseTest { return activeIntervals; } + @Test (expectedExceptions = PreconditionError.class) + public void testIsActiveRangeLow () { + DummyActiveRegionWalker walker = new DummyActiveRegionWalker(-0.1); + getActiveRegions(walker, intervals).values(); + } + + @Test (expectedExceptions = PreconditionError.class) + public void testIsActiveRangeHigh () { + DummyActiveRegionWalker walker = new DummyActiveRegionWalker(1.1); + getActiveRegions(walker, intervals).values(); + } + @Test public void testActiveRegionCoverage() { DummyActiveRegionWalker walker = new DummyActiveRegionWalker();