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 |
