continue;
} else {
continue;
}
Exon lastExon = exons.get(exons.size() - 1);
assertEquals(7600, lastExon.getCdEnd());
assertEquals(lastExon.getCdStart(), lastExon.getStart());
assertEquals(9000, lastExon.getEnd());
int midCDSInd = 2;
if (ident.equals("mRNA00001")) {
assertEquals(4, bf.getExonCount());
assertEquals(1201 - 1, exons.get(0).getCdStart());
Exon secExon = exons.get(1);
assertWholeExonCoding(secExon);
assertEquals(3000 - 1, secExon.getStart());
assertEquals(3902, secExon.getEnd());
}
if (ident.equals("mRNA00002")) {
assertEquals(3, bf.getExonCount());
assertEquals(1201 - 1, exons.get(0).getCdStart());
midCDSInd = 1;
}
if (ident.equals("mRNA00003")) {
assertEquals(4, bf.getExonCount());
boolean passedCdStart = false;
for (Exon exon : exons) {
if (exon.isNonCoding()) {
assertEquals("Entire exon is UTR but has coding region: " + exon.getName(), 0, exon.getCodingLength());
assertEquals("Entire exon is UTR but has coding region: " + exon.getName(), 0, exon.getCdEnd() - exon.getCdEnd());
} else {
//There are two coding sequences which differ only in start position
if (!passedCdStart) {
int cdStart = exon.getCdStart();
assertTrue("Exon cdStart not expected, was " + cdStart, mRNA3CdStarts.contains(cdStart));
mRNA3CdStarts.remove(cdStart);
passedCdStart = true;
}
}
assertTrue(exon.getName().contains("exon0000"));
}
assertTrue(passedCdStart);
}
Exon midCDS = exons.get(midCDSInd);
assertEquals(4999, midCDS.getStart());
assertEquals(5500, midCDS.getEnd());
assertEquals(midCDS.getStart(), midCDS.getCdStart());
assertEquals(midCDS.getEnd(), midCDS.getCdEnd());
}
assertEquals(0, mRNA3CdStarts.size());
assertEquals(expmRNAFeats, actmRNAFeats);