コード例 #1
0
ファイル: taxonomy_test.py プロジェクト: nhoffman/Seq
    def testReadBacterialTaxonomy(self):

        names_data, nodes_data = taxonomy.read_bacterial_taxonomy(self.namesfile, self.nodesfile)

        self.assertEqual(
            {'class': 'scientific name', 'unique': '', 'tax_name': 'root', 'tax_id': '1'},
            names_data.next())

        self.assertEqual(
            {'division_id': '8', 'parent_id': '1', 'embl_code': '', 'rank': 'no_rank', 'tax_id': '1'},
            nodes_data.next())

        self.assertEqual(set(d['division_id'] for d in nodes_data), set(['0','1','4','8']))
コード例 #2
0
ファイル: taxonomy_test.py プロジェクト: nhoffman/Seq
    def test1(self):

        outfiles = taxonomy.get_ncbi_tax_data(dest_dir=outputdir)
        names_data, nodes_data = taxonomy.read_bacterial_taxonomy(primary_only=False, **outfiles)

        dbname = complete_test_db

        if not os.access(dbname, os.F_OK):
            log.warning('creating %s' % dbname)
            dbname = taxonomy.create_bacterial_taxonomy_db(
                names_data=names_data,
                nodes_data=nodes_data,
                dbname=dbname,
                dest_dir=outputdir
                )
            self.assertTrue(os.access(dbname, os.F_OK))
        else:
            log.info('%s exists, skipping this test' % dbname)
コード例 #3
0
ファイル: taxonomy_test.py プロジェクト: nhoffman/Seq
    def testCreateBacterialTaxonomyDb02(self):

        outfiles = taxonomy.get_ncbi_tax_data(dest_dir=outputdir)
        names_data, nodes_data = taxonomy.read_bacterial_taxonomy(primary_only=False, **outfiles)

        dbname = taxonomy.create_bacterial_taxonomy_db(
            names_data=itertools.islice(names_data, 0, 1000),
            nodes_data=itertools.islice(nodes_data, 0, 1000),
            dbname=self.funcname+'.db',
            dest_dir=outputdir
            )

        self.assertTrue(os.access(dbname, os.F_OK))

        con = sqlite.connect(dbname)
        synonyms = con.cursor().execute('select count(*) from names where is_primary = 0').fetchone()[0]

        # nodes.source should be zero by default
        sources = con.cursor().execute('select source_id from nodes').fetchall()
        self.assertEqual( set(x[0] for x in sources), set([1]) )
コード例 #4
0
ファイル: taxonomy_test.py プロジェクト: nhoffman/Seq
    def testCreateTaxonomyDb01(self):

        outfiles = taxonomy.get_ncbi_tax_data(dest_dir=outputdir)
        names_data, nodes_data = taxonomy.read_bacterial_taxonomy(**outfiles)

        dbname = taxonomy.create_taxonomy_db(
            names_data=itertools.islice(names_data, 0, 1000),
            nodes_data=itertools.islice(nodes_data, 0, 1000),
            dbname=self.funcname+'.db',
            dest_dir=outputdir
            )

        self.assertTrue(os.access(dbname, os.F_OK))

        con = sqlite.connect(dbname)
        synonyms = con.cursor().execute('select count(*) from names where is_primary = 0').fetchone()[0]
        self.assertEqual(synonyms, 0)

        ranks = con.cursor().execute('select rank from nodes group by rank').fetchall()
        ## rank names should not contain whitespace
        self.assertEqual(ranks, [('_'.join(x[0].split()),) for x in ranks])