ART optimization: BandPassActivityProfile only applies the gaussian filter if the state probability > 0

This commit is contained in:
Mark DePristo 2013-01-25 17:20:13 -05:00
parent 705cccaf63
commit 52a28968a9
1 changed files with 9 additions and 5 deletions

View File

@ -153,6 +153,7 @@ public class BandPassActivityProfile extends ActivityProfile {
final Collection<ActivityProfileState> states = new LinkedList<ActivityProfileState>(); final Collection<ActivityProfileState> states = new LinkedList<ActivityProfileState>();
for ( final ActivityProfileState superState : super.processState(justAddedState) ) { for ( final ActivityProfileState superState : super.processState(justAddedState) ) {
if ( superState.isActiveProb > 0.0 ) {
for( int jjj = -filterSize; jjj <= filterSize; jjj++ ) { for( int jjj = -filterSize; jjj <= filterSize; jjj++ ) {
final GenomeLoc loc = getLocForOffset(justAddedState.getLoc(), jjj); final GenomeLoc loc = getLocForOffset(justAddedState.getLoc(), jjj);
if ( loc != null ) { if ( loc != null ) {
@ -160,6 +161,9 @@ public class BandPassActivityProfile extends ActivityProfile {
states.add(new ActivityProfileState(loc, newProb)); states.add(new ActivityProfileState(loc, newProb));
} }
} }
} else {
states.add(justAddedState);
}
} }
return states; return states;