Mercurial > repos > jjohnson > snpeff
comparison data_manager/data_manager_snpEff_download.py @ 5:8952990fcab9
Update to snpEff version 3.4 and add data managers to download snpEff genome reference databases
author | Jim Johnson <jj@umn.edu> |
---|---|
date | Wed, 27 Nov 2013 09:11:32 -0600 |
parents | 6ad9205c1307 |
children | eb394dd65c98 |
comparison
equal
deleted
inserted
replaced
4:47ddc9f4d0b6 | 5:8952990fcab9 |
---|---|
37 ## E.g.: Information for 'hg19' is stored in data_dir/hg19/ | 37 ## E.g.: Information for 'hg19' is stored in data_dir/hg19/ |
38 ## | 38 ## |
39 ## Note: Since version 2.1 you can use tilde ('~') as first character to refer to your home directory | 39 ## Note: Since version 2.1 you can use tilde ('~') as first character to refer to your home directory |
40 ##--- | 40 ##--- |
41 #data_dir = ~/snpEff/data/ | 41 #data_dir = ~/snpEff/data/ |
42 data_dir = None | 42 data_dir = target_directory |
43 try: | |
44 fh = open(config) | |
45 for i,line in enumerate(fh): | |
46 if line.strip().startswith('data_dir'): | |
47 (k,v) = line.split('=') | |
48 data_dir = os.path.expanduser(v.strip()) | |
49 break | |
50 except Exception, e: | |
51 stop_err( 'Error parsing %s %s\n' % (config,str( e )) ) | |
52 else: | |
53 fh.close() | |
54 (snpEff_dir,snpEff_jar) = os.path.split(jar_path) | 43 (snpEff_dir,snpEff_jar) = os.path.split(jar_path) |
55 args = [ 'java','-jar' ] | 44 args = [ 'java','-jar' ] |
56 args.append( jar_path ) | 45 args.append( jar_path ) |
57 args.append( 'download' ) | 46 args.append( 'download' ) |
58 # args.append( '-c' ) | 47 args.append( '-c' ) |
59 # args.append( 'config' ) | 48 args.append( config ) |
49 args.append( '-dataDir' ) | |
50 args.append( data_dir ) | |
60 args.append( '-v' ) | 51 args.append( '-v' ) |
61 args.append( genome_version ) | 52 args.append( genome_version ) |
62 proc = subprocess.Popen( args=args, shell=False, cwd=snpEff_dir ) | 53 proc = subprocess.Popen( args=args, shell=False, cwd=snpEff_dir ) |
63 return_code = proc.wait() | 54 return_code = proc.wait() |
64 if return_code: | 55 if return_code: |
72 for root, dirs, files in os.walk(genome_path): | 63 for root, dirs, files in os.walk(genome_path): |
73 for fname in files: | 64 for fname in files: |
74 if fname.startswith('snpEffectPredictor'): | 65 if fname.startswith('snpEffectPredictor'): |
75 # if snpEffectPredictor.bin download succeeded | 66 # if snpEffectPredictor.bin download succeeded |
76 name = genome_version + (' : ' + organism if organism else '') | 67 name = genome_version + (' : ' + organism if organism else '') |
77 data_table_entry = dict(value=genome_version, name=name) | 68 data_table_entry = dict(value=genome_version, name=name, path=data_dir) |
78 _add_data_table_entry( data_manager_dict, 'snpeff_genomedb', data_table_entry ) | 69 _add_data_table_entry( data_manager_dict, 'snpeff_genomedb', data_table_entry ) |
79 else: | 70 else: |
80 m = re.match(regulation_pattern,fname) | 71 m = re.match(regulation_pattern,fname) |
81 if m: | 72 if m: |
82 name = m.groups()[0] | 73 name = m.groups()[0] |