Pushing the RR bug fix that I puished into unstable into stable, as requested by Tim
This commit is contained in:
parent
3ad45223be
commit
4a7e0427a3
|
|
@ -39,16 +39,27 @@ public class HeaderElement {
|
||||||
*
|
*
|
||||||
* @param location the reference location for the new element
|
* @param location the reference location for the new element
|
||||||
*/
|
*/
|
||||||
public HeaderElement(int location) {
|
public HeaderElement(final int location) {
|
||||||
this(new BaseAndQualsCounts(), new BaseAndQualsCounts(), 0, 0, location, new LinkedList<Integer>());
|
this(new BaseAndQualsCounts(), new BaseAndQualsCounts(), 0, 0, location, new LinkedList<Integer>());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new HeaderElement with the following default values: - empty consensusBaseCounts - empty
|
||||||
|
* filteredBaseCounts - empty mappingQuality list
|
||||||
|
*
|
||||||
|
* @param location the reference location for the new element
|
||||||
|
*/
|
||||||
|
public HeaderElement(final int location, final int insertionsToTheRight) {
|
||||||
|
this(new BaseAndQualsCounts(), new BaseAndQualsCounts(), insertionsToTheRight, 0, location, new LinkedList<Integer>());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new HeaderElement with all given parameters
|
* Creates a new HeaderElement with all given parameters
|
||||||
*
|
*
|
||||||
* @param consensusBaseCounts the BaseCounts object for the running consensus synthetic read
|
* @param consensusBaseCounts the BaseCounts object for the running consensus synthetic read
|
||||||
* @param filteredBaseCounts the BaseCounts object for the filtered data synthetic read
|
* @param filteredBaseCounts the BaseCounts object for the filtered data synthetic read
|
||||||
* @param insertionsToTheRight number of insertions to the right of this HeaderElement
|
* @param insertionsToTheRight number of insertions to the right of this HeaderElement
|
||||||
|
* @param nSoftClippedBases number of softclipped bases of this HeaderElement
|
||||||
* @param location the reference location of this reference element
|
* @param location the reference location of this reference element
|
||||||
* @param mappingQuality the list of mapping quality values of all reads that contributed to this
|
* @param mappingQuality the list of mapping quality values of all reads that contributed to this
|
||||||
* HeaderElement
|
* HeaderElement
|
||||||
|
|
@ -151,6 +162,14 @@ public class HeaderElement {
|
||||||
throw new ReviewedStingException("Removed too many insertions, header is now negative!");
|
throw new ReviewedStingException("Removed too many insertions, header is now negative!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean hasInsertionToTheRight() {
|
||||||
|
return insertionsToTheRight > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int numInsertionsToTheRight() {
|
||||||
|
return insertionsToTheRight;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether or not the HeaderElement is variant due to excess insertions
|
* Whether or not the HeaderElement is variant due to excess insertions
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -645,8 +645,15 @@ public class SlidingWindow {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i <= lastStop; i++) // clean up the window header elements up until the end of the variant region. (we keep the last element in case the following element had a read that started with insertion)
|
// clean up the window header elements up until the end of the variant region.
|
||||||
windowHeader.remove();
|
// note that we keep the last element of the region in the event that the following element has a read that starts with insertion.
|
||||||
|
if ( lastStop >= 0 ) {
|
||||||
|
for (int i = 0; i < lastStop; i++)
|
||||||
|
windowHeader.remove();
|
||||||
|
final HeaderElement lastOfRegion = windowHeader.remove();
|
||||||
|
if ( lastOfRegion.hasInsertionToTheRight() )
|
||||||
|
windowHeader.addFirst(new HeaderElement(lastOfRegion.getLocation(), lastOfRegion.numInsertionsToTheRight()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return allReads;
|
return allReads;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue