def test_generate_lane_mask(self): sample_alignment = """>1 AAAAT >2 AAAGG >3 AACCC >4 A----""".split('\n') aln = Alignment.from_fasta_records(parse_fasta(sample_alignment), DNA) actual_lanemask = generate_lane_mask(aln, 0.00) self.assertEqual(actual_lanemask, "11111") actual_lanemask = generate_lane_mask(aln, 0.10) self.assertEqual(actual_lanemask, "11100") actual_lanemask = generate_lane_mask(aln, 0.20) self.assertEqual(actual_lanemask, "11100") actual_lanemask = generate_lane_mask(aln, 0.40) self.assertEqual(actual_lanemask, "11000") actual_lanemask = generate_lane_mask(aln, 0.60) self.assertEqual(actual_lanemask, "11000") actual_lanemask = generate_lane_mask(aln, 0.80) self.assertEqual(actual_lanemask, "10000") actual_lanemask = generate_lane_mask(aln, 1.00) self.assertEqual(actual_lanemask, "00000")
def test_generate_lane_mask(self): """ Generates correct lane mask for dynamic entropy filtering """ sample_alignment = """>1 .ATC-G >2 .AACCG >3 .ATC-G >4 .AAC-G""".split('\n') entropy_threshold = 0.70 expected_lanemask = "110101" actual_lanemask = generate_lane_mask(sample_alignment, entropy_threshold) self.assertEqual(actual_lanemask, expected_lanemask)