Add all needed infrastructure for MSAprobs and GLprobs
[jabaws.git] / webservices / compbio / ws / server / resource / MSAprobsWS_schema1.xsd
diff --git a/webservices/compbio/ws/server/resource/MSAprobsWS_schema1.xsd b/webservices/compbio/ws/server/resource/MSAprobsWS_schema1.xsd
new file mode 100644 (file)
index 0000000..5ab9459
--- /dev/null
@@ -0,0 +1,374 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<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">
+
+  <xs:element name="JobSubmissionException" type="tns:JobSubmissionException"/>
+
+  <xs:element name="LimitExceededException" type="tns:LimitExceededException"/>
+
+  <xs:element name="ResultNotAvailableException" type="tns:ResultNotAvailableException"/>
+
+  <xs:element name="UnsupportedRuntimeException" type="tns:UnsupportedRuntimeException"/>
+
+  <xs:element name="WrongParameterException" type="tns:WrongParameterException"/>
+
+  <xs:element name="align" type="tns:align"/>
+
+  <xs:element name="alignResponse" type="tns:alignResponse"/>
+
+  <xs:element name="cancelJob" type="tns:cancelJob"/>
+
+  <xs:element name="cancelJobResponse" type="tns:cancelJobResponse"/>
+
+  <xs:element name="customAlign" type="tns:customAlign"/>
+
+  <xs:element name="customAlignResponse" type="tns:customAlignResponse"/>
+
+  <xs:element name="getJobStatus" type="tns:getJobStatus"/>
+
+  <xs:element name="getJobStatusResponse" type="tns:getJobStatusResponse"/>
+
+  <xs:element name="getLimit" type="tns:getLimit"/>
+
+  <xs:element name="getLimitResponse" type="tns:getLimitResponse"/>
+
+  <xs:element name="getLimits" type="tns:getLimits"/>
+
+  <xs:element name="getLimitsResponse" type="tns:getLimitsResponse"/>
+
+  <xs:element name="getPresets" type="tns:getPresets"/>
+
+  <xs:element name="getPresetsResponse" type="tns:getPresetsResponse"/>
+
+  <xs:element name="getResult" type="tns:getResult"/>
+
+  <xs:element name="getResultResponse" type="tns:getResultResponse"/>
+
+  <xs:element name="getRunnerOptions" type="tns:getRunnerOptions"/>
+
+  <xs:element name="getRunnerOptionsResponse" type="tns:getRunnerOptionsResponse"/>
+
+  <xs:element name="limits" type="tns:limitsManager"/>
+
+  <xs:element name="presetAlign" type="tns:presetAlign"/>
+
+  <xs:element name="presetAlignResponse" type="tns:presetAlignResponse"/>
+
+  <xs:element name="presets" type="tns:presetManager"/>
+
+  <xs:element name="pullExecStatistics" type="tns:pullExecStatistics"/>
+
+  <xs:element name="pullExecStatisticsResponse" type="tns:pullExecStatisticsResponse"/>
+
+  <xs:element name="runnerConfig" type="tns:runnerConfig"/>
+
+  <xs:complexType name="getRunnerOptions">
+    <xs:sequence/>
+  </xs:complexType>
+
+  <xs:complexType name="getRunnerOptionsResponse">
+    <xs:sequence>
+      <xs:element name="return" type="tns:runnerConfig" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="runnerConfig">
+    <xs:sequence>
+      <xs:element name="options" type="tns:option" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element name="parameters" type="tns:parameter" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element name="prmSeparator" type="xs:string" minOccurs="0"/>
+      <xs:element name="runnerClassName" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="option">
+    <xs:sequence>
+      <xs:element name="description" type="xs:string"/>
+      <xs:element name="optionNames" type="xs:string" maxOccurs="unbounded"/>
+      <xs:element name="name" type="xs:string"/>
+      <xs:element name="furtherDetails" type="xs:string" minOccurs="0"/>
+      <xs:element name="defaultValue" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+    <xs:attribute name="isRequired" type="xs:boolean" use="required"/>
+  </xs:complexType>
+
+  <xs:complexType name="parameter">
+    <xs:complexContent>
+      <xs:extension base="tns:option">
+        <xs:sequence>
+          <xs:element name="possibleValues" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+          <xs:element name="validValue" type="tns:valueConstrain" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="valueConstrain">
+    <xs:sequence>
+      <xs:element name="type" type="tns:type"/>
+      <xs:element name="max" type="xs:string" minOccurs="0"/>
+      <xs:element name="min" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="getResult">
+    <xs:sequence>
+      <xs:element name="jobId" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="getResultResponse">
+    <xs:sequence>
+      <xs:element name="return" type="tns:alignment" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="alignment">
+    <xs:sequence>
+      <xs:element name="metadata" type="tns:alignmentMetadata" minOccurs="0"/>
+      <xs:element name="sequences" type="tns:fastaSequence" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="alignmentMetadata">
+    <xs:sequence>
+      <xs:element name="program" type="tns:program" minOccurs="0"/>
+      <xs:element name="gapchar" type="xs:unsignedShort"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="fastaSequence">
+    <xs:sequence>
+      <xs:element name="id" type="xs:string" minOccurs="0"/>
+      <xs:element name="sequence" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="jpredAlignment">
+    <xs:complexContent>
+      <xs:extension base="tns:alignment">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="ResultNotAvailableException">
+    <xs:sequence>
+      <xs:element name="message" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="getJobStatus">
+    <xs:sequence>
+      <xs:element name="jobId" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="getJobStatusResponse">
+    <xs:sequence>
+      <xs:element name="return" type="tns:jobStatus" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="pullExecStatistics">
+    <xs:sequence>
+      <xs:element name="jobId" type="xs:string" minOccurs="0"/>
+      <xs:element name="position" type="xs:long"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="pullExecStatisticsResponse">
+    <xs:sequence>
+      <xs:element name="return" type="tns:chunkHolder" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="chunkHolder">
+    <xs:sequence>
+      <xs:element name="chunk" type="xs:string" minOccurs="0"/>
+      <xs:element name="position" type="xs:long"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="customAlign">
+    <xs:sequence>
+      <xs:element name="fastaSequences" type="tns:fastaSequence" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element name="options" type="tns:option" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="customAlignResponse">
+    <xs:sequence>
+      <xs:element name="return" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="UnsupportedRuntimeException">
+    <xs:sequence>
+      <xs:element name="message" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="LimitExceededException">
+    <xs:sequence>
+      <xs:element name="actualNumberofSequences" type="xs:int"/>
+      <xs:element name="message" type="xs:string" minOccurs="0"/>
+      <xs:element name="numberOfSequencesAllowed" type="xs:int"/>
+      <xs:element name="sequenceLenghtActual" type="xs:int"/>
+      <xs:element name="sequenceLenghtAllowed" type="xs:int"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="JobSubmissionException">
+    <xs:sequence>
+      <xs:element name="message" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="WrongParameterException">
+    <xs:sequence>
+      <xs:element name="message" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="align">
+    <xs:sequence>
+      <xs:element name="fastaSequences" type="tns:fastaSequence" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="alignResponse">
+    <xs:sequence>
+      <xs:element name="return" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="getPresets">
+    <xs:sequence/>
+  </xs:complexType>
+
+  <xs:complexType name="getPresetsResponse">
+    <xs:sequence>
+      <xs:element name="return" type="tns:presetManager" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="presetManager">
+    <xs:sequence>
+      <xs:element name="runnerClassName" type="xs:string"/>
+      <xs:element name="preset" type="tns:preset" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="preset">
+    <xs:sequence>
+      <xs:element name="name" type="xs:string"/>
+      <xs:element name="description" type="xs:string" minOccurs="0"/>
+      <xs:element name="optlist" minOccurs="0">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="option" type="xs:string" maxOccurs="unbounded"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="getLimits">
+    <xs:sequence/>
+  </xs:complexType>
+
+  <xs:complexType name="getLimitsResponse">
+    <xs:sequence>
+      <xs:element name="return" type="tns:limitsManager" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="limitsManager">
+    <xs:sequence>
+      <xs:element name="runnerClassName" type="xs:string" minOccurs="0"/>
+      <xs:element name="limit" type="tns:limit" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="limit">
+    <xs:sequence>
+      <xs:element name="preset" type="xs:string" minOccurs="0"/>
+      <xs:element name="seqNumber" type="xs:int"/>
+      <xs:element name="seqLength" type="xs:int"/>
+    </xs:sequence>
+    <xs:attribute name="isDefault" type="xs:boolean" use="required"/>
+  </xs:complexType>
+
+  <xs:complexType name="getLimit">
+    <xs:sequence>
+      <xs:element name="presetName" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="getLimitResponse">
+    <xs:sequence>
+      <xs:element name="return" type="tns:limit" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="cancelJob">
+    <xs:sequence>
+      <xs:element name="jobId" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="cancelJobResponse">
+    <xs:sequence>
+      <xs:element name="return" type="xs:boolean"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="presetAlign">
+    <xs:sequence>
+      <xs:element name="fastaSequences" type="tns:fastaSequence" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element name="preset" type="tns:preset" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="presetAlignResponse">
+    <xs:sequence>
+      <xs:element name="return" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:simpleType name="type">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Integer"/>
+      <xs:enumeration value="Float"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="program">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="CLUSTAL"/>
+      <xs:enumeration value="ClustalO"/>
+      <xs:enumeration value="Mafft"/>
+      <xs:enumeration value="Muscle"/>
+      <xs:enumeration value="Tcoffee"/>
+      <xs:enumeration value="Probcons"/>
+      <xs:enumeration value="MSAprobs"/>
+      <xs:enumeration value="GLprobs"/>
+      <xs:enumeration value="Jpred"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="jobStatus">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="PENDING"/>
+      <xs:enumeration value="RUNNING"/>
+      <xs:enumeration value="CANCELLED"/>
+      <xs:enumeration value="FINISHED"/>
+      <xs:enumeration value="FAILED"/>
+      <xs:enumeration value="UNDEFINED"/>
+      <xs:enumeration value="STARTED"/>
+      <xs:enumeration value="SUBMITTED"/>
+      <xs:enumeration value="COLLECTED"/>
+    </xs:restriction>
+  </xs:simpleType>
+</xs:schema>
+