Merge in the library list, detail, and results downloading feature from
[htsworkflow.git] / htsworkflow / util / test / test_makebed.py
index 03c79192fd6e27ea79818244cab88253ed68b5ae..b5d3026578fe967cee0fbf0d9fe5dd48042b1a7c 100644 (file)
@@ -9,38 +9,42 @@ class testMakeBed(unittest.TestCase):
       instream = StringIO('>HWI-EAS229_26_209LVAAXX:7:3:112:383    TCAAATCTTATGCTANGAATCNCAAATTTTCT 1:0:0   mm9_chr13_random.fa:1240R0')
       out = StringIO()
 
-      makebed.parse_multi_eland(instream, out, 'mm9_chr', 1)
-      self.failUnlessEqual(out.getvalue(), 'mm9_chr13_random 1240 1272 read 0 - - - 255,255,0\n')
+      out = list(makebed.make_bed_from_multi_eland_generator(instream, 'name', 'description', 'mm9_chr', 1))
+      self.failUnlessEqual(out[1], 'mm9_chr13_random 1240 1272 read 0 - - - 255,255,0\n')
 
     def test_multi_1_0_0_limit_255(self):
       instream = StringIO('>HWI-EAS229_26_209LVAAXX:7:3:112:383    TCAAATCTTATGCTANGAATCNCAAATTTTCT 1:0:0   mm9_chr13_random.fa:1240R0')
       out = StringIO()
 
-      makebed.parse_multi_eland(instream, out, 'mm9_chr', 255)
-      self.failUnlessEqual(out.getvalue(), 'mm9_chr13_random 1240 1272 read 0 - - - 255,255,0\n')
+      out = list(makebed.make_bed_from_multi_eland_generator(instream, 'name', 'desc', 'mm9_chr', 255))
+      self.failUnlessEqual(out[1], 'mm9_chr13_random 1240 1272 read 0 - - - 255,255,0\n')
 
 
     def test_multi_2_0_0_limit_1(self):
       instream = StringIO('>HWI-EAS229_26_209LVAAXX:7:3:104:586    GTTCTCGCATAAACTNACTCTNAATAGATTCA 2:0:0   mm9_chr4.fa:42995432F0,mm9_chrX.fa:101541458F0')
       out = StringIO()
 
-      makebed.parse_multi_eland(instream, out, 'mm9_chr', 1)
-      self.failUnlessEqual(out.len, 0)
+      out = list(makebed.make_bed_from_multi_eland_generator(instream, 'name', 'desc', 'mm9_chr', 1))
+      self.failUnlessEqual(len(out), 1)
 
     def test_multi_2_0_0_limit_255(self):
       instream = StringIO('>HWI-EAS229_26_209LVAAXX:7:3:104:586    GTTCTCGCATAAACTNACTCTNAATAGATTCA 2:0:0   mm9_chr4.fa:42995432F0,mm9_chrX.fa:101541458F0')
       out = StringIO()
 
-      makebed.parse_multi_eland(instream, out, 'mm9_chr', 255)
-      self.failUnlessEqual(out.len, 98)
+      out = list(makebed.make_bed_from_multi_eland_generator(instream, 'name', 'desc', 'mm9_chr', 255))
+      self.failUnlessEqual(len(out), 3)
+      self.failUnlessEqual(out[1], 
+        'mm9_chr4 42995432 42995464 read 0 + - - 0,0,255\n')
+      self.failUnlessEqual(out[2], 
+        'mm9_chrX 101541458 101541490 read 0 + - - 0,0,255\n')
 
     def test_multi_0_2_0_limit_1(self):
       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')
       out = StringIO()
 
-      makebed.parse_multi_eland(instream, out, 'mm9_chr', 1)
-      print out.getvalue()
-      self.failUnlessEqual(out.len, 0)
+      out = list(makebed.make_bed_from_multi_eland_generator(instream, 'name', 'desc', 'mm9_chr', 1))
+      print out
+      self.failUnlessEqual(len(out), 1)
 
 def suite():
     return unittest.makeSuite(testMakeBed, 'test')