diff 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
line wrap: on
line diff
--- a/data_manager/data_manager_snpEff_download.py	Mon Oct 07 10:59:44 2013 -0500
+++ b/data_manager/data_manager_snpEff_download.py	Wed Nov 27 09:11:32 2013 -0600
@@ -39,24 +39,15 @@
     ## Note: Since version 2.1 you can use tilde ('~') as first character to refer to your home directory
     ##---
     #data_dir = ~/snpEff/data/
-    data_dir = None
-    try:
-        fh = open(config)
-        for i,line in enumerate(fh):
-            if line.strip().startswith('data_dir'):
-                (k,v) = line.split('=')
-                data_dir = os.path.expanduser(v.strip())
-                break
-    except Exception, e:
-        stop_err( 'Error parsing %s %s\n' % (config,str( e )) )
-    else:
-        fh.close()
+    data_dir = target_directory
     (snpEff_dir,snpEff_jar) = os.path.split(jar_path)
     args = [ 'java','-jar' ]
     args.append( jar_path )
     args.append( 'download' )
-    # args.append( '-c' )
-    # args.append( 'config' )
+    args.append( '-c' )
+    args.append( config )
+    args.append( '-dataDir' )
+    args.append( data_dir )
     args.append( '-v' )
     args.append( genome_version )
     proc = subprocess.Popen( args=args, shell=False, cwd=snpEff_dir )
@@ -74,7 +65,7 @@
                 if fname.startswith('snpEffectPredictor'):
                     # if snpEffectPredictor.bin download succeeded
                     name = genome_version + (' : ' + organism if organism else '') 
-                    data_table_entry = dict(value=genome_version, name=name)
+                    data_table_entry = dict(value=genome_version, name=name, path=data_dir)
                     _add_data_table_entry( data_manager_dict, 'snpeff_genomedb', data_table_entry )
                 else:
                     m = re.match(regulation_pattern,fname)