2 Created on Jun 10, 2010
7 from erange import MakeRdsFromBam
10 class TestMakeRdsFromBam(unittest.TestCase):
13 def testGetMismatches(self):
14 querySequence = "GATTACA"
17 self.assertEquals(resultString, MakeRdsFromBam.getMismatches("2A", querySequence, "+"))
19 self.assertEquals(resultString, MakeRdsFromBam.getMismatches("2A", querySequence, "-"))
21 self.assertEquals(resultString, MakeRdsFromBam.getMismatches("6T", querySequence, "+"))
23 resultString = "A3T,T7A"
24 self.assertEquals(resultString, MakeRdsFromBam.getMismatches("2A3T0", querySequence, "+"))
27 self.assertEquals(resultString, MakeRdsFromBam.getMismatches("2^T", querySequence, "+"))
30 self.assertEquals(resultString, MakeRdsFromBam.getMismatches("2^TT2T", querySequence, "+"))
32 self.assertEquals(resultString, MakeRdsFromBam.getMismatches("2^TT2T", querySequence, "-"))
35 self.assertEquals(resultString, MakeRdsFromBam.getMismatches("2A", "", "+"))
36 self.assertEquals(resultString, MakeRdsFromBam.getMismatches("2A"))
39 self.assertEquals(resultString, MakeRdsFromBam.getMismatches("badMismatchTagData", querySequence, "+"))
43 def testGetPairedReadNumberSuffix(self):
48 def testGetParser(self):
53 def testGetRDSEntry(self):
58 def testGetRDSSpliceEntry(self):
62 def testGetReadSense(self):
64 self.assertEqual("+", MakeRdsFromBam.getReadSense(reverse))
66 self.assertEqual("-", MakeRdsFromBam.getReadSense(reverse))
69 def testGetSpliceBounds(self):
70 start, startR, stopL, stopR = MakeRdsFromBam.getSpliceBounds(0, 10, [(1,2), (3,6), (1,2)])
72 self.assertEqual(start, 0, "incorrect start position for 262")
73 self.assertEqual(startR, 8, "incorrect right start position for 262")
74 self.assertEqual(stopL, 2, "incorrect left stop position for 262")
75 self.assertEqual(stopR, 10, "incorrect right stop position for 262")
79 def testIsPairedRead(self):
83 def testIsSpliceEntry(self):
84 self.assertTrue(MakeRdsFromBam.isSpliceEntry([(1,6), (3, 4), (1, 2)]))
85 self.assertFalse(MakeRdsFromBam.isSpliceEntry([(1,6), (2, 4), (1, 2)]))
86 self.assertFalse(MakeRdsFromBam.isSpliceEntry([]))
87 self.assertFalse(MakeRdsFromBam.isSpliceEntry(""))
96 def testMakeRDSFromBAM(self):
101 suite = unittest.TestSuite()
102 suite.addTest(unittest.makeSuite(TestMakeRdsFromBam))
107 if __name__ == "__main__":
108 #import sys;sys.argv = ['', 'Test.testName']