Fix when specifying preset active regions with -AR argument
This commit is contained in:
parent
f596377e73
commit
601e53d633
|
|
@ -124,7 +124,7 @@ public class TraverseActiveRegions <M,T> extends TraversalEngine<M,T,ActiveRegio
|
||||||
|
|
||||||
// Take the individual isActive calls and integrate them into contiguous active regions and
|
// Take the individual isActive calls and integrate them into contiguous active regions and
|
||||||
// add these blocks of work to the work queue
|
// add these blocks of work to the work queue
|
||||||
final ArrayList<ActiveRegion> activeRegions = integrateActiveList( isActiveList, firstIsActiveStart, activeRegionExtension );
|
final ArrayList<ActiveRegion> activeRegions = integrateActiveList( isActiveList, firstIsActiveStart, activeRegionExtension, walker.presetActiveRegions != null );
|
||||||
logger.debug("Integrated " + isActiveList.size() + " isActive calls into " + activeRegions.size() + " regions." );
|
logger.debug("Integrated " + isActiveList.size() + " isActive calls into " + activeRegions.size() + " regions." );
|
||||||
if( walker.activeRegionOutStream == null ) {
|
if( walker.activeRegionOutStream == null ) {
|
||||||
workQueue.addAll( activeRegions );
|
workQueue.addAll( activeRegions );
|
||||||
|
|
@ -214,7 +214,7 @@ public class TraverseActiveRegions <M,T> extends TraversalEngine<M,T,ActiveRegio
|
||||||
}
|
}
|
||||||
|
|
||||||
// band-pass filter the list of isActive probabilities and turn into active regions
|
// band-pass filter the list of isActive probabilities and turn into active regions
|
||||||
private ArrayList<ActiveRegion> integrateActiveList( final ArrayList<Double> activeList, final GenomeLoc firstIsActiveStart, final int activeRegionExtension ) {
|
private ArrayList<ActiveRegion> integrateActiveList( final ArrayList<Double> activeList, final GenomeLoc firstIsActiveStart, final int activeRegionExtension, final boolean presetRegions ) {
|
||||||
|
|
||||||
final double ACTIVE_PROB_THRESHOLD = 0.2; // BUGBUG: needs to be set-able by the walker author
|
final double ACTIVE_PROB_THRESHOLD = 0.2; // BUGBUG: needs to be set-able by the walker author
|
||||||
final ArrayList<ActiveRegion> returnList = new ArrayList<ActiveRegion>();
|
final ArrayList<ActiveRegion> returnList = new ArrayList<ActiveRegion>();
|
||||||
|
|
@ -227,11 +227,11 @@ public class TraverseActiveRegions <M,T> extends TraversalEngine<M,T,ActiveRegio
|
||||||
} else {
|
} else {
|
||||||
final Double[] activeProbArray = activeList.toArray(new Double[activeList.size()]);
|
final Double[] activeProbArray = activeList.toArray(new Double[activeList.size()]);
|
||||||
final double[] filteredProbArray = new double[activeProbArray.length];
|
final double[] filteredProbArray = new double[activeProbArray.length];
|
||||||
final int FILTER_SIZE = 50; // BUGBUG: needs to be set-able by the walker author
|
final int FILTER_SIZE = ( presetRegions ? 0 : 50 ); // BUGBUG: needs to be set-able by the walker author
|
||||||
final int MAX_ACTIVE_REGION = 425; // BUGBUG: needs to be set-able by the walker author
|
final int MAX_ACTIVE_REGION = ( presetRegions ? 16001 : 425 ); // BUGBUG: needs to be set-able by the walker author
|
||||||
for( int iii = 0; iii < activeProbArray.length; iii++ ) {
|
for( int iii = 0; iii < activeProbArray.length; iii++ ) {
|
||||||
double maxVal = 0;
|
double maxVal = 0;
|
||||||
for( int jjj = Math.max(0, iii-FILTER_SIZE); jjj < Math.min(activeList.size(), iii+FILTER_SIZE); jjj++ ) {
|
for( int jjj = Math.max(0, iii-FILTER_SIZE); jjj < Math.min(activeList.size(), iii+FILTER_SIZE+1); jjj++ ) {
|
||||||
if( activeProbArray[jjj] > maxVal ) { maxVal = activeProbArray[jjj]; }
|
if( activeProbArray[jjj] > maxVal ) { maxVal = activeProbArray[jjj]; }
|
||||||
}
|
}
|
||||||
filteredProbArray[iii] = maxVal;
|
filteredProbArray[iii] = maxVal;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue