Mercurial > repos > saketkc > chasm_web
comparison chasm_webservice/chasm_webservice.py @ 7:af0c2fa5bc76 draft
Uploaded
author | saketkc |
---|---|
date | Wed, 16 Jul 2014 20:29:51 -0400 |
parents | d88b17f16b14 |
children |
comparison
equal
deleted
inserted
replaced
6:d88b17f16b14 | 7:af0c2fa5bc76 |
---|---|
38 import os | 38 import os |
39 sheet_map = {0: 'Variant_Analysis.csv', | 39 sheet_map = {0: 'Variant_Analysis.csv', |
40 1: 'Amino_Acid_Level_Analysis.csv', 2: 'Gene_Level_Analysis.csv'} | 40 1: 'Amino_Acid_Level_Analysis.csv', 2: 'Gene_Level_Analysis.csv'} |
41 | 41 |
42 | 42 |
43 def retry(ExceptionToCheck, tries=4, delay=3, backoff=2, logger=None): | 43 def retry(ExceptionToCheck, tries=40000, delay=3, backoff=2, logger=None): |
44 '''Retry calling the decorated function using an exponential backoff. | 44 '''Retry calling the decorated function using an exponential backoff. |
45 | 45 |
46 http://www.saltycrane.com/blog/2009/11/trying-out-retry-decorator-python/ | 46 http://www.saltycrane.com/blog/2009/11/trying-out-retry-decorator-python/ |
47 original from: http://wiki.python.org/moin/PythonDecoratorLibrary#Retry | 47 original from: http://wiki.python.org/moin/PythonDecoratorLibrary#Retry |
48 | 48 |
148 request = requests.post( | 148 request = requests.post( |
149 __URL__, data=stripped_data, files=file_payload) | 149 __URL__, data=stripped_data, files=file_payload) |
150 else: | 150 else: |
151 request = requests.post( | 151 request = requests.post( |
152 __URL__, data=stripped_data, files=dict(foo='bar')) | 152 __URL__, data=stripped_data, files=dict(foo='bar')) |
153 print request.text | |
153 job_id = json.loads(request.text)['jobid'] | 154 job_id = json.loads(request.text)['jobid'] |
154 return job_id | 155 return job_id |
155 | 156 |
156 @retry(requests.exceptions.HTTPError) | 157 @retry(requests.exceptions.HTTPError) |
157 def zip_exists(self, job_id): | 158 def zip_exists(self, job_id): |
159 print job_id | |
158 url = 'http://www.cravat.us/results/%s/%s.zip' % (job_id, job_id) | 160 url = 'http://www.cravat.us/results/%s/%s.zip' % (job_id, job_id) |
159 zip_download_request = requests.request('GET', url) | 161 zip_download_request = requests.request('GET', url) |
160 if zip_download_request.status_code == 404: | 162 if zip_download_request.status_code == 404: |
161 raise requests.HTTPError() | 163 raise requests.HTTPError() |
162 else: | 164 else: |
241 dest='variant_analysis_out', | 243 dest='variant_analysis_out', |
242 type=str, required=True) | 244 type=str, required=True) |
243 parser.add_argument('--amino_acid_level_analysis_out', | 245 parser.add_argument('--amino_acid_level_analysis_out', |
244 dest='amino_acid_level_analysis_out', | 246 dest='amino_acid_level_analysis_out', |
245 type=str, required=True,) | 247 type=str, required=True,) |
248 parser.add_argument('--codon_level_analysis_out', | |
249 dest='codon_level_analysis_out', | |
250 type=str, required=True,) | |
246 parser.add_argument('--error_file', dest='error_file_out', | 251 parser.add_argument('--error_file', dest='error_file_out', |
247 type=str, required=True) | 252 type=str, required=True) |
248 parser.add_argument('--snv_box_out', dest='snv_box_out', | 253 parser.add_argument('--snv_box_out', dest='snv_box_out', |
249 type=str, required=False) | 254 type=str, required=False) |
250 parser.add_argument('--snv_features', dest='snv_features_out', | 255 parser.add_argument('--snv_features', dest='snv_features_out', |
264 file_map = {'Amino_Acid_Level_Analysis.Result.tsv': args.amino_acid_level_analysis_out, | 269 file_map = {'Amino_Acid_Level_Analysis.Result.tsv': args.amino_acid_level_analysis_out, |
265 'SNVBox.tsv': args.snv_box_out, | 270 'SNVBox.tsv': args.snv_box_out, |
266 'Variant_Analysis.Result.tsv': args.variant_analysis_out, | 271 'Variant_Analysis.Result.tsv': args.variant_analysis_out, |
267 'Gene_Level_Analysis.Result.tsv': args.gene_analysis_out, | 272 'Gene_Level_Analysis.Result.tsv': args.gene_analysis_out, |
268 'SnvGet Feature Description.xls': args.snv_features_out, | 273 'SnvGet Feature Description.xls': args.snv_features_out, |
269 'error.txt': args.error_file_out | 274 'error.txt': args.error_file_out, |
275 'Codon_Level_Analysis.Result.tsv': args.codon_level_analysis_out, | |
270 } | 276 } |
271 url = chasm_web.zip_exists(job_id) | 277 url = chasm_web.zip_exists(job_id) |
272 download = chasm_web.download_zip(url, job_id) | 278 download = chasm_web.download_zip(url, job_id) |
273 if download: | 279 if download: |
274 chasm_web.move_files(file_map=file_map) | 280 chasm_web.move_files(file_map=file_map) |