2 from StringIO import StringIO
3 from unittest import TestCase
5 from htsworkflow.util import makebed
7 class testMakeBed(TestCase):
8 def test_multi_1_0_0_limit_1(self):
9 instream = StringIO('>HWI-EAS229_26_209LVAAXX:7:3:112:383 TCAAATCTTATGCTANGAATCNCAAATTTTCT 1:0:0 mm9_chr13_random.fa:1240R0')
12 out = list(makebed.make_bed_from_multi_eland_generator(instream, 'name', 'description', 'mm9_chr', 1))
13 self.failUnlessEqual(out[1], 'mm9_chr13_random 1240 1272 read 0 - - - 255,255,0\n')
15 def test_multi_1_0_0_limit_255(self):
16 instream = StringIO('>HWI-EAS229_26_209LVAAXX:7:3:112:383 TCAAATCTTATGCTANGAATCNCAAATTTTCT 1:0:0 mm9_chr13_random.fa:1240R0')
19 out = list(makebed.make_bed_from_multi_eland_generator(instream, 'name', 'desc', 'mm9_chr', 255))
20 self.failUnlessEqual(out[1], 'mm9_chr13_random 1240 1272 read 0 - - - 255,255,0\n')
23 def test_multi_2_0_0_limit_1(self):
24 instream = StringIO('>HWI-EAS229_26_209LVAAXX:7:3:104:586 GTTCTCGCATAAACTNACTCTNAATAGATTCA 2:0:0 mm9_chr4.fa:42995432F0,mm9_chrX.fa:101541458F0')
27 out = list(makebed.make_bed_from_multi_eland_generator(instream, 'name', 'desc', 'mm9_chr', 1))
28 self.failUnlessEqual(len(out), 1)
30 def test_multi_2_0_0_limit_255(self):
31 instream = StringIO('>HWI-EAS229_26_209LVAAXX:7:3:104:586 GTTCTCGCATAAACTNACTCTNAATAGATTCA 2:0:0 mm9_chr4.fa:42995432F0,mm9_chrX.fa:101541458F0')
34 out = list(makebed.make_bed_from_multi_eland_generator(instream, 'name', 'desc', 'mm9_chr', 255))
35 self.failUnlessEqual(len(out), 3)
36 self.failUnlessEqual(out[1],
37 'mm9_chr4 42995432 42995464 read 0 + - - 0,0,255\n')
38 self.failUnlessEqual(out[2],
39 'mm9_chrX 101541458 101541490 read 0 + - - 0,0,255\n')
41 def test_multi_0_2_0_limit_1(self):
42 instream = StringIO('>HWI-EAS229_26_209LVAAXX:7:3:115:495 TCTCCCTGAAAAATANAAGTGNTGTTGGTGAG 0:2:1 mm9_chr14.fa:104434729F2,mm9_chr16.fa:63263818R1,mm9_chr2.fa:52265438R1')
45 out = list(makebed.make_bed_from_multi_eland_generator(instream, 'name', 'desc', 'mm9_chr', 1))
46 self.failUnlessEqual(len(out), 1)
50 from unittest import TestSuite, defaultTestLoader
52 suite.addTests(defaultTestLoader.loadTestsFromTestCase(testMakeBed))
56 if __name__ == "__main__":
57 from unittest import main
58 main(defaultTest="suite")