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