Esempio n. 1
0
 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']))
Esempio n. 2
0
 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"
     )
Esempio n. 3
0
 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"
     )
Esempio n. 4
0
    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"
        )
Esempio n. 5
0
 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'
         ]))
Esempio n. 6
0
 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'
         ]))
Esempio n. 7
0
    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
Esempio n. 8
0
 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'
         ]))