7 from Erange import makebedfromrds
10 class TestMakeBedFromRds(unittest.TestCase):
12 def testGetSenseColor(self):
13 senseColor = makebedfromrds.getSenseColor('+', .5)
14 self.assertEqual(senseColor, makebedfromrds.MULTI_PLUS_COLOR, "incorrect color for low weight and plus sense color")
16 senseColor = makebedfromrds.getSenseColor('-', .5)
17 self.assertEqual(senseColor, makebedfromrds.MULTI_MINUS_COLOR, "incorrect color for low weight and non-plus sense")
19 senseColor = makebedfromrds.getSenseColor('+', 5)
20 self.assertEqual(senseColor, makebedfromrds.PLUS_COLOR, "incorrect color for high weight and plus sense")
22 senseColor = makebedfromrds.getSenseColor('-', 5)
23 self.assertEqual(senseColor, makebedfromrds.MINUS_COLOR, "incorrect color for high weight and non-plus sense")
26 def testGetMultiSenseColor(self):
27 senseColor = makebedfromrds.getMultiSenseColor('+')
28 self.assertEqual(senseColor, makebedfromrds.MULTI_PLUS_COLOR, "incorrect color for plus sense")
30 senseColor = makebedfromrds.getMultiSenseColor('-')
31 self.assertEqual(senseColor, makebedfromrds.MULTI_MINUS_COLOR, "incorrect color for non-plus sense")
34 def testGetSingleSenseColor(self):
35 senseColor = makebedfromrds.getSingleSenseColor('+')
36 self.assertEqual(senseColor, makebedfromrds.PLUS_COLOR, "incorrect color for plus sense")
38 senseColor = makebedfromrds.getSingleSenseColor('-')
39 self.assertEqual(senseColor, makebedfromrds.MINUS_COLOR, "incorrect color for non-plus sense")
42 def testGetReadSizes(self):
46 readSizes = makebedfromrds.getReadSizes(numPieces, startList, stopList)
47 self.assertEqual(readSizes, "3,3,3", "incorrect read size list")
49 readSizes = makebedfromrds.getReadSizes(1, startList, stopList)
50 self.assertEquals(readSizes, "3", "incorrect read size list for numPieces=1")
52 self.assertRaises(IndexError, makebedfromrds.getReadSizes, numPieces, [], stopList)
53 self.assertRaises(IndexError, makebedfromrds.getReadSizes, numPieces, startList, [])
54 self.assertRaises(IndexError, makebedfromrds.getReadSizes, 4, startList, stopList)
57 def testGetReadCoords(self):
60 readCoords = makebedfromrds.getReadCoords(numPieces, startList)
61 self.assertEqual(readCoords, "0,1,2", "incorrect read coords list")
63 readCoords = makebedfromrds.getReadCoords(1, startList)
64 self.assertEqual(readCoords, "0", "incorrect read coords list for numPieces=1")
66 self.assertRaises(IndexError, makebedfromrds.getReadCoords, numPieces, [])
67 self.assertRaises(IndexError, makebedfromrds.getReadCoords, 4, startList)
70 def testGetSpliceColor(self):
75 aColor, bColor = makebedfromrds.getSpliceColor(lpart, rpart, leftweight, rightweight, hackType="1")
76 self.assertEqual(aColor, makebedfromrds.SPLICE_COLOR, "incorrect first color for hacktype 1 splice")
77 self.assertEqual(bColor, makebedfromrds.SPLICE_COLOR, "incorrect second color for hacktype 1 splice")
83 aColor, bColor = makebedfromrds.getSpliceColor(lpart, rpart, leftweight, rightweight, hackType="1")
84 self.assertEqual(aColor, makebedfromrds.UNIQUE_COLOR, "incorrect first color for hacktype 1 left unique")
85 self.assertEqual(bColor, makebedfromrds.UNIQUE_COLOR, "incorrect second color for hacktype 1 left unique")
91 aColor, bColor = makebedfromrds.getSpliceColor(lpart, rpart, leftweight, rightweight, hackType="1")
92 self.assertEqual(aColor, makebedfromrds.UNIQUE_COLOR, "incorrect first color for hacktype 1 right unique")
93 self.assertEqual(bColor, makebedfromrds.UNIQUE_COLOR, "incorrect second color for hacktype 1 right unique")
99 aColor, bColor = makebedfromrds.getSpliceColor(lpart, rpart, leftweight, rightweight, hackType="1")
100 self.assertEqual(aColor, makebedfromrds.UNIQUE_COLOR, "incorrect first color for hacktype 1 left and right unique")
101 self.assertEqual(bColor, makebedfromrds.UNIQUE_COLOR, "incorrect second color for hacktype 1 left and right unique")
107 aColor, bColor = makebedfromrds.getSpliceColor(lpart, rpart, leftweight, rightweight, hackType="1")
108 self.assertEqual(aColor, makebedfromrds.MULTI_COLOR, "incorrect first color for hacktype 1 multi")
109 self.assertEqual(bColor, makebedfromrds.MULTI_COLOR, "incorrect second color for hacktype 1 multi")
115 aColor, bColor = makebedfromrds.getSpliceColor(lpart, rpart, leftweight, rightweight, hackType="1")
116 self.assertEqual(aColor, makebedfromrds.MULTI_COLOR, "incorrect first color for hacktype 1 lpart + rpart = 2")
117 self.assertEqual(bColor, makebedfromrds.MULTI_COLOR, "incorrect second color for hacktype 1 lpart + rpart = 2")
123 aColor, bColor = makebedfromrds.getSpliceColor(lpart, rpart, leftweight, rightweight)
124 self.assertEqual(aColor, makebedfromrds.SPLICE_COLOR, "incorrect first color for left splice")
125 self.assertEqual(bColor, makebedfromrds.SPLICE_COLOR, "incorrect second color for left splice")
131 aColor, bColor = makebedfromrds.getSpliceColor(lpart, rpart, leftweight, rightweight)
132 self.assertEqual(aColor, makebedfromrds.UNIQUE_COLOR, "incorrect first color for left unique")
133 self.assertEqual(bColor, makebedfromrds.UNIQUE_COLOR, "incorrect second color for left unique")
139 aColor, bColor = makebedfromrds.getSpliceColor(lpart, rpart, leftweight, rightweight)
140 self.assertEqual(aColor, makebedfromrds.MULTI_COLOR, "incorrect first color for multi splice")
141 self.assertEqual(bColor, makebedfromrds.MULTI_COLOR, "incorrect second color for multi splice")
147 aColor, bColor = makebedfromrds.getSpliceColor(lpart, rpart, leftweight, rightweight)
148 self.assertEqual(aColor, makebedfromrds.MULTI_COLOR, "incorrect first color for lpart = 1 multi splice")
149 self.assertEqual(bColor, makebedfromrds.MULTI_COLOR, "incorrect second color for lpart = 1 multi splice")
152 def testDoNotOutputChromosome(self):
153 self.assertTrue(makebedfromrds.doNotOutputChromosome("chrM", True), "chrM is output when enforceChr=True")
154 self.assertTrue(makebedfromrds.doNotOutputChromosome("chrM", False), "chrM is output when enforceChr=False")
155 self.assertFalse(makebedfromrds.doNotOutputChromosome("chrAny", True), "chr is not output when enforceChr=True")
156 self.assertFalse(makebedfromrds.doNotOutputChromosome("chrAny", False), "chr is not output when enforceChr=False")
157 self.assertTrue(makebedfromrds.doNotOutputChromosome("Bad", True), "bad name chr is output when enforceChr=True")
158 self.assertFalse(makebedfromrds.doNotOutputChromosome("Bad", False), "bad name chr is not output when enforceChr=True")
162 suite = unittest.TestSuite()
163 suite.addTest(unittest.makeSuite(TestMakeBedFromRds))
168 if __name__ == "__main__":
169 #import sys;sys.argv = ['', 'Test.testName']