Example #1
0
def action(args):

    dbname = args.database_file
    pth, fname = path.split(dbname)
    zip_dest = args.download_dir or pth or '.'

    zfile, downloaded = ncbi.fetch_data(
        dest_dir = zip_dest,
        clobber = args.clobber)

    if not os.access(dbname, os.F_OK) or args.clobber:
        log.warning('creating new database in %s using data in %s' % \
                        (dbname, zfile))
        con = ncbi.db_connect(dbname, clobber=True)
        with con:
            ncbi.db_load(con, zfile)
            if not args.preserve_inconsistent_taxonomies:
                curs = con.cursor()
                curs.execute("""
                    UPDATE nodes
                       SET rank = 'no_rank'
                     WHERE tax_id IN (SELECT n1.tax_id
                                        FROM nodes n1
                                             JOIN nodes n2
                                               ON n1.parent_id = n2.tax_id
                                       WHERE n1.rank = n2.rank
                                         AND n1.rank NOT IN ('root', 'no_rank'))
                """)
        con.close()
    else:
        log.warning('taxonomy database already exists in %s' % dbname)
Example #2
0
def action(args):

    dbname = args.database_file
    pth, fname = path.split(dbname)
    zip_dest = args.download_dir or pth or '.'

    zfile, downloaded = ncbi.fetch_data(
        dest_dir = zip_dest,
        clobber = args.clobber)

    if not os.access(dbname, os.F_OK) or args.clobber:
        log.warning('creating new database in %s using data in %s' % \
                        (dbname, zfile))
        con = ncbi.db_connect(dbname, clobber=True)
        ncbi.db_load(con, zfile)
        con.close()
    else:
        log.warning('taxonomy database already exists in %s' % dbname)