Mercurial > repos > ulfschaefer > data_manager_phemost
comparison data_manager/fetch_mlst_data.py @ 4:577ff220eaea draft default tip
Uploaded
| author | ulfschaefer |
|---|---|
| date | Mon, 11 Jul 2016 06:15:30 -0400 |
| parents | c01ac945b067 |
| children |
comparison
equal
deleted
inserted
replaced
| 3:eb9321fec577 | 4:577ff220eaea |
|---|---|
| 34 import csv | 34 import csv |
| 35 import shutil | 35 import shutil |
| 36 from urlparse import urlparse | 36 from urlparse import urlparse |
| 37 import time | 37 import time |
| 38 import subprocess | 38 import subprocess |
| 39 | 39 from json import dumps |
| 40 try: | 40 from json import loads |
| 41 from galaxy.util.json import from_json_string, to_json_string | |
| 42 has_galaxy = True | |
| 43 except ImportError: | |
| 44 sys.stderr.write("Will download some stuff to the current dir but can't do Galaxy stuff!") | |
| 45 has_galaxy = False | |
| 46 | 41 |
| 47 # -------------------------------------------------------------------------------------------------- | 42 # -------------------------------------------------------------------------------------------------- |
| 48 | 43 |
| 49 def parse_args(): | 44 def parse_args(): |
| 50 parser = ArgumentParser(description='Download MLST datasets by species' | 45 parser = ArgumentParser(description='Download MLST datasets by species' |
| 137 assert len(found_species) == 1 | 132 assert len(found_species) == 1 |
| 138 species_info = found_species[0] | 133 species_info = found_species[0] |
| 139 species_name_underscores = species_info.name.replace(' ', '_') | 134 species_name_underscores = species_info.name.replace(' ', '_') |
| 140 timestamp = time.strftime("%Y%m%d%H%M%S") | 135 timestamp = time.strftime("%Y%m%d%H%M%S") |
| 141 | 136 |
| 142 params = None | 137 params = loads(open(args.outfile).read()) |
| 143 if has_galaxy == True: | 138 folder = os.path.join(params['output_data'][0]['extra_files_path'], species_name_underscores, timestamp) |
| 144 params = from_json_string(open(args.outfile).read()) | |
| 145 folder = os.path.join(params['output_data'][0]['extra_files_path'], species_name_underscores, timestamp) | |
| 146 else: | |
| 147 folder = os.path.join(os.path.dirname(os.path.realpath(__file__)), species_name_underscores, timestamp) | |
| 148 | 139 |
| 149 if not os.path.isdir(folder): | 140 if not os.path.isdir(folder): |
| 150 os.makedirs(folder) | 141 os.makedirs(folder) |
| 151 | 142 |
| 152 profile_doc = url.urlopen(species_info.profiles_url) | 143 profile_doc = url.urlopen(species_info.profiles_url) |
| 172 | 163 |
| 173 get_reference(folder, args.reference) | 164 get_reference(folder, args.reference) |
| 174 | 165 |
| 175 | 166 |
| 176 # do Galaxy stuff | 167 # do Galaxy stuff |
| 177 if has_galaxy == True: | 168 data_manager_dict = {} |
| 178 data_manager_dict = {} | 169 data_manager_dict['data_tables'] = {} |
| 179 data_manager_dict['data_tables'] = {} | 170 name = "%s-%s" % (species_info.name, timestamp) |
| 180 name = "%s-%s" % (species_info.name, timestamp) | 171 data_manager_dict['data_tables']['mlst_data'] = [dict(value=species_name_underscores, |
| 181 data_manager_dict['data_tables']['mlst_data'] = [dict(value=species_name_underscores, | 172 dbkey=species_name_underscores, |
| 182 dbkey=species_name_underscores, | 173 name=name, |
| 183 name=name, | 174 time_stamp=timestamp, |
| 184 time_stamp=timestamp, | 175 file_path=folder)] |
| 185 file_path=folder)] | 176 #save info to json file |
| 186 #save info to json file | 177 with open(args.outfile, 'wb') as fjson: |
| 187 with open(args.outfile, 'wb') as fjson: | 178 fjson.write(dumps(data_manager_dict)) |
| 188 fjson.write(to_json_string(data_manager_dict)) | |
| 189 | 179 |
| 190 # end of main -------------------------------------------------------------------------------------- | 180 # end of main -------------------------------------------------------------------------------------- |
| 191 | 181 |
| 192 def get_reference(folder, acc): | 182 def get_reference(folder, acc): |
| 193 | 183 |
