+ /**
+ * Test the method that tests whether a CDNA sequence translates to a protein
+ * sequence
+ */
+ @Test
+ public void testTranslatesAs()
+ {
+ assertTrue(AlignmentUtils.translatesAs("tttcccaaaggg".toCharArray(), 0,
+ "FPKG".toCharArray()));
+ // with start codon
+ assertTrue(AlignmentUtils.translatesAs("atgtttcccaaaggg".toCharArray(),
+ 3, "FPKG".toCharArray()));
+ // with stop codon1
+ assertTrue(AlignmentUtils.translatesAs("tttcccaaagggtaa".toCharArray(),
+ 0, "FPKG".toCharArray()));
+ // with stop codon2
+ assertTrue(AlignmentUtils.translatesAs("tttcccaaagggtag".toCharArray(),
+ 0, "FPKG".toCharArray()));
+ // with stop codon3
+ assertTrue(AlignmentUtils.translatesAs("tttcccaaagggtga".toCharArray(),
+ 0, "FPKG".toCharArray()));
+ // with start and stop codon1
+ assertTrue(AlignmentUtils.translatesAs(
+ "atgtttcccaaaggtaa".toCharArray(), 3, "FPKG".toCharArray()));
+ // with start and stop codon2
+ assertTrue(AlignmentUtils.translatesAs(
+ "atgtttcccaaaggtag".toCharArray(), 3, "FPKG".toCharArray()));
+ // with start and stop codon3
+ assertTrue(AlignmentUtils.translatesAs(
+ "atgtttcccaaaggtga".toCharArray(), 3, "FPKG".toCharArray()));
+
+ // wrong protein
+ assertFalse(AlignmentUtils.translatesAs("tttcccaaaggg".toCharArray(),
+ 0,
+ "FPMG".toCharArray()));
+ }
+
+ @Test
+ public void testTranslatesAs_withAmbiguityCodes()
+ {
+ // R means A or G
+ assertTrue(AlignmentUtils.translatesAs("car".toCharArray(), 0,
+ "Q".toCharArray()));
+ }