Protect against cases where there are counts but no quals

This commit is contained in:
Eric Banks 2012-10-04 10:52:30 -04:00
parent 0c46845c92
commit dfddc4bb0e
2 changed files with 3 additions and 3 deletions

View File

@ -214,7 +214,7 @@ import java.util.Map;
if (entry.getValue() > sumQuals.get(maxI))
maxI = entry.getKey();
}
return maxI;
return (sumQuals.get(maxI) > 0L ? maxI : baseIndexWithMostCounts());
}
@Ensures("result != null")
@ -224,7 +224,7 @@ import java.util.Map;
if (entry.getKey().isNucleotide() && entry.getValue() > sumQuals.get(maxI))
maxI = entry.getKey();
}
return maxI;
return (sumQuals.get(maxI) > 0L ? maxI : baseIndexWithMostCountsWithoutIndels());
}
@Ensures("result >=0")

View File

@ -472,7 +472,7 @@ public class SlidingWindow {
* @param rms the rms mapping quality in the header element
*/
private void genericAddBaseToConsensus(SyntheticRead syntheticRead, BaseAndQualsCounts baseCounts, double rms) {
BaseIndex base = baseCounts.baseIndexWithMostProbability();
final BaseIndex base = baseCounts.baseIndexWithMostProbability();
byte count = (byte) Math.min(baseCounts.countOfBase(base), Byte.MAX_VALUE);
byte qual = baseCounts.averageQualsOfBase(base);
byte insQual = baseCounts.averageInsertionQualsOfBase(base);