def test_exclude_seqs_left_justify_value_error(self): with self.assertRaisesRegex(ValueError, "left_justify is not " "compatible with " "method='blast'"): exclude_seqs( self.query_seqs_left_justify, self.bacterial_ref, method=self.method, left_justify=True)
def test_exclude_seqs_all_miss(self): obs, missed = exclude_seqs( self.query_seqs_with_mismatch, self.fungal_ref, method=self.method) self.assertEqual(sorted(missed.index), sorted( _dnafastaformats_to_series( self.query_seqs_with_mismatch).index)) self.assertEqual(sorted(obs.index), [])
def test_exclude_seqs_bacterial_hit_fungal_miss(self): obs, missed = exclude_seqs( self.query_seqs, self.bacterial_ref, method=self.method) self.assertEqual( sorted(obs.index), sorted(self.bacterial_exp.index)) self.assertEqual( sorted(missed.index), sorted(self.fungal_exp.index))
def test_exclude_seqs_short_seqs_miss_with_blastn_short_low_eval(self): obs, missed = obs, missed = exclude_seqs( self.query_seqs_short, self.bacterial_ref, method='blastn-short', perc_identity=0.01, evalue=10**-30) self.assertEqual(sorted(missed.index), sorted( _dnafastaformats_to_series(self.query_seqs_short).index)) self.assertEqual(sorted(obs.index), [])
def test_exclude_seqs_short_seqs_hit_with_blastn_short(self): obs, missed = obs, missed = exclude_seqs( self.query_seqs_short, self.bacterial_ref, method='blastn-short', evalue=10000) self.assertEqual(sorted(obs.index), sorted( _dnafastaformats_to_series(self.query_seqs_short).index)) self.assertEqual(sorted(missed.index), [])
def test_exclude_seqs_96_perc_identity(self): obs, missed = exclude_seqs( self.query_seqs_with_mismatch, self.bacterial_ref, method=self.method, perc_identity=0.965) self.assertEqual( sorted(obs.index), ['2MISA', '2MISB', '8MISA', '8MISB']) self.assertEqual( sorted(missed.index), ['10MISA'])
def test_exclude_seqs_high_evalue_low_perc_query_aligned_permissive(self): obs, missed = exclude_seqs( self.query_seqs_part_rand, self.bacterial_ref, method='blast', perc_identity=0.97, evalue=10000000000000000, perc_query_aligned=0.1) self.assertEqual(sorted(obs.index), sorted( _dnafastaformats_to_series(self.query_seqs_part_rand).index)) self.assertEqual(sorted(missed.index), [])
def test_exclude_seqs_99_perc_identity(self): obs, missed = exclude_seqs( self.query_seqs_with_mismatch, self.bacterial_ref, method=self.method, perc_identity=0.99) self.assertEqual(sorted(missed.index), sorted( _dnafastaformats_to_series( self.query_seqs_with_mismatch).index)) self.assertEqual(sorted(obs.index), [])
def test_exclude_seqs_all_hit(self): obs, missed = exclude_seqs(self.query_seqs, self.query_seqs, method=self.method) self.assertEqual( sorted(obs.index), sorted(_dnafastaformats_to_series(self.query_seqs).index)) self.assertEqual(sorted(missed.index), [])
def test_exclude_seqs_short_seqs_hit_with_default_vsearch(self): obs, missed = exclude_seqs(self.query_seqs_short, self.bacterial_ref, method='vsearch') self.assertEqual( sorted(obs.index), sorted(_dnafastaformats_to_series(self.query_seqs_short).index)) self.assertEqual(sorted(missed.index), [])
def test_exclude_seqs_blast_low_evalue_discards_weak_matches(self): obs, missed = exclude_seqs( self.query_seqs_part_rand, self.bacterial_ref, method='blast', perc_identity=0.97, evalue=10**-30, perc_query_aligned=0.1) self.assertEqual( sorted(obs.index), ['YAYIMATCH']) self.assertEqual( sorted(missed.index), ['RAND1', 'RAND2'])
def test_exclude_seqs_left_justify_hits(self): obs, missed = exclude_seqs( self.query_seqs_left_justify, self.bacterial_ref, method=self.method, left_justify=True) self.assertCountEqual( sorted(obs.index), ['1111886-leftjustmatch', '1111882-leftjustwithindel', '1111879-leftjustmatch'] )
def test_exclude_seqs_left_justify_missed(self): obs, missed = exclude_seqs( self.query_seqs_left_justify, self.bacterial_ref, method=self.method, left_justify=True) self.assertEqual(sorted(missed.index), ['1111883-noleftjustmatch'])