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