def test_within_length(self): """within_length checks whether a flowgram is within a given length.""" flow1 = Flowgram("0 1.2 2.1 3.4 0.02 0.01 1.02 0.08") # len 7 flow2 = Flowgram('0.5 1.0 4.1 0.0 0.0 1.23 0.0 3.1') # len 10 self.assertTrue(within_length(flow1, 0,10)) self.assertFalse(within_length(flow1, 10,20)) self.assertFalse(within_length(flow2, 0,5)) self.assertTrue(within_length(flow2, 5,20)) self.assertTrue(within_length(flow2, 5,11))
def test_within_length(self): """within_length checks whether a flowgram is within a given length.""" flow1 = Flowgram("0 1.2 2.1 3.4 0.02 0.01 1.02 0.08") # len 7 flow2 = Flowgram('0.5 1.0 4.1 0.0 0.0 1.23 0.0 3.1') # len 10 self.assertTrue(within_length(flow1, 0, 10)) self.assertFalse(within_length(flow1, 10, 20)) self.assertFalse(within_length(flow2, 0, 5)) self.assertTrue(within_length(flow2, 5, 20)) self.assertTrue(within_length(flow2, 5, 11))
def test_filter_sff_file(self): """filter_sff_file filters out bad reads.""" try: fh = open(self.tiny_test) except IOError: self.fail( "Could not open test file %s. Skipping test" % self.tiny_test) # With no filters all flowgram should be in out file flowgrams, header = lazy_parse_sff_handle(fh) filter_list = [] fd, out_file_name = mkstemp( prefix="test_filter_sff_file", suffix=".sff.txt") close(fd) out_fh = open(out_file_name, "w") l = filter_sff_file(flowgrams, header, filter_list, out_fh) remove(out_file_name) fh.close() self.assertEqual(l, 114) # With good filters some should survive fh = open(self.tiny_test) flowgrams, header = lazy_parse_sff_handle(fh) filter_list = [lambda f:within_length(f, 100, 300)] fd, out_file_name = mkstemp( prefix="test_filter_sff_file", suffix=".sff.txt") close(fd) out_fh = open(out_file_name, "w") l = filter_sff_file(flowgrams, header, filter_list, out_fh) remove(out_file_name) fh.close() self.assertEqual(l, 112) # With strong filters nothing should be in fh = open(self.tiny_test) flowgrams, header = lazy_parse_sff_handle(fh) filter_list = [lambda f:within_length(f, 0, 0)] fd, out_file_name = mkstemp( prefix="test_filter_sff_file", suffix=".sff.txt") close(fd) out_fh = open(out_file_name, "w") l = filter_sff_file(flowgrams, header, filter_list, out_fh) remove(out_file_name) self.assertEqual(l, 0)