Mercurial > repos > jbrayet > rsat
comparison peakMotifs_wrapper.py @ 52:a1d369ead6d7 draft default tip
Uploaded
author | jbrayet |
---|---|
date | Tue, 29 Sep 2015 08:25:39 -0400 |
parents | 9e193aa2b9d2 |
children |
comparison
equal
deleted
inserted
replaced
51:9e193aa2b9d2 | 52:a1d369ead6d7 |
---|---|
110 import zipfile | 110 import zipfile |
111 import time | 111 import time |
112 import platform | 112 import platform |
113 from suds.client import Client | 113 from suds.client import Client |
114 | 114 |
115 ###########################################################' | |
116 | |
117 ###########################################################' | |
118 ## Define log options for suds | |
119 | |
120 # Import log package | |
121 #import logging | |
122 | |
123 # Import log package | |
124 #import logging | |
125 # création de l'objet logger qui va nous servir à écrire dans les logs | |
126 #logger = logging.getLogger() | |
127 # on met le niveau du logger à DEBUG, comme ça il écrit tout | |
128 #logger.setLevel(logging.DEBUG) | |
129 # Configure log of suds clients to DEBUG for verbose output concerning Client request | |
130 #logging.getLogger('suds.client').setLevel(logging.ERROR) | |
131 #logging.getLogger('suds.transport').setLevel(logging.ERROR) | |
132 #logging.getLogger('suds.xsd.schema').setLevel(logging.ERROR) | |
133 #logging.getLogger('suds.wsdl').setLevel(logging.ERROR) | |
134 | |
135 | |
136 # création d'un second handler qui va rediriger chaque écriture de log | |
137 # sur la console | |
138 #steam_handler = logging.StreamHandler() | |
139 #steam_handler.setLevel(logging.DEBUG) | |
140 #logger.addHandler(steam_handler) | |
141 | |
142 #logger.info('Hello') | |
143 | |
144 #print(client.factory.create('peak_motifs')) | |
145 | |
146 # (PeakMotifsRequest){ | |
147 # output = None -> ok | |
148 # verbosity = None | |
149 # test = None -> ok | |
150 # tmp_test_infile = None | |
151 # control = None | |
152 # tmp_control_infile = None | |
153 # max_seq_length = None | |
154 # max_motif_number = None | |
155 # ref_motif = None | |
156 # top_peaks = None | |
157 # min_length = None | |
158 # max_length = None | |
159 # markov = None | |
160 # min_markov = None | |
161 # max_markov = None | |
162 # noov = None | |
163 # class_int = None | |
164 # str = None | |
165 # graph_title = None | |
166 # image_format = None | |
167 # disco = None | |
168 # source = None | |
169 # task = None | |
170 # } | |
171 # } | |
172 | |
173 | |
174 ################################ functions ############################################################ | 115 ################################ functions ############################################################ |
175 ## Define a function to make a service perform the desired request using provided arguments | 116 ## Define a function to make a service perform the desired request using provided arguments |
176 def call_run_service(service, args): | 117 def call_run_service(service, args): |
177 """ | 118 """ |
178 Run job in RSAT server. | 119 Run job in RSAT server. |
220 """ | 161 """ |
221 | 162 |
222 ###########################################################' | 163 ###########################################################' |
223 ## Download RSAT results | 164 ## Download RSAT results |
224 urllib.urlretrieve(urlResult, nameFile) | 165 urllib.urlretrieve(urlResult, nameFile) |
225 #except IOError: | |
226 #logFile.write("\nResult URL is false") | |
227 #Logger.error("Result URL is false") | |
228 #logFile.write("\n"+nameFile+"\n") | |
229 | 166 |
230 ###########################################################' | 167 ###########################################################' |
231 ## Decompress results | 168 ## Decompress results |
232 #try: | |
233 zfile = zipfile.ZipFile(nameFile, 'r') | 169 zfile = zipfile.ZipFile(nameFile, 'r') |
234 #except IOError: | |
235 #logFile.write("No zip file") | |
236 #Logger.error("No zip file") | |
237 | 170 |
238 tempflag = 0 | 171 tempflag = 0 |
239 folderName ="" | 172 folderName ="" |
240 | 173 |
241 for i in zfile.namelist(): ## On parcourt l'ensemble des fichiers de l'archive | 174 for i in zfile.namelist(): ## On parcourt l'ensemble des fichiers de l'archive |
415 | 348 |
416 ###########################################################' | 349 ###########################################################' |
417 ## Run job in RSAT server | 350 ## Run job in RSAT server |
418 result = call_run_service(rsat_service, peakMotifsRequest) | 351 result = call_run_service(rsat_service, peakMotifsRequest) |
419 | 352 |
420 #logFile = open("/bioinfo/users/jbrayet/Bureau/peak_motifs.log","w") | |
421 | |
422 #logFile.write("###############################################\n") | |
423 #logFile.write("Command performed on server\n") | |
424 #logFile.write(result.command) | |
425 #logFile.write("\n") | |
426 #logFile.write("###############################################\n") | |
427 #logFile.write("Result\n") | |
428 #logFile.write(result.server) | |
429 | |
430 print("###############################################\n") | 353 print("###############################################\n") |
431 print("Command performed on server\n") | 354 print("Command performed on server\n") |
432 print(result.command) | 355 print(result.command) |
433 print("\n") | 356 print("\n") |
434 print("###############################################\n") | 357 print("###############################################\n") |
449 "mx":"http://prokaryotes.rsat.eu/rsa-tools/" | 372 "mx":"http://prokaryotes.rsat.eu/rsa-tools/" |
450 | 373 |
451 } | 374 } |
452 """ | 375 """ |
453 | 376 |
454 nameFile = "peak-motifs_results.zip" | 377 nameFile = "peak-motifs_archive.zip" |
455 urlResult=buildZipUrl(result.server) | 378 urlResult=buildZipUrl(result.server) |
456 print urlResult | 379 print urlResult |
457 | 380 |
458 #ogFile.write("\n"+urlResult) | |
459 | |
460 ###########################################################' | 381 ###########################################################' |
461 ## Wait RSAT server | 382 ## Wait RSAT server |
462 while urllib.urlopen(urlResult).getcode() != 200: | 383 while urllib.urlopen(urlResult).getcode() != 200: |
463 #logFile.write(str(urllib.urlopen(urlResult).getcode())+"\n") | |
464 time.sleep(5) | 384 time.sleep(5) |
465 | |
466 #logFile.write(str(nameFile)+"\n") | |
467 #time.sleep(5) | |
468 #while urllib.urlretrieve(urlResult, nameFile) | |
469 #try: | |
470 | 385 |
471 folderName=recupRSATResult(urlResult,nameFile) | 386 folderName=recupRSATResult(urlResult,nameFile) |
472 | 387 |
473 while(not(os.path.exists(folderName+"peak-motifs_synthesis.html"))): | 388 while(not(os.path.exists(folderName+"peak-motifs_synthesis.html"))): |
474 os.popen("rm -rf "+folderName) | 389 os.popen("rm -rf "+folderName) |
475 recupRSATResult(urlResult,nameFile) | 390 recupRSATResult(urlResult,nameFile) |
476 | 391 |
477 #logFile.write("\n"+folderName+"\n") | |
478 #logFile.write("\n"+outGalaxyValue+"\n") | |
479 | |
480 os.popen("cp "+folderName+"peak-motifs_synthesis.html "+outGalaxyValue) | 392 os.popen("cp "+folderName+"peak-motifs_synthesis.html "+outGalaxyValue) |
481 os.popen("cp "+nameFile+" "+folderName) | |
482 #logFile.close() | |
483 #os.popen("sed -i \"1iHHEELLLOOO\" "+outGalaxyValue) | |
484 #os.popen("sed -i \"1i<style type=\'text/css\'></style>\" "+outGalaxyValue) | |
485 | 393 |
486 ###########################################################' | 394 ###########################################################' |
487 ##Create results folder name | 395 ##Create results folder name |
488 outGalaxyValueDir = outGalaxyValue.replace(".dat","_files") | |
489 | |
490 #logFile.write("\noutGalaxyValueDir : " +outGalaxyValueDir) | |
491 | |
492 #logFile.close() | |
493 | 396 |
494 # Create results folder | 397 # Create results folder |
495 os.popen("mkdir "+outGalaxyValueDir) | 398 outGalaxyValueDir = outGalaxyValue.replace(".dat","_files") |
399 os.popen("mkdir "+outGalaxyValueDir) | |
496 | 400 |
497 # Copy results files in results folder | 401 # Copy results files in results folder |
498 os.popen("cp -R "+folderName+"data " + outGalaxyValueDir+"/data") | 402 |
499 os.popen("cp -R "+folderName+"reports " + outGalaxyValueDir+"/reports") | 403 os.popen("cp "+nameFile+" "+outGalaxyValueDir+"/"+nameFile) |
500 os.popen("cp -R "+folderName+"results " + outGalaxyValueDir+"/results") | 404 os.popen("cp -R "+folderName+"* " + outGalaxyValueDir+"/") |
501 | 405 |
502 if not outGalaxyValue2 =="": | 406 if not outGalaxyValue2 =="": |
503 os.popen("cp "+folderName+"results/sites/peak-motifs_all_motifs_seqcoord.bed "+outGalaxyValue2) | 407 os.popen("cp "+folderName+"results/sites/peak-motifs_all_motifs_seqcoord.bed "+outGalaxyValue2) |
504 | 408 |
505 | 409 |
506 | |
507 | |
508 | |
509 | |
510 |