annotate peakMotifs_wrapper.py @ 51:9e193aa2b9d2 draft

Uploaded
author jbrayet
date Tue, 29 Sep 2015 07:39:19 -0400
parents a21c2253cafc
children a1d369ead6d7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
1 #! /usr/bin/python
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
2 # -*- coding: utf8 -*-
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
3 """#Peak Motifs - developed by Jocelyn Brayet <jocelyn.brayet@curie.fr>
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
4 #Copyright (C) 2015 Institut Curie
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
5 #
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
6 #This program is free software: you can redistribute it and/or modify
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
7 #it under the terms of the GNU General Public License as published by
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
8 #the Free Software Foundation, either version 3 of the License, or
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
9 #(at your option) any later version.
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
10 #
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
11 #This program is distributed in the hope that it will be useful,
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
12 #but WITHOUT ANY WARRANTY; without even the implied warranty of
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
13 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
14 #GNU General Public License for more details.
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
15 #
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
16 #You should have received a copy of the GNU General Public License
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
17 #along with this program. If not, see <http://www.gnu.org/licenses/>.
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
18 #
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
19 ###########################################################'
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
20 #
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
21 #Client to download peak-motifs results from RSAT server.
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
22 #
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
23 #
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
24 #usage: peak-motifs_soap.py [-h] -test <TEST_FILE> [-control <CONTROL_FILE>]
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
25 # [-max_seq_length <MAX_SEQ_LENGTH>]
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
26 # [-max_motif_number <MAX_MOTIF_NUMBER>]
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
27 # [-top_peaks <TOP_PEAKS>] [-min_length <MIN_LENGTH>]
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
28 # [-max_length <MAX_LENGTH>] [-markov <MARKOV_MODEL>]
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
29 # [-min_markov <MIN_MARKOV>]
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
30 # [-max_markov <MAX_MARKOV>] [-noov <NOOV_DETECTION>]
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
31 # [-class_int <CLASS_INT>] [-str <STR_SUMMED>]
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
32 # [-graph_title <GRAPH_TITLE>]
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
33 # [-image_format <IMAGE_FORMAT>]
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
34 # [-disco [<DISCO_ALGORITHM> [<DISCO_ALGORITHM> ...]]]
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
35 # [-source <SOURCE_FILE>] [-verb <VERBOSITY>]
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
36 # [-ref_motif <REF_MOTIF>] -server <SERVEUR>
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
37 #
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
38 #optional arguments:
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
39 # -h, --help show this help message and exit
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
40 # -test <TEST_FILE>, --test_file <TEST_FILE>
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
41 # Input test peak sequence in fasta format.
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
42 # -control <CONTROL_FILE>, --control_file <CONTROL_FILE>
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
43 # Input control peak sequence in fasta format.
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
44 # -max_seq_length <MAX_SEQ_LENGTH>, --maxSeqLength <MAX_SEQ_LENGTH>
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
45 # Maximal sequence length.
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
46 # -max_motif_number <MAX_MOTIF_NUMBER>, --maxMotifNumber <MAX_MOTIF_NUMBER>
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
47 # Maximal number of motifs (matrices) to return for
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
48 # pattern discovery algorithms.
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
49 # -top_peaks <TOP_PEAKS>, --topPeaks <TOP_PEAKS>
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
50 # Restrict the analysis to the N peaks at the top of the
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
51 # input sequence file.
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
52 # -min_length <MIN_LENGTH>, --minLength <MIN_LENGTH>
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
53 # Minimal oligonucleotide length.
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
54 # -max_length <MAX_LENGTH>, --maxLength <MAX_LENGTH>
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
55 # Maximal oligonucleotide length.
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
56 # -markov <MARKOV_MODEL>, --markovModel <MARKOV_MODEL>
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
57 # Order of the Markov model used to estimatd expected
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
58 # oligonucleotide frequencies for oligo-analysis and
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
59 # local-word-analysis.
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
60 # -min_markov <MIN_MARKOV>, --minMarkov <MIN_MARKOV>
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
61 # Minimal value for markov order. Use in combination
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
62 # with the next option (max_markov).
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
63 # -max_markov <MAX_MARKOV>, --maxMarkov <MAX_MARKOV>
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
64 # Maximal value for markov order. Use in combination
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
65 # with the previous option (min_markov).
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
66 # -noov <NOOV_DETECTION>, --noovDetection <NOOV_DETECTION>
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
67 # No overlapping of oligos allowed if value = 1.
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
68 # -class_int <CLASS_INT>, --classInt <CLASS_INT>
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
69 # Class interval for position-analysis. The width of the
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
70 # position classes, in number of bases (default: 20).
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
71 # -str <STR_SUMMED>, --strSummed <STR_SUMMED>
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
72 # Oligonucleotide occurrences found on both stands are
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
73 # summed (2) or not (1). Default is 2.
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
74 # -graph_title <GRAPH_TITLE>, --graphTitle <GRAPH_TITLE>
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
75 # Title displayed on top of the graphs.
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
76 # -image_format <IMAGE_FORMAT>, --imageFormat <IMAGE_FORMAT>
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
77 # Image format. All the formats supported by XYgraph can
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
78 # be used.
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
79 # -disco [<DISCO_ALGORITHM> [<DISCO_ALGORITHM> ...]], --discoAlgorithm [<DISCO_ALGORITHM> [<DISCO_ALGORITHM> ...]]
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
80 # Specify the software tool(s) that will be used for
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
81 # motif discovery
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
82 # (oligos|dyads|positions|local_words|merged_words).
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
83 # Several algorithms can be specified either by using a
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
84 # comma-separated list of algorithms: -disco
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
85 # oligos,dyads
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
86 # -source <SOURCE_FILE>, --sourceFile <SOURCE_FILE>
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
87 # Enter the source of the fasta sequence file. Supported
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
88 # source: galaxy
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
89 # -verb <VERBOSITY>, --verbosity <VERBOSITY>
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
90 # Verbosity.
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
91 # -ref_motif <REF_MOTIF>, --ref_motif <REF_MOTIF>
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
92 # Motif annotated in some transcription factor database
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
93 # (e.g. RegulonDB, Jaspar, TRANSFAC) for the
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
94 # transcription factor of interest.
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
95 # -server <SERVEUR>, --server <SERVEUR>
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
96 # RSAT server
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
97 # -outGalaxy <OUT_GALAXY>, --outGalaxy <OUT_GALAXY>
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
98 #
51
9e193aa2b9d2 Uploaded
jbrayet
parents: 50
diff changeset
99 #Version 2.0 - 30/01/2015 - Adapted from Jocelyn Brayet, France Genomique team
2
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
100 #
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
101 ###########################################################"""
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
102 __author__ = 'Jocelyn Brayet'
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
103
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
104 ###########################################################'
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
105 ## Import
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
106
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
107 import argparse
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
108 import os
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
109 import urllib
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
110 import zipfile
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
111 import time
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
112 import platform
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
113 from suds.client import Client
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
114
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
115 ###########################################################'
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
116
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
117 ###########################################################'
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
118 ## Define log options for suds
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
119
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
120 # Import log package
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
121 #import logging
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
122
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
123 # Import log package
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
124 #import logging
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
125 # création de l'objet logger qui va nous servir à écrire dans les logs
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
126 #logger = logging.getLogger()
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
127 # on met le niveau du logger à DEBUG, comme ça il écrit tout
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
128 #logger.setLevel(logging.DEBUG)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
129 # Configure log of suds clients to DEBUG for verbose output concerning Client request
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
130 #logging.getLogger('suds.client').setLevel(logging.ERROR)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
131 #logging.getLogger('suds.transport').setLevel(logging.ERROR)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
132 #logging.getLogger('suds.xsd.schema').setLevel(logging.ERROR)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
133 #logging.getLogger('suds.wsdl').setLevel(logging.ERROR)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
134
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
135
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
136 # création d'un second handler qui va rediriger chaque écriture de log
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
137 # sur la console
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
138 #steam_handler = logging.StreamHandler()
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
139 #steam_handler.setLevel(logging.DEBUG)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
140 #logger.addHandler(steam_handler)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
141
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
142 #logger.info('Hello')
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
143
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
144 #print(client.factory.create('peak_motifs'))
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
145
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
146 # (PeakMotifsRequest){
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
147 # output = None -> ok
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
148 # verbosity = None
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
149 # test = None -> ok
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
150 # tmp_test_infile = None
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
151 # control = None
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
152 # tmp_control_infile = None
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
153 # max_seq_length = None
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
154 # max_motif_number = None
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
155 # ref_motif = None
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
156 # top_peaks = None
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
157 # min_length = None
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
158 # max_length = None
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
159 # markov = None
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
160 # min_markov = None
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
161 # max_markov = None
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
162 # noov = None
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
163 # class_int = None
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
164 # str = None
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
165 # graph_title = None
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
166 # image_format = None
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
167 # disco = None
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
168 # source = None
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
169 # task = None
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
170 # }
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
171 # }
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
172
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
173
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
174 ################################ functions ############################################################
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
175 ## Define a function to make a service perform the desired request using provided arguments
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
176 def call_run_service(service, args):
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
177 """
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
178 Run job in RSAT server.
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
179 service -> RSAT web service
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
180 args -> web service request
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
181 """
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
182
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
183 result = rsat_service.peak_motifs(args)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
184 return result
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
185
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
186 def testNone(argument):
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
187 """
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
188 Test if argument is None or not.
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
189 argument -> argument give by user
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
190 """
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
191
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
192 if not argument is None:
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
193 variable = argument[0]
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
194 else:
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
195 variable = ""
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
196 return variable
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
197
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
198
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
199 ###########################################################'
50
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
200 ## Functions to recup results
2
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
201
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
202 def buildZipUrl(algoResults):
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
203 """
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
204 Recup results give by RSAT server.
50
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
205 algoResults -> response gave by RSAT server
2
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
206 """
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
207
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
208 recupResult = str(algoResults)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
209 tabResults=recupResult.split("\n")
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
210 urlZip = tabResults[4].replace("\t","")
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
211
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
212 return urlZip
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
213
50
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
214 def recupRSATResult(urlResult,nameFile):
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
215
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
216 """
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
217 Recup results give by RSAT server.
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
218 urlResult -> URL gave by RSAT server
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
219 nameFile -> name of zip file in Galaxy path
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
220 """
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
221
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
222 ###########################################################'
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
223 ## Download RSAT results
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
224 urllib.urlretrieve(urlResult, nameFile)
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
225 #except IOError:
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
226 #logFile.write("\nResult URL is false")
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
227 #Logger.error("Result URL is false")
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
228 #logFile.write("\n"+nameFile+"\n")
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
229
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
230 ###########################################################'
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
231 ## Decompress results
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
232 #try:
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
233 zfile = zipfile.ZipFile(nameFile, 'r')
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
234 #except IOError:
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
235 #logFile.write("No zip file")
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
236 #Logger.error("No zip file")
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
237
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
238 tempflag = 0
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
239 folderName =""
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
240
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
241 for i in zfile.namelist(): ## On parcourt l'ensemble des fichiers de l'archive
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
242
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
243 #logFile.write(i+"\n")
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
244 ###############################
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
245 if tempflag ==0:
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
246 folderName = i
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
247
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
248 tempflag = 1
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
249 ###############################
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
250
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
251 if i.endswith('/'): ## S'il s'agit d'un repertoire, on se contente de creer le dossier
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
252 os.makedirs(i)
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
253 else:
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
254 data = zfile.read(i) ## lecture du fichier compresse
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
255 fp = open(i, "wb") ## creation en local du nouveau fichier
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
256 fp.write(data) ## ajout des donnees du fichier compresse dans le fichier local
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
257 fp.close()
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
258 zfile.close()
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
259
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
260 return folderName
2
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
261
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
262 ## Tested with python 2.6.6
50
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
263 peakMotifsVersion = '2.0 - 30/01/2015'
2
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
264
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
265 ###########################################################'
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
266 # server dictionary
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
267 serverDict = {
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
268
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
269 "fr_ens":"http://rsat01.biologie.ens.fr/rsat/web_services/RSATWS.wsdl",
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
270 "fr_mrs":"http://rsat-tagc.univ-mrs.fr/rsat/web_services/RSATWS.wsdl",
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
271 "fr_ro":"http://rsat.sb-roscoff.fr/web_services/RSATWS.wsdl",
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
272 "fr_mrs_2":"http://pedagogix-tagc.univ-mrs.fr/rsat/web_services/RSATWS.wsdl",
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
273 "es":"http://floresta.eead.csic.es/rsat/web_services/RSATWS.wsdl",
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
274 "mx":"http://embnet.ccg.unam.mx/rsa-tools/web_services/RSATWS.wsdl"
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
275
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
276 }
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
277
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
278 """
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
279 serverDict = {
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
280
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
281 "fr_ens":"http://protists.rsat.eu/rsat/web_services/RSATWS.wsdl",
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
282 "fr_mrs":"http://fungi.rsat.eu/rsat/web_services/RSATWS.wsdl",
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
283 "fr_ro":"http://metazoa.rsat.eu/web_services/RSATWS.wsdl",
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
284 "fr_mrs_2":"http://teaching.rsat.eu/rsat/web_services/RSATWS.wsdl",
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
285 "es":"http://plants.rsat.eu/rsat/web_services/RSATWS.wsdl",
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
286 "mx":"http://prokaryotes.rsat.eu/rsa-tools/web_services/RSATWS.wsdl"
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
287
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
288 }
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
289 """
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
290
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
291 if __name__ == '__main__':
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
292
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
293 ########### peak motifs arguments ####################
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
294 parser = argparse.ArgumentParser(description='Client to download peak-motifs results from RSAT server.', epilog='Version '+peakMotifsVersion)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
295
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
296 parser.add_argument('-test', '--test_file', metavar='<TEST_FILE>', type=argparse.FileType('r'), nargs=1, help='Input test peak sequence in fasta format.', required=True)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
297 parser.add_argument('-control', '--control_file', metavar='<CONTROL_FILE>', type=argparse.FileType('r'), nargs=1, help='Input control peak sequence in fasta format.', required=False)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
298 parser.add_argument('-max_seq_length', '--maxSeqLength', metavar='<MAX_SEQ_LENGTH>', type=int, nargs=1, help='Maximal sequence length.', required=False)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
299 parser.add_argument('-max_motif_number', '--maxMotifNumber', metavar='<MAX_MOTIF_NUMBER>', type=int, nargs=1, help='Maximal number of motifs (matrices) to return for pattern discovery algorithms.', required=False)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
300 parser.add_argument('-top_peaks', '--topPeaks', metavar='<TOP_PEAKS>', type=int, nargs=1, help='Restrict the analysis to the N peaks at the top of the input sequence file.', required=False)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
301 parser.add_argument('-min_length', '--minLength', metavar='<MIN_LENGTH>', type=int, nargs=1, help='Minimal oligonucleotide length.', required=False)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
302 parser.add_argument('-max_length', '--maxLength', metavar='<MAX_LENGTH>', type=int, nargs=1, help='Maximal oligonucleotide length.', required=False)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
303 parser.add_argument('-markov', '--markovModel', metavar='<MARKOV_MODEL>', type=int, nargs=1, help='Order of the Markov model used to estimatd expected oligonucleotide frequencies for oligo-analysis and local-word-analysis.', required=False)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
304 parser.add_argument('-min_markov', '--minMarkov', metavar='<MIN_MARKOV>', type=int, nargs=1, help='Minimal value for markov order. Use in combination with the next option (max_markov).', required=False)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
305 parser.add_argument('-max_markov', '--maxMarkov', metavar='<MAX_MARKOV>', type=int, nargs=1, help='Maximal value for markov order. Use in combination with the previous option (min_markov).', required=False)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
306 parser.add_argument('-noov', '--noovDetection', metavar='<NOOV_DETECTION>', type=int, nargs=1, help='No overlapping of oligos allowed if value = 1.', required=False)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
307 parser.add_argument('-class_int', '--classInt', metavar='<CLASS_INT>', type=int, nargs=1, help='Class interval for position-analysis. The width of the position classes, in number of bases (default: 20).', required=False)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
308 parser.add_argument('-str', '--strSummed', metavar='<STR_SUMMED>', type=int, nargs=1, help='Oligonucleotide occurrences found on both stands are summed (2) or not (1). Default is 2.', required=False)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
309 parser.add_argument('-graph_title', '--graphTitle', metavar='<GRAPH_TITLE>', type=str, nargs=1, help='Title displayed on top of the graphs.', required=False)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
310 parser.add_argument('-image_format', '--imageFormat', metavar='<IMAGE_FORMAT>', type=str, nargs=1, help='Image format. All the formats supported by XYgraph can be used.', required=False)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
311 parser.add_argument('-disco', '--discoAlgorithm', metavar='<DISCO_ALGORITHM>', type=str, nargs='*', help='Specify the software tool(s) that will be used for motif discovery (oligos|dyads|positions|local_words|merged_words). Several algorithms can be specified either by using a comma-separated list of algorithms: -disco oligos,dyads', required=False)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
312 parser.add_argument('-source', '--sourceFile', metavar='<SOURCE_FILE>', type=str, nargs=1, help='Enter the source of the fasta sequence file. Supported source: galaxy', required=False)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
313 parser.add_argument('-verb', '--verbosity', metavar='<VERBOSITY>', type=int, nargs=1, help='Verbosity.', required=False)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
314 parser.add_argument('-ref_motif', '--ref_motif', metavar='<REF_MOTIF>', type=argparse.FileType('r'), nargs=1, help='Motif annotated in some transcription factor database (e.g. RegulonDB, Jaspar, TRANSFAC) for the transcription factor of interest.', required=False)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
315 parser.add_argument('-motif_db', '--motif_db', metavar='<MOTIF_DB>', type=str, nargs=1, help='Name of motif database.', required=False)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
316
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
317 ################################ galaxy arguments ############################################################
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
318 parser.add_argument('-outGalaxy', '--outGalaxy', metavar='<OUT_GALAXY>', type=str, nargs=1, required=True)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
319 parser.add_argument('-outGalaxy2', '--outGalaxy2', metavar='<OUT_GALAXY2>', type=str, nargs=1, required=False)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
320 parser.add_argument('-server', '--server', metavar='<SERVEUR>', type=str, nargs=1, help='RSAT server', required=True)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
321 ###########################################################'
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
322
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
323 args = parser.parse_args()
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
324
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
325 ###########################################################
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
326 ## Test arguments
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
327
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
328 fasta_test_file = args.test_file[0].read()
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
329
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
330 if not args.control_file is None :
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
331 fasta_control_file = args.control_file[0].read()
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
332 else :
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
333 fasta_control_file =""
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
334
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
335 if not args.ref_motif is None :
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
336 refMotifValue = args.ref_motif[0].read()
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
337 else :
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
338 refMotifValue =""
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
339
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
340 maxSeqLengthValue = testNone(args.maxSeqLength)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
341 maxMotifNumberValue = testNone(args.maxMotifNumber)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
342 topPeaksNumber = testNone(args.topPeaks)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
343 minLengthNumber = testNone(args.minLength)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
344 maxLengthNumber = testNone(args.maxLength)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
345 markovModelValue = testNone(args.markovModel)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
346 minMarkovValue = testNone(args.minMarkov)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
347 maxMarkovValue = testNone(args.maxMarkov)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
348 noovValue = testNone(args.noovDetection)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
349 classIntValue = testNone(args.classInt)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
350 strSummedValue = testNone(args.strSummed)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
351 graphTitleValue = testNone(args.graphTitle)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
352 imageFormatValue = testNone(args.imageFormat)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
353 discoAlgorithmValue = testNone(args.discoAlgorithm)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
354 sourceFileValue = testNone(args.sourceFile)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
355 verbosityValue = testNone(args.verbosity)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
356 motifdbValue = testNone(args.motif_db)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
357 outGalaxyValue = testNone(args.outGalaxy)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
358 outGalaxyValue2 = testNone(args.outGalaxy2)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
359 serverValue = testNone(args.server)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
360
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
361 ###########################################################'
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
362 ## Create the SOAP client to request the RSAT service
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
363
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
364 # Define URL for RSAT services
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
365 url = serverDict[serverValue]
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
366 print url
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
367
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
368 # Create the client
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
369 client = Client(url)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
370
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
371 # Need service interface to perform requests
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
372 rsat_service = client.service
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
373
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
374 # Define client header
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
375 userAgent = 'RSAT-Client/v%s (%s; Python %s; %s)' % (
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
376 peakMotifsVersion,
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
377 os.path.basename( __file__ ),
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
378 platform.python_version(),
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
379 platform.system()
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
380 )
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
381
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
382 httpHeaders = {'User-agent': userAgent}
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
383 client.set_options(headers=httpHeaders)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
384 client.set_options(timeout=300)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
385
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
386
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
387 ###########################################################'
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
388 ## Create request
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
389 peakMotifsRequest = {
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
390
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
391 'test' : fasta_test_file,
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
392 'control' : fasta_control_file,
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
393 'max_seq_length' : maxSeqLengthValue,
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
394 'max_motif_number' : maxMotifNumberValue,
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
395 'top_peaks' : topPeaksNumber,
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
396 'min_length' : minLengthNumber,
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
397 'max_length' : maxLengthNumber,
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
398 'markov' : markovModelValue,
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
399 'min_markov' : minMarkovValue,
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
400 'max_markov' : maxMarkovValue,
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
401 'noov' : noovValue,
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
402 'class_int' : classIntValue,
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
403 'str' : strSummedValue,
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
404 'graph_title' : graphTitleValue,
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
405 'image_format' : imageFormatValue,
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
406 'disco' : discoAlgorithmValue,
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
407 'source' : sourceFileValue,
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
408 'ref_motif' : refMotifValue,
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
409 'verbosity' : verbosityValue,
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
410 'motif_db' : motifdbValue
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
411 #'output' : 'blablabla'
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
412
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
413 }
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
414
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
415
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
416 ###########################################################'
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
417 ## Run job in RSAT server
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
418 result = call_run_service(rsat_service, peakMotifsRequest)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
419
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
420 #logFile = open("/bioinfo/users/jbrayet/Bureau/peak_motifs.log","w")
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
421
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
422 #logFile.write("###############################################\n")
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
423 #logFile.write("Command performed on server\n")
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
424 #logFile.write(result.command)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
425 #logFile.write("\n")
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
426 #logFile.write("###############################################\n")
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
427 #logFile.write("Result\n")
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
428 #logFile.write(result.server)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
429
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
430 print("###############################################\n")
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
431 print("Command performed on server\n")
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
432 print(result.command)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
433 print("\n")
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
434 print("###############################################\n")
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
435 print("Result\n")
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
436 print(result.server)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
437
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
438 ###########################################################'
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
439 ## Build result URL
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
440
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
441 """
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
442 zipFileDict = {
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
443
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
444 "fr_ens":"http://protists.rsat.eu/rsat/",
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
445 "fr_mrs":"http://fungi.rsat.eu/rsat/",
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
446 "fr_ro":"http://metazoa.rsat.eu/",
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
447 "fr_mrs_2":"http://teaching.rsat.eu/rsat/",
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
448 "es":"http://plants.rsat.eu/rsat/",
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
449 "mx":"http://prokaryotes.rsat.eu/rsa-tools/"
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
450
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
451 }
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
452 """
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
453
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
454 nameFile = "peak-motifs_results.zip"
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
455 urlResult=buildZipUrl(result.server)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
456 print urlResult
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
457
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
458 #ogFile.write("\n"+urlResult)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
459
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
460 ###########################################################'
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
461 ## Wait RSAT server
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
462 while urllib.urlopen(urlResult).getcode() != 200:
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
463 #logFile.write(str(urllib.urlopen(urlResult).getcode())+"\n")
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
464 time.sleep(5)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
465
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
466 #logFile.write(str(nameFile)+"\n")
50
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
467 #time.sleep(5)
2
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
468 #while urllib.urlretrieve(urlResult, nameFile)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
469 #try:
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
470
50
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
471 folderName=recupRSATResult(urlResult,nameFile)
2
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
472
50
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
473 while(not(os.path.exists(folderName+"peak-motifs_synthesis.html"))):
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
474 os.popen("rm -rf "+folderName)
a21c2253cafc Uploaded
jbrayet
parents: 2
diff changeset
475 recupRSATResult(urlResult,nameFile)
2
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
476
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
477 #logFile.write("\n"+folderName+"\n")
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
478 #logFile.write("\n"+outGalaxyValue+"\n")
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
479
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
480 os.popen("cp "+folderName+"peak-motifs_synthesis.html "+outGalaxyValue)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
481 os.popen("cp "+nameFile+" "+folderName)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
482 #logFile.close()
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
483 #os.popen("sed -i \"1iHHEELLLOOO\" "+outGalaxyValue)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
484 #os.popen("sed -i \"1i<style type=\'text/css\'></style>\" "+outGalaxyValue)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
485
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
486 ###########################################################'
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
487 ##Create results folder name
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
488 outGalaxyValueDir = outGalaxyValue.replace(".dat","_files")
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
489
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
490 #logFile.write("\noutGalaxyValueDir : " +outGalaxyValueDir)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
491
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
492 #logFile.close()
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
493
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
494 # Create results folder
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
495 os.popen("mkdir "+outGalaxyValueDir)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
496
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
497 # Copy results files in results folder
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
498 os.popen("cp -R "+folderName+"data " + outGalaxyValueDir+"/data")
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
499 os.popen("cp -R "+folderName+"reports " + outGalaxyValueDir+"/reports")
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
500 os.popen("cp -R "+folderName+"results " + outGalaxyValueDir+"/results")
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
501
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
502 if not outGalaxyValue2 =="":
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
503 os.popen("cp "+folderName+"results/sites/peak-motifs_all_motifs_seqcoord.bed "+outGalaxyValue2)
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
504
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
505
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
506
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
507
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
508
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
509
dce9495ac542 Uploaded
jbrayet
parents:
diff changeset
510