Merged bug fix from Stable into Unstable
This commit is contained in:
commit
2e1a055aca
|
|
@ -268,16 +268,25 @@ public class BaseRecalibrator extends ReadWalker<Long, Long> implements NanoSche
|
||||||
}
|
}
|
||||||
|
|
||||||
protected boolean[] calculateKnownSites( final GATKSAMRecord read, final List<Feature> features ) {
|
protected boolean[] calculateKnownSites( final GATKSAMRecord read, final List<Feature> features ) {
|
||||||
final int BUFFER_SIZE = 0;
|
|
||||||
final int readLength = read.getReadBases().length;
|
final int readLength = read.getReadBases().length;
|
||||||
final boolean[] knownSites = new boolean[readLength];
|
final boolean[] knownSites = new boolean[readLength];
|
||||||
Arrays.fill(knownSites, false);
|
Arrays.fill(knownSites, false);
|
||||||
for( final Feature f : features ) {
|
for( final Feature f : features ) {
|
||||||
int featureStartOnRead = ReadUtils.getReadCoordinateForReferenceCoordinate(read.getSoftStart(), read.getCigar(), f.getStart(), ReadUtils.ClippingTail.LEFT_TAIL, true); // BUGBUG: should I use LEFT_TAIL here?
|
int featureStartOnRead = ReadUtils.getReadCoordinateForReferenceCoordinate(read.getSoftStart(), read.getCigar(), f.getStart(), ReadUtils.ClippingTail.LEFT_TAIL, true); // BUGBUG: should I use LEFT_TAIL here?
|
||||||
if( featureStartOnRead == ReadUtils.CLIPPING_GOAL_NOT_REACHED ) { featureStartOnRead = 0; }
|
if( featureStartOnRead == ReadUtils.CLIPPING_GOAL_NOT_REACHED ) {
|
||||||
|
featureStartOnRead = 0;
|
||||||
|
}
|
||||||
|
|
||||||
int featureEndOnRead = ReadUtils.getReadCoordinateForReferenceCoordinate(read.getSoftStart(), read.getCigar(), f.getEnd(), ReadUtils.ClippingTail.LEFT_TAIL, true);
|
int featureEndOnRead = ReadUtils.getReadCoordinateForReferenceCoordinate(read.getSoftStart(), read.getCigar(), f.getEnd(), ReadUtils.ClippingTail.LEFT_TAIL, true);
|
||||||
if( featureEndOnRead == ReadUtils.CLIPPING_GOAL_NOT_REACHED ) { featureEndOnRead = readLength; }
|
if( featureEndOnRead == ReadUtils.CLIPPING_GOAL_NOT_REACHED ) {
|
||||||
Arrays.fill(knownSites, Math.max(0, featureStartOnRead - BUFFER_SIZE), Math.min(readLength, featureEndOnRead + 1 + BUFFER_SIZE), true);
|
featureEndOnRead = readLength;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( featureStartOnRead > readLength ) {
|
||||||
|
featureStartOnRead = featureEndOnRead = readLength;
|
||||||
|
}
|
||||||
|
|
||||||
|
Arrays.fill(knownSites, Math.max(0, featureStartOnRead), Math.min(readLength, featureEndOnRead + 1), true);
|
||||||
}
|
}
|
||||||
return knownSites;
|
return knownSites;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue