Count isActive calls directly
This commit is contained in:
parent
7580a487f3
commit
c08b782743
|
|
@ -34,9 +34,6 @@ public class TraverseActiveRegions <M,T> extends TraversalEngine<M,T,ActiveRegio
|
|||
private final LinkedList<ActiveRegion> workQueue = new LinkedList<ActiveRegion>();
|
||||
private final LinkedHashSet<GATKSAMRecord> myReads = new LinkedHashSet<GATKSAMRecord>();
|
||||
|
||||
// package access for unit testing
|
||||
ActivityProfile profile;
|
||||
|
||||
@Override
|
||||
public String getTraversalUnits() {
|
||||
return "active regions";
|
||||
|
|
@ -56,7 +53,7 @@ public class TraverseActiveRegions <M,T> extends TraversalEngine<M,T,ActiveRegio
|
|||
|
||||
int minStart = Integer.MAX_VALUE;
|
||||
final List<ActiveRegion> activeRegions = new LinkedList<ActiveRegion>();
|
||||
profile = new ActivityProfile(engine.getGenomeLocParser(), walker.hasPresetActiveRegions() );
|
||||
ActivityProfile profile = new ActivityProfile(engine.getGenomeLocParser(), walker.hasPresetActiveRegions() );
|
||||
|
||||
ReferenceOrderedView referenceOrderedDataView = getReferenceOrderedView(walker, dataProvider, locusView);
|
||||
|
||||
|
|
|
|||
|
|
@ -103,11 +103,6 @@ public class ActivityProfile {
|
|||
isActiveList.add(result);
|
||||
}
|
||||
|
||||
// for unit testing
|
||||
public List<ActivityProfileResult> getActiveList() {
|
||||
return isActiveList;
|
||||
}
|
||||
|
||||
public int size() {
|
||||
return isActiveList.size();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ public class TraverseActiveRegionsTest extends BaseTest {
|
|||
|
||||
private class DummyActiveRegionWalker extends ActiveRegionWalker<Integer, Integer> {
|
||||
private final double prob;
|
||||
public List<GenomeLoc> isActiveCalls = new ArrayList<GenomeLoc>();
|
||||
|
||||
public DummyActiveRegionWalker() {
|
||||
this.prob = 1.0;
|
||||
|
|
@ -48,6 +49,7 @@ public class TraverseActiveRegionsTest extends BaseTest {
|
|||
|
||||
@Override
|
||||
public ActivityProfileResult isActive(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) {
|
||||
isActiveCalls.add(ref.getLocus());
|
||||
return new ActivityProfileResult(ref.getLocus(), prob);
|
||||
}
|
||||
|
||||
|
|
@ -71,7 +73,7 @@ public class TraverseActiveRegionsTest extends BaseTest {
|
|||
|
||||
private IndexedFastaSequenceFile reference;
|
||||
private GenomeLocParser genomeLocParser;
|
||||
private ActiveRegionWalker<Integer, Integer> walker;
|
||||
private DummyActiveRegionWalker walker;
|
||||
|
||||
@BeforeClass
|
||||
private void init() throws FileNotFoundException {
|
||||
|
|
@ -83,18 +85,21 @@ public class TraverseActiveRegionsTest extends BaseTest {
|
|||
@Test
|
||||
public void testAllIntervalsSeen() throws Exception {
|
||||
List<GenomeLoc> intervals = new ArrayList<GenomeLoc>();
|
||||
List<GenomeLoc> activeIntervals = new ArrayList<GenomeLoc>();
|
||||
|
||||
GenomeLoc interval = genomeLocParser.createGenomeLoc("1", 1, 1);
|
||||
intervals.add(interval);
|
||||
|
||||
LocusShardDataProvider dataProvider = createDataProvider(intervals);
|
||||
|
||||
t.traverse(walker, dataProvider, 0);
|
||||
activeIntervals.addAll(walker.isActiveCalls);
|
||||
|
||||
boolean allGenomeLocsSeen = true;
|
||||
for (GenomeLoc loc : intervals) {
|
||||
boolean thisGenomeLocSeen = false;
|
||||
for (ActivityProfileResult active : t.profile.getActiveList()) {
|
||||
if (loc.equals(active.getLoc())) {
|
||||
for (GenomeLoc activeLoc : activeIntervals) {
|
||||
if (loc.equals(activeLoc)) {
|
||||
thisGenomeLocSeen = true;
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue