Rename trunk from gaworkflow to htsworkflow (and update all of the imports)
[htsworkflow.git] / htsworkflow / util / test / test_makebed.py
1 import os
2 from StringIO import StringIO
3 import unittest
4
5 from htsworkflow.util import makebed
6
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')
10       out = StringIO()
11
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')
14
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')
17       out = StringIO()
18
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')
21
22
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')
25       out = StringIO()
26
27       makebed.parse_multi_eland(instream, out, 'mm9_chr', 1)
28       self.failUnlessEqual(out.len, 0)
29
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')
32       out = StringIO()
33
34       makebed.parse_multi_eland(instream, out, 'mm9_chr', 255)
35       self.failUnlessEqual(out.len, 98)
36
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')
39       out = StringIO()
40
41       makebed.parse_multi_eland(instream, out, 'mm9_chr', 1)
42       print out.getvalue()
43       self.failUnlessEqual(out.len, 0)
44
45 def suite():
46     return unittest.makeSuite(testMakeBed, 'test')
47
48 if __name__ == "__main__":
49     unittest.main(defaultTest='suite')
50
51