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)
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)