/** * Test the outcome of non-ACGTN ref and read bases mismatching each other. * The result should be explicit read base and score capture via {@link ReadBase}. */ @Test public void testAddMismatchReadFeaturesAmbiguityMismatch() { final List<ReadFeature> readFeatures = buildMatchOrMismatchReadFeatures("R", "F", "1"); Assert.assertEquals(1, readFeatures.size()); final ReadFeature rf = readFeatures.get(0); Assert.assertTrue(rf instanceof ReadBase); final ReadBase readBaseFeature = (ReadBase) rf; Assert.assertEquals(1, readBaseFeature.getPosition()); Assert.assertEquals('F', readBaseFeature.getBase()); Assert.assertEquals(SAMUtils.fastqToPhred('1'), readBaseFeature.getQualityScore()); }
} else { final byte score = qualityScore[i + fromPosInRead]; features.add(new ReadBase(oneBasedPositionInRead, readBase, score));
case ReadBase.operator: final ReadBase rb = (ReadBase) f; baseCodec.writeData(rb.getBase()); qualityScoreCodec.writeData(rb.getQualityScore()); break; case Substitution.operator:
case ReadBase.operator: pos = feature.getPosition(); scores[pos - 1] = ((ReadBase) feature).getQualityScore(); star = false; break;
case ReadBase.operator: final ReadBase readBase = (ReadBase) variation; bases[variation.getPosition() - 1] = readBase.getBase(); break; default:
case ReadBase.operator: final ReadBase rb = (ReadBase) f; baseCodec.writeData(rb.getBase()); qualityScoreCodec.writeData(rb.getQualityScore()); break; case Substitution.operator:
case ReadBase.operator: pos = feature.getPosition(); scores[pos - 1] = ((ReadBase) feature).getQualityScore(); star = false; break;
case ReadBase.operator: final ReadBase readBase = (ReadBase) variation; bases[variation.getPosition() - 1] = readBase.getBase(); break; default:
case ReadBase.operator: pos = feature.getPosition(); scores[pos - 1] = ((ReadBase) feature).getQualityScore(); star = false; break;
case ReadBase.operator: final ReadBase readBase = (ReadBase) variation; bases[variation.getPosition() - 1] = readBase.getBase(); break; default:
} else { final byte score = qualityScore[i + fromPosInRead]; features.add(new ReadBase(oneBasedPositionInRead, readBase, score));
final ReadBase readBase = new ReadBase(pos, baseCodec.readData(), qualityScoreCodec.readData()); readFeatures.add(readBase); break;
final ReadBase readBase = new ReadBase(pos, baseCodec.readData(), qualityScoreCodec.readData()); readFeatures.add(readBase); break;