2 Created on Jun 10, 2010
7 from Erange import MakeRdsFromBam
9 class TestMakeRdsFromBam(unittest.TestCase):
12 def testGetSpliceBounds(self):
13 start, startR, stopL, stopR = MakeRdsFromBam.getSpliceBounds(0, 10, [(1,2), (3,6), (1,2)])
15 self.assertEqual(start, 0, "incorrect start position for 262")
16 self.assertEqual(startR, 8, "incorrect right start position for 262")
17 self.assertEqual(stopL, 2, "incorrect left stop position for 262")
18 self.assertEqual(stopR, 10, "incorrect right stop position for 262")
21 def testGetMismatches(self):
22 querySequence = "GATTACA"
25 self.assertEquals(resultString, MakeRdsFromBam.getMismatches("2A", querySequence, "+"))
27 self.assertEquals(resultString, MakeRdsFromBam.getMismatches("2A", querySequence, "-"))
29 self.assertEquals(resultString, MakeRdsFromBam.getMismatches("6T", querySequence, "+"))
31 resultString = "A3T,T7A"
32 self.assertEquals(resultString, MakeRdsFromBam.getMismatches("2A3T0", querySequence, "+"))
35 self.assertEquals(resultString, MakeRdsFromBam.getMismatches("2^T", querySequence, "+"))
38 self.assertEquals(resultString, MakeRdsFromBam.getMismatches("2^TT2T", querySequence, "+"))
40 self.assertEquals(resultString, MakeRdsFromBam.getMismatches("2^TT2T", querySequence, "-"))
43 self.assertEquals(resultString, MakeRdsFromBam.getMismatches("2A", "", "+"))
44 self.assertEquals(resultString, MakeRdsFromBam.getMismatches("2A"))
47 self.assertEquals(resultString, MakeRdsFromBam.getMismatches("badMismatchTagData", querySequence, "+"))
50 def testIsSpliceEntry(self):
51 self.assertTrue(MakeRdsFromBam.isSpliceEntry([(1,6), (3, 4), (1, 2)]))
52 self.assertFalse(MakeRdsFromBam.isSpliceEntry([(1,6), (2, 4), (1, 2)]))
53 self.assertFalse(MakeRdsFromBam.isSpliceEntry([]))
54 self.assertFalse(MakeRdsFromBam.isSpliceEntry(""))
58 suite = unittest.TestSuite()
59 suite.addTest(unittest.makeSuite(TestMakeRdsFromBam))
64 if __name__ == "__main__":
65 #import sys;sys.argv = ['', 'Test.testName']