@Test
public void testGetMappedRegion()
{
- // introns lower case
+ // introns lower case, exons upper case
final Sequence seq1 = new Sequence("Seq1", "c-G-TA-gC-gT-T");
seq1.createDatasetSequence();
final Sequence seq2 = new Sequence("Seq2", "-TA-gG-Gg-CG-a");
final Sequence aseq2 = new Sequence("Seq2", "-LY-");
aseq2.createDatasetSequence();
+ /*
+ * First with no mappings
+ */
AlignedCodonFrame acf = new AlignedCodonFrame();
assertNull(acf.getMappedRegion(seq1, aseq1, 1));
+ /*
+ * Set up the mappings for the exons (upper-case bases)
+ */
MapList map = new MapList(new int[]
{ 2, 4, 6, 6, 8, 9 }, new int[]
{ 1, 2 }, 3, 1);
assertEquals("[5, 5, 7, 8]",
Arrays.toString(acf.getMappedRegion(seq2, aseq2, 2)));
+ /*
+ * No mapping from sequence 1 to sequence 2
+ */
assertNull(acf.getMappedRegion(seq1, aseq2, 1));
}
+
+ @Test
+ public void testGetMappedCodon()
+ {
+ final Sequence seq1 = new Sequence("Seq1", "c-G-TA-gC-gT-T");
+ seq1.createDatasetSequence();
+ final Sequence aseq1 = new Sequence("Seq1", "-P-R");
+ aseq1.createDatasetSequence();
+
+ /*
+ * First with no mappings
+ */
+ AlignedCodonFrame acf = new AlignedCodonFrame();
+
+ assertNull(acf.getMappedCodon(seq1.getDatasetSequence(), 0));
+
+ /*
+ * Set up the mappings for the exons (upper-case bases)
+ */
+ MapList map = new MapList(new int[]
+ { 2, 4, 6, 6, 8, 9 }, new int[]
+ { 1, 2 }, 3, 1);
+ acf.addMap(seq1.getDatasetSequence(), aseq1.getDatasetSequence(), map);
+
+ assertEquals("[G, T, A]", Arrays.toString(acf.getMappedCodon(
+ aseq1.getDatasetSequence(), 1)));
+ assertEquals("[C, T, T]", Arrays.toString(acf.getMappedCodon(
+ aseq1.getDatasetSequence(), 2)));
+ }
}