2 from StringIO import StringIO
5 from htsworkflow.util import makebed
7 class testMakeBed(unittest.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 makebed.parse_multi_eland(instream, out, 'mm9_chr', 1)
13 self.failUnlessEqual(out.getvalue(), '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 makebed.parse_multi_eland(instream, out, 'mm9_chr', 255)
20 self.failUnlessEqual(out.getvalue(), '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 makebed.parse_multi_eland(instream, out, 'mm9_chr', 1)
28 self.failUnlessEqual(out.len, 0)
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 makebed.parse_multi_eland(instream, out, 'mm9_chr', 255)
35 self.failUnlessEqual(out.len, 98)
37 def test_multi_0_2_0_limit_1(self):
38 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')
41 makebed.parse_multi_eland(instream, out, 'mm9_chr', 1)
43 self.failUnlessEqual(out.len, 0)
46 return unittest.makeSuite(testMakeBed, 'test')
48 if __name__ == "__main__":
49 unittest.main(defaultTest='suite')