Mercurial > repos > davidvanzessen > fetch_vep_cache_data
view data_manager/fetch_vep_cache_data.py @ 0:de3516853bde draft default tip
Uploaded
author | davidvanzessen |
---|---|
date | Fri, 30 Nov 2018 09:56:38 -0500 |
parents | |
children |
line wrap: on
line source
import argparse import os import json import re import pprint import subprocess import sys if __name__ == "__main__": parser = argparse.ArgumentParser(description="Use VEP INSTALL.pl to download/process the cache for an assembly") parser.add_argument("--output-file") parser.add_argument("--output-dir") parser.add_argument("--assembly") args = parser.parse_args() output_file = args.output_file output_dir = args.output_dir assembly = args.assembly extra = args.assembly with open(output_file) as output_file_handle: params = json.loads(output_file_handle.read()) print(output_file) print(output_dir) print(assembly) pprint.pprint(params) if not os.path.exists(output_dir): os.makedirs(output_dir) vep_install_cmd = ["vep_install", "--NO_HTSLIB", "-a alcf", "--CACHEDIR", output_dir, "--SPECIES", assembly] vep_install_cmd = "vep_install --NO_HTSLIB -a alcf --CACHEDIR {0} --SPECIES {1}".format(output_dir, assembly) print("Running INSTALL.pl") #print(" ".join(vep_install_cmd)) print(vep_install_cmd) exit_code = subprocess.call(vep_install_cmd, cwd=output_dir, shell=True) #process = subprocess.Popen(vep_install_cmd, shell=True, cwd=output_dir) print(exit_code) output_dict = dict( data_tables=dict( vep_cache_data=[{ "path": output_dir, "dbkey": assembly, "name": assembly, "value": assembly }] ) ) with open(output_file, 'w') as output_file_handle: output_file_handle.write(json.dumps(output_dict)) sys.exit(0)