def test_normal_case_rgi(self): results = IdentifyResults(os.path.join(data_dir, 'results.rgi'), None, False).get_results() s = Summary(results, False) output = [str(g) for g in s.aggregate_results().values()] self.assertEqual(sorted(output), sorted(["APH(3'')-Ib\t2", 'APH(6)-Id\t1', 'sul2\t2']))
def test_rgi_results_specific(self): a = IdentifyResults(os.path.join(data_dir, 'results.rgi'), 'rgi', False).get_results() self.assertEqual(len(a), 1) self.assertEqual( str(a[0]), "contig_3632_125 # 73122 # 73460 # -1 # ID=1_125;partial=00;start_type=GTG;rbs_motif=None;rbs_spacer=None;gc_cont=0.584 contig_3632_125 73122 73460 - Strict 500 210.305 APH(6)-Id 98.06 3002660 protein homolog model n/a n/a aminoglycoside antibiotic antibiotic inactivation APH(6) GTGGGCTACATGGCGATCTGCATCATGAAAAACATCATGTTCTCCAGTCGCGGCTGGCTGGTGATAGATCCCGTCGGTCTGGTCGGTGAAGTGGGCTTTGGCGCCGCCAATATGTTCTACGATCCGGCTGACAGAGACGACCTTTGTCTCGATCCTAGACGCATTGCACAGATGGCGGACGCATTCTCTCGTGCGCTGGACGTCGATCCGCGTCGCCTGCTCGACCAGGCGTACGCTTATGGGTGCCTTTCCGCAGCTTGGAACGCGGATGGAGAAGAGGAGCAACGCGATCTAGCTATCGCGGCCGCGATCAAGCAGGTGCGACAGACGTCATACTAG MGYMAICIMKNIMFSSRGWLVIDPVGLVGEVGFGAANMFYDPADRDDLCLDPRRIAQMADAFSRALDVDPRRLLDQAYAYGCLSAAWNADGEEEQRDLAIAAAIKQVRQTSY MFMPPVFPAHWHVSQPVLIADTFSSLVWKVSLPDGTPAIVKGLKPIEDIADELRGADYLVWRNGRGAVRLLGRENNLMLLEYAGERMLSHIVAEHGDYQATEIAAELMAKLYAASEEPLPSALLPIRDRFAALFQRARDDQNAGCQTDYVHAAIIADQMMSNASELRGLHGDLHHENIMFSSRGWLVIDPVGLVGEVGFGAANMFYDPADRDDLCLDPRRIAQMADAFSRALDVDPRRLLDQAYAYGCLSAAWNADGEQEQRDLAIAAAIKQVRQTSY 40.29 gnl|BL_ORD_ID|972|hsp_num:0 1031 True loose hit with at least 95 percent identity pushed strict" )
def test_staramr_results_specific(self): a = IdentifyResults(os.path.join(data_dir, 'results.staramr'), 'staramr', False).get_results() self.assertEqual(len(a), 1) self.assertEqual( str(a[0]), "assembly aac(6')-Im gentamicin 98.16 100.93 542/537 contig_8118 24866 24328 AF337947" )
def test_abricate_results_specific(self): a = IdentifyResults(os.path.join(data_dir, 'results.abricate'), 'abricate', False).get_results() self.assertEqual( str(a[0]), "assembly.fasta contig_10165 108800 110741 + tet(M) 1-1920/1920 ========/====== 36/40 99.53 97.18 ncbi NG_048232.1 tetracycline resistance ribosomal protection protein Tet(M) TETRACYCLINE" )
def test_normal_case_staramr(self): results = IdentifyResults(os.path.join(data_dir, 'results.staramr'), None, False).get_results() s = Summary(results, False) output = [str(g) for g in s.aggregate_results().values()] self.assertEqual( sorted(output), sorted([ "aac(6')-Im\t1", 'ant(6)-Ia\t5', "aph(2'')-Ib\t1", "aph(3'')-Ib\t1", "aph(3')-III\t1", 'aph(6)-Id\t1', 'cepA\t1', 'cfxA\t1', 'cfxA6\t1', 'sul2\t1', 'tet(40)\t2', 'tet(O)\t5', 'tet(Q)\t4', 'tet(X)\t1' ]))
def test_normal_case_abricate097(self): results = IdentifyResults( os.path.join(data_dir, 'results.abricate097'), None, False).get_results() s = Summary(results, False) output = [str(g) for g in s.aggregate_results().values()] self.assertEqual( sorted(output), sorted([ 'blaI_of_Z\t264', 'blaPC1\t1', 'blaR1\t77', 'blaR1-2\t51', 'blaTEM-116\t1', 'blaTEM-156\t1', 'blaZ\t231', 'erm(B)\t16', 'fosB-Saur\t60', 'fusC\t42', 'mecA\t17', 'tet(38)\t39', 'tet(M)\t5' ]))
def filter_by_species(self, species): all_results = IdentifyResults(self.results_filename, self.results_type, self.verbose).get_results() species_genes = SpeciesToGenes(self.database_filename, self.verbose).filter_by_species( species, self.database_name) # put the gene names in a dictionary for quick lookup # and filter out low occuring genes. species_genes_to_occurances = { g.gene: g.occurances for g in species_genes if g.occurances >= self.minimum_occurances } filtered_results = [ r for r in all_results if r.gene in species_genes_to_occurances ] return filtered_results
def test_normal_case_abricate098(self): results = IdentifyResults( os.path.join(data_dir, 'results.abricate098'), None, False).get_results() s = Summary(results, False) output = [str(g) for g in s.aggregate_results().values()] self.assertEqual( sorted(output), sorted([ "aac(6')-Im\t1", 'aad9\t4', 'aadE\t7', 'ant(6)-Ia\t1', "aph(2'')-IIa\t1", "aph(3'')-Ib\t2", "aph(3')-IIIa\t1", 'aph(6)-Id\t1', 'blaACI-1\t1', 'blaEC\t1', 'car(A)\t1', 'catA13\t2', 'catB1\t1', 'catP\t1', 'cblA\t2', 'cepA\t4', 'cfr(C)\t1', 'cfxA6\t1', 'cfxA_gen\t1', 'dfrA14\t1', 'dfrF\t1', 'erm(B)\t2', 'erm(F)\t5', 'erm(Q)\t1', 'lnu(AN2)\t1', 'lnu(C)\t2', 'mef(A)\t1', 'mef(En2)\t1', 'sat4\t1', 'spw\t1', 'sul2\t1', 'taeA\t1', 'tet(32)\t3', 'tet(37)\t1', 'tet(40)\t2', 'tet(M)\t2', 'tet(O)\t13', 'tet(Q)\t23', 'tet(W)\t19', 'tet(X)\t3', 'tetA(46)\t1', 'tetA(P)\t1', 'tetB(P)\t1', 'vanG\t1', 'vanO\t4', 'vanR-Cd\t1', 'vanR-G\t3', 'vanS-D\t1', 'vanU-G\t2', 'vanW-G\t2', 'vanXY-G2\t1' ]))