Add all needed infrastructure for MSAprobs and GLprobs
[jabaws.git] / webservices / compbio / ws / server / resource / MSAprobsWS_schema1.xsd
1 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2 <xs:schema version="1.0" targetNamespace="http://msa.data.compbio/01/01/2010/" xmlns:tns="http://msa.data.compbio/01/01/2010/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
3
4   <xs:element name="JobSubmissionException" type="tns:JobSubmissionException"/>
5
6   <xs:element name="LimitExceededException" type="tns:LimitExceededException"/>
7
8   <xs:element name="ResultNotAvailableException" type="tns:ResultNotAvailableException"/>
9
10   <xs:element name="UnsupportedRuntimeException" type="tns:UnsupportedRuntimeException"/>
11
12   <xs:element name="WrongParameterException" type="tns:WrongParameterException"/>
13
14   <xs:element name="align" type="tns:align"/>
15
16   <xs:element name="alignResponse" type="tns:alignResponse"/>
17
18   <xs:element name="cancelJob" type="tns:cancelJob"/>
19
20   <xs:element name="cancelJobResponse" type="tns:cancelJobResponse"/>
21
22   <xs:element name="customAlign" type="tns:customAlign"/>
23
24   <xs:element name="customAlignResponse" type="tns:customAlignResponse"/>
25
26   <xs:element name="getJobStatus" type="tns:getJobStatus"/>
27
28   <xs:element name="getJobStatusResponse" type="tns:getJobStatusResponse"/>
29
30   <xs:element name="getLimit" type="tns:getLimit"/>
31
32   <xs:element name="getLimitResponse" type="tns:getLimitResponse"/>
33
34   <xs:element name="getLimits" type="tns:getLimits"/>
35
36   <xs:element name="getLimitsResponse" type="tns:getLimitsResponse"/>
37
38   <xs:element name="getPresets" type="tns:getPresets"/>
39
40   <xs:element name="getPresetsResponse" type="tns:getPresetsResponse"/>
41
42   <xs:element name="getResult" type="tns:getResult"/>
43
44   <xs:element name="getResultResponse" type="tns:getResultResponse"/>
45
46   <xs:element name="getRunnerOptions" type="tns:getRunnerOptions"/>
47
48   <xs:element name="getRunnerOptionsResponse" type="tns:getRunnerOptionsResponse"/>
49
50   <xs:element name="limits" type="tns:limitsManager"/>
51
52   <xs:element name="presetAlign" type="tns:presetAlign"/>
53
54   <xs:element name="presetAlignResponse" type="tns:presetAlignResponse"/>
55
56   <xs:element name="presets" type="tns:presetManager"/>
57
58   <xs:element name="pullExecStatistics" type="tns:pullExecStatistics"/>
59
60   <xs:element name="pullExecStatisticsResponse" type="tns:pullExecStatisticsResponse"/>
61
62   <xs:element name="runnerConfig" type="tns:runnerConfig"/>
63
64   <xs:complexType name="getRunnerOptions">
65     <xs:sequence/>
66   </xs:complexType>
67
68   <xs:complexType name="getRunnerOptionsResponse">
69     <xs:sequence>
70       <xs:element name="return" type="tns:runnerConfig" minOccurs="0"/>
71     </xs:sequence>
72   </xs:complexType>
73
74   <xs:complexType name="runnerConfig">
75     <xs:sequence>
76       <xs:element name="options" type="tns:option" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
77       <xs:element name="parameters" type="tns:parameter" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
78       <xs:element name="prmSeparator" type="xs:string" minOccurs="0"/>
79       <xs:element name="runnerClassName" type="xs:string"/>
80     </xs:sequence>
81   </xs:complexType>
82
83   <xs:complexType name="option">
84     <xs:sequence>
85       <xs:element name="description" type="xs:string"/>
86       <xs:element name="optionNames" type="xs:string" maxOccurs="unbounded"/>
87       <xs:element name="name" type="xs:string"/>
88       <xs:element name="furtherDetails" type="xs:string" minOccurs="0"/>
89       <xs:element name="defaultValue" type="xs:string" minOccurs="0"/>
90     </xs:sequence>
91     <xs:attribute name="isRequired" type="xs:boolean" use="required"/>
92   </xs:complexType>
93
94   <xs:complexType name="parameter">
95     <xs:complexContent>
96       <xs:extension base="tns:option">
97         <xs:sequence>
98           <xs:element name="possibleValues" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
99           <xs:element name="validValue" type="tns:valueConstrain" minOccurs="0"/>
100         </xs:sequence>
101       </xs:extension>
102     </xs:complexContent>
103   </xs:complexType>
104
105   <xs:complexType name="valueConstrain">
106     <xs:sequence>
107       <xs:element name="type" type="tns:type"/>
108       <xs:element name="max" type="xs:string" minOccurs="0"/>
109       <xs:element name="min" type="xs:string" minOccurs="0"/>
110     </xs:sequence>
111   </xs:complexType>
112
113   <xs:complexType name="getResult">
114     <xs:sequence>
115       <xs:element name="jobId" type="xs:string" minOccurs="0"/>
116     </xs:sequence>
117   </xs:complexType>
118
119   <xs:complexType name="getResultResponse">
120     <xs:sequence>
121       <xs:element name="return" type="tns:alignment" minOccurs="0"/>
122     </xs:sequence>
123   </xs:complexType>
124
125   <xs:complexType name="alignment">
126     <xs:sequence>
127       <xs:element name="metadata" type="tns:alignmentMetadata" minOccurs="0"/>
128       <xs:element name="sequences" type="tns:fastaSequence" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
129     </xs:sequence>
130   </xs:complexType>
131
132   <xs:complexType name="alignmentMetadata">
133     <xs:sequence>
134       <xs:element name="program" type="tns:program" minOccurs="0"/>
135       <xs:element name="gapchar" type="xs:unsignedShort"/>
136     </xs:sequence>
137   </xs:complexType>
138
139   <xs:complexType name="fastaSequence">
140     <xs:sequence>
141       <xs:element name="id" type="xs:string" minOccurs="0"/>
142       <xs:element name="sequence" type="xs:string" minOccurs="0"/>
143     </xs:sequence>
144   </xs:complexType>
145
146   <xs:complexType name="jpredAlignment">
147     <xs:complexContent>
148       <xs:extension base="tns:alignment">
149         <xs:sequence/>
150       </xs:extension>
151     </xs:complexContent>
152   </xs:complexType>
153
154   <xs:complexType name="ResultNotAvailableException">
155     <xs:sequence>
156       <xs:element name="message" type="xs:string" minOccurs="0"/>
157     </xs:sequence>
158   </xs:complexType>
159
160   <xs:complexType name="getJobStatus">
161     <xs:sequence>
162       <xs:element name="jobId" type="xs:string" minOccurs="0"/>
163     </xs:sequence>
164   </xs:complexType>
165
166   <xs:complexType name="getJobStatusResponse">
167     <xs:sequence>
168       <xs:element name="return" type="tns:jobStatus" minOccurs="0"/>
169     </xs:sequence>
170   </xs:complexType>
171
172   <xs:complexType name="pullExecStatistics">
173     <xs:sequence>
174       <xs:element name="jobId" type="xs:string" minOccurs="0"/>
175       <xs:element name="position" type="xs:long"/>
176     </xs:sequence>
177   </xs:complexType>
178
179   <xs:complexType name="pullExecStatisticsResponse">
180     <xs:sequence>
181       <xs:element name="return" type="tns:chunkHolder" minOccurs="0"/>
182     </xs:sequence>
183   </xs:complexType>
184
185   <xs:complexType name="chunkHolder">
186     <xs:sequence>
187       <xs:element name="chunk" type="xs:string" minOccurs="0"/>
188       <xs:element name="position" type="xs:long"/>
189     </xs:sequence>
190   </xs:complexType>
191
192   <xs:complexType name="customAlign">
193     <xs:sequence>
194       <xs:element name="fastaSequences" type="tns:fastaSequence" minOccurs="0" maxOccurs="unbounded"/>
195       <xs:element name="options" type="tns:option" minOccurs="0" maxOccurs="unbounded"/>
196     </xs:sequence>
197   </xs:complexType>
198
199   <xs:complexType name="customAlignResponse">
200     <xs:sequence>
201       <xs:element name="return" type="xs:string" minOccurs="0"/>
202     </xs:sequence>
203   </xs:complexType>
204
205   <xs:complexType name="UnsupportedRuntimeException">
206     <xs:sequence>
207       <xs:element name="message" type="xs:string" minOccurs="0"/>
208     </xs:sequence>
209   </xs:complexType>
210
211   <xs:complexType name="LimitExceededException">
212     <xs:sequence>
213       <xs:element name="actualNumberofSequences" type="xs:int"/>
214       <xs:element name="message" type="xs:string" minOccurs="0"/>
215       <xs:element name="numberOfSequencesAllowed" type="xs:int"/>
216       <xs:element name="sequenceLenghtActual" type="xs:int"/>
217       <xs:element name="sequenceLenghtAllowed" type="xs:int"/>
218     </xs:sequence>
219   </xs:complexType>
220
221   <xs:complexType name="JobSubmissionException">
222     <xs:sequence>
223       <xs:element name="message" type="xs:string" minOccurs="0"/>
224     </xs:sequence>
225   </xs:complexType>
226
227   <xs:complexType name="WrongParameterException">
228     <xs:sequence>
229       <xs:element name="message" type="xs:string" minOccurs="0"/>
230     </xs:sequence>
231   </xs:complexType>
232
233   <xs:complexType name="align">
234     <xs:sequence>
235       <xs:element name="fastaSequences" type="tns:fastaSequence" minOccurs="0" maxOccurs="unbounded"/>
236     </xs:sequence>
237   </xs:complexType>
238
239   <xs:complexType name="alignResponse">
240     <xs:sequence>
241       <xs:element name="return" type="xs:string" minOccurs="0"/>
242     </xs:sequence>
243   </xs:complexType>
244
245   <xs:complexType name="getPresets">
246     <xs:sequence/>
247   </xs:complexType>
248
249   <xs:complexType name="getPresetsResponse">
250     <xs:sequence>
251       <xs:element name="return" type="tns:presetManager" minOccurs="0"/>
252     </xs:sequence>
253   </xs:complexType>
254
255   <xs:complexType name="presetManager">
256     <xs:sequence>
257       <xs:element name="runnerClassName" type="xs:string"/>
258       <xs:element name="preset" type="tns:preset" maxOccurs="unbounded"/>
259     </xs:sequence>
260   </xs:complexType>
261
262   <xs:complexType name="preset">
263     <xs:sequence>
264       <xs:element name="name" type="xs:string"/>
265       <xs:element name="description" type="xs:string" minOccurs="0"/>
266       <xs:element name="optlist" minOccurs="0">
267         <xs:complexType>
268           <xs:sequence>
269             <xs:element name="option" type="xs:string" maxOccurs="unbounded"/>
270           </xs:sequence>
271         </xs:complexType>
272       </xs:element>
273     </xs:sequence>
274   </xs:complexType>
275
276   <xs:complexType name="getLimits">
277     <xs:sequence/>
278   </xs:complexType>
279
280   <xs:complexType name="getLimitsResponse">
281     <xs:sequence>
282       <xs:element name="return" type="tns:limitsManager" minOccurs="0"/>
283     </xs:sequence>
284   </xs:complexType>
285
286   <xs:complexType name="limitsManager">
287     <xs:sequence>
288       <xs:element name="runnerClassName" type="xs:string" minOccurs="0"/>
289       <xs:element name="limit" type="tns:limit" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
290     </xs:sequence>
291   </xs:complexType>
292
293   <xs:complexType name="limit">
294     <xs:sequence>
295       <xs:element name="preset" type="xs:string" minOccurs="0"/>
296       <xs:element name="seqNumber" type="xs:int"/>
297       <xs:element name="seqLength" type="xs:int"/>
298     </xs:sequence>
299     <xs:attribute name="isDefault" type="xs:boolean" use="required"/>
300   </xs:complexType>
301
302   <xs:complexType name="getLimit">
303     <xs:sequence>
304       <xs:element name="presetName" type="xs:string" minOccurs="0"/>
305     </xs:sequence>
306   </xs:complexType>
307
308   <xs:complexType name="getLimitResponse">
309     <xs:sequence>
310       <xs:element name="return" type="tns:limit" minOccurs="0"/>
311     </xs:sequence>
312   </xs:complexType>
313
314   <xs:complexType name="cancelJob">
315     <xs:sequence>
316       <xs:element name="jobId" type="xs:string" minOccurs="0"/>
317     </xs:sequence>
318   </xs:complexType>
319
320   <xs:complexType name="cancelJobResponse">
321     <xs:sequence>
322       <xs:element name="return" type="xs:boolean"/>
323     </xs:sequence>
324   </xs:complexType>
325
326   <xs:complexType name="presetAlign">
327     <xs:sequence>
328       <xs:element name="fastaSequences" type="tns:fastaSequence" minOccurs="0" maxOccurs="unbounded"/>
329       <xs:element name="preset" type="tns:preset" minOccurs="0"/>
330     </xs:sequence>
331   </xs:complexType>
332
333   <xs:complexType name="presetAlignResponse">
334     <xs:sequence>
335       <xs:element name="return" type="xs:string" minOccurs="0"/>
336     </xs:sequence>
337   </xs:complexType>
338
339   <xs:simpleType name="type">
340     <xs:restriction base="xs:string">
341       <xs:enumeration value="Integer"/>
342       <xs:enumeration value="Float"/>
343     </xs:restriction>
344   </xs:simpleType>
345
346   <xs:simpleType name="program">
347     <xs:restriction base="xs:string">
348       <xs:enumeration value="CLUSTAL"/>
349       <xs:enumeration value="ClustalO"/>
350       <xs:enumeration value="Mafft"/>
351       <xs:enumeration value="Muscle"/>
352       <xs:enumeration value="Tcoffee"/>
353       <xs:enumeration value="Probcons"/>
354       <xs:enumeration value="MSAprobs"/>
355       <xs:enumeration value="GLprobs"/>
356       <xs:enumeration value="Jpred"/>
357     </xs:restriction>
358   </xs:simpleType>
359
360   <xs:simpleType name="jobStatus">
361     <xs:restriction base="xs:string">
362       <xs:enumeration value="PENDING"/>
363       <xs:enumeration value="RUNNING"/>
364       <xs:enumeration value="CANCELLED"/>
365       <xs:enumeration value="FINISHED"/>
366       <xs:enumeration value="FAILED"/>
367       <xs:enumeration value="UNDEFINED"/>
368       <xs:enumeration value="STARTED"/>
369       <xs:enumeration value="SUBMITTED"/>
370       <xs:enumeration value="COLLECTED"/>
371     </xs:restriction>
372   </xs:simpleType>
373 </xs:schema>
374