def build(args): context = { 'dbsnp_build': args.dbsnp_build, 'genome_build': args.genome_build, 'prefix': args.prefix, 'target': args.target, } context['db_name'] = '{prefix}_{dbsnp_build}_{genome_build}'.format(**context) context['db_user'] = '******' log.info(colored(pformat(context), 'blue')) with cd(DBSNP_HOME): force('createuser {db_user}'.format(**context)) force('createdb --owner={db_user} {db_name}'.format(**context)) target = [DBSNP_HOME] if 'core' in args.target else [] target += [os.path.join(DBSNP_HOME, 'contrib', x) for x in set(args.target) if x != 'core'] for src in target: with cd(src): run('pwd') if glob.glob('02_drop_create_table.*'): context.update(src=src) run('./01_fetch_data.sh -d {dbsnp_build} -r {genome_build} {src}/data'.format(**context)) run('./02_drop_create_table.sh {db_name} {db_user} {src}'.format(**context)) run('./03_import_data.sh {db_name} {db_user} {src} {src}/data'.format(**context)) log.info('Done') log.info('To connect via psql, run:') log.info('') log.info(colored('$ psql {db_name} -U {db_user}'.format(**context), 'blue', attrs=['bold'])) log.info('')
def restore(args): context = { 'dbsnp_build': args.dbsnp_build, 'genome_build': args.genome_build, 'prefix': args.prefix, 'tag': args.tag, } context['db_src_name'] = 'dbsnp_{dbsnp_build}_{genome_build}'.format(**context) context['db_name'] = '{prefix}_{dbsnp_build}_{genome_build}'.format(**context) context['db_user'] = '******' log.info(colored(pformat(context), 'blue')) with cd(DBSNP_HOME): force('createuser {db_user}'.format(**context)) run('./script/pg_restore.sh {db_src_name} {db_name} {db_user} {tag}'.format(**context)) log.info('Done') log.info('To connect via psql, run:') log.info('') log.info(colored('$ psql {db_name} -U {db_user}'.format(**context), 'blue', attrs=['bold'])) log.info('')
def init_demo(args): context = { 'db_user': args.demo_db_user, 'db_name': args.demo_db_name, } log.info(colored(pformat(context), 'blue')) with cd(DBSNP_HOME): force('createuser {db_user}'.format(**context)) force('createdb --owner={db_user} {db_name}'.format(**context)) for src in [DBSNP_HOME] + glob.glob(DBSNP_HOME + '/contrib/*'): with cd(src): run('pwd') if glob.glob('02_drop_create_table.*'): context.update(src=src) run('./02_drop_create_table.sh {db_name} {db_user} {src}'.format(**context)) run('./03_import_data.sh {db_name} {db_user} {src} {src}/test/data'.format(**context)) log.info('Done') log.info('To connect via psql, run:') log.info('') log.info(colored('$ psql {} -U {}'.format(args.demo_db_name, args.demo_db_user), 'blue', attrs=['bold'])) log.info('')