def test_primer_provided(self): res = quality_filter.parse_barcode_file(self.fp, primer='CATTGCCTATG') self.assertEqual(9, len(res.keys())) self.assertEqual('p1d1bc210', res['TACAGTCGCATTGCCTATG']) self.assertEqual(None, triefind.match('TACAGTCGCATTGCCTAT', res)) self.assertEqual('TACAGTCGCATTGCCTATG', triefind.match('TACAGTCGCATTGCCTATGCTACCTA', res))
def test_primer_provided(self): res = quality_filter.parse_barcode_file(self.fp, primer='CATTGCCTATG') self.assertEqual(9, len(list(res.keys()))) self.assertEqual('p1d1bc210', res['TACAGTCGCATTGCCTATG']) self.assertEqual(None, triefind.match('TACAGTCGCATTGCCTAT', res)) self.assertEqual('TACAGTCGCATTGCCTATG', triefind.match('TACAGTCGCATTGCCTATGCTACCTA', res))
def test_primer_in_file(self): res = quality_filter.parse_barcode_file(self.fp, primer=None) self.assertEqual(13, len(res.keys())) # Test ambiguities self.assertEqual('p1d1bc212', res['TACGTCTCCATGGCTA']) self.assertEqual('p1d1bc212', res['TACGTCTCCACGGCTA']) self.assertIsNone(res.get('TACGTCTCCAAGGCTA')) self.assertIsNone(res.get('TACGTCTCCAGGGCTA'))
def test_primer_in_file(self): res = quality_filter.parse_barcode_file(self.fp, primer=None) self.assertEqual(13, len(res.keys())) # Test ambiguities self.assertEqual('p1d1bc212', res['TACGTCTCCATGGCTA']) self.assertEqual('p1d1bc212', res['TACGTCTCCACGGCTA']) self.assertIsNone(res.get('TACGTCTCCAAGGCTA')) self.assertIsNone(res.get('TACGTCTCCAGGGCTA'))
def setUp(self): self.sequences = [SeqRecord(Seq('ACCGTTACGAT'), 'seq1'), SeqRecord(Seq('ACTGTTACGCT'), 'seq2'), SeqRecord(Seq('AACTGTTA'), 'seq3'), # Homopolymer in bc SeqRecord(Seq('ACCGTA'), 'seq4'), # Error in primer ] barcode_str = """Sample1,ACC\nSample2,ACT\n""" self.primer = 'GTTA' self.trie = quality_filter.parse_barcode_file(StringIO(barcode_str), primer=self.primer) self.outfile = StringIO() self.instance = quality_filter.PrimerBarcodeFilter(self.trie, self.outfile)
def setUp(self): self.sequences = [ SeqRecord(Seq('ACCGTTACGAT'), 'seq1'), SeqRecord(Seq('ACTGTTACGCT'), 'seq2'), SeqRecord(Seq('AACTGTTA'), 'seq3'), # Homopolymer in bc SeqRecord(Seq('ACCGTA'), 'seq4'), # Error in primer ] barcode_str = """Sample1,ACC\nSample2,ACT\n""" self.primer = 'GTTA' self.trie = quality_filter.parse_barcode_file(StringIO(barcode_str), primer=self.primer) self.outfile = StringIO() self.instance = quality_filter.PrimerBarcodeFilter( self.trie, self.outfile)