<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://mrs.cmbi.ru.nl/mrsws/blast" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://mrs.cmbi.ru.nl/mrsws/blast" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<wsdl:types>
<xsd:schema targetNamespace="http://mrs.cmbi.ru.nl/mrsws/blast" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xsd:element name="Blast">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="query" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<xsd:element name="program" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<xsd:element name="db" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<xsd:element name="mrsBooleanQuery" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<xsd:element name="params" type="ns:Parameters" minOccurs="1" maxOccurs="1"/>
<xsd:element name="reportLimit" type="xsd:unsignedInt" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="BlastJobError">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="jobId" type="xsd:string" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="BlastJobErrorResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="error" type="xsd:string" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="BlastJobResult">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="jobId" type="xsd:string" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="BlastJobResultResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="dbCount" type="xsd:unsignedInt" minOccurs="1" maxOccurs="1"/>
<xsd:element name="dbLength" type="xsd:unsignedLong" minOccurs="1" maxOccurs="1"/>
<xsd:element name="effectiveSearchSpace" type="xsd:unsignedLong" minOccurs="1" maxOccurs="1"/>
<xsd:element name="kappa" type="xsd:double" minOccurs="1" maxOccurs="1"/>
<xsd:element name="lambda" type="xsd:double" minOccurs="1" maxOccurs="1"/>
<xsd:element name="entropy" type="xsd:double" minOccurs="1" maxOccurs="1"/>
<xsd:element name="hits" type="ns:Hit" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="BlastJobStatus">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="jobId" type="xsd:string" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="BlastJobStatusResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="status" type="ns:JobStatus" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="BlastResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="jobId" type="xsd:string" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="Hit">
<xsd:sequence>
<xsd:element name="id" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<xsd:element name="sequenceId" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="title" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<xsd:element name="hsps" type="ns:Hsp" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Hsp">
<xsd:sequence>
<xsd:element name="score" type="xsd:unsignedInt" minOccurs="1" maxOccurs="1"/>
<xsd:element name="bitScore" type="xsd:double" minOccurs="1" maxOccurs="1"/>
<xsd:element name="expect" type="xsd:double" minOccurs="1" maxOccurs="1"/>
<xsd:element name="queryStart" type="xsd:unsignedInt" minOccurs="1" maxOccurs="1"/>
<xsd:element name="subjectStart" type="xsd:unsignedInt" minOccurs="1" maxOccurs="1"/>
<xsd:element name="identity" type="xsd:unsignedInt" minOccurs="1" maxOccurs="1"/>
<xsd:element name="positive" type="xsd:unsignedInt" minOccurs="1" maxOccurs="1"/>
<xsd:element name="gaps" type="xsd:unsignedInt" minOccurs="1" maxOccurs="1"/>
<xsd:element name="subjectLength" type="xsd:unsignedInt" minOccurs="1" maxOccurs="1"/>
<xsd:element name="queryAlignment" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<xsd:element name="subjectAlignment" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<xsd:element name="midline" type="xsd:string" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="JobStatus">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="unknown"/>
<xsd:enumeration value="queued"/>
<xsd:enumeration value="running"/>
<xsd:enumeration value="error"/>
<xsd:enumeration value="finished"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="Parameters">
<xsd:sequence>
<xsd:element name="matrix" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<xsd:element name="wordSize" type="xsd:unsignedInt" minOccurs="1" maxOccurs="1"/>
<xsd:element name="expect" type="xsd:double" minOccurs="1" maxOccurs="1"/>
<xsd:element name="lowComplexityFilter" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
<xsd:element name="gapped" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
<xsd:element name="gapOpen" type="xsd:unsignedInt" minOccurs="1" maxOccurs="1"/>
<xsd:element name="gapExtend" type="xsd:unsignedInt" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</wsdl:types>
<wsdl:message name="BlastJobErrorRequestMessage">
<wsdl:part name="parameters" element="ns:BlastJobError"/>
</wsdl:message>
<wsdl:message name="BlastJobErrorResponseMessage">
<wsdl:part name="parameters" element="ns:BlastJobErrorResponse"/>
</wsdl:message>
<wsdl:message name="BlastJobResultRequestMessage">
<wsdl:part name="parameters" element="ns:BlastJobResult"/>
</wsdl:message>
<wsdl:message name="BlastJobResultResponseMessage">
<wsdl:part name="parameters" element="ns:BlastJobResultResponse"/>
</wsdl:message>
<wsdl:message name="BlastJobStatusRequestMessage">
<wsdl:part name="parameters" element="ns:BlastJobStatus"/>
</wsdl:message>
<wsdl:message name="BlastJobStatusResponseMessage">
<wsdl:part name="parameters" element="ns:BlastJobStatusResponse"/>
</wsdl:message>
<wsdl:message name="BlastRequestMessage">
<wsdl:part name="parameters" element="ns:Blast"/>
</wsdl:message>
<wsdl:message name="BlastResponseMessage">
<wsdl:part name="parameters" element="ns:BlastResponse"/>
</wsdl:message>
<wsdl:portType name="mrsws_blastPortType">
<wsdl:operation name="Blast">
<wsdl:input message="ns:BlastRequestMessage"/>
<wsdl:output message="ns:BlastResponseMessage"/>
</wsdl:operation>
<wsdl:operation name="BlastJobStatus">
<wsdl:input message="ns:BlastJobStatusRequestMessage"/>
<wsdl:output message="ns:BlastJobStatusResponseMessage"/>
</wsdl:operation>
<wsdl:operation name="BlastJobResult">
<wsdl:input message="ns:BlastJobResultRequestMessage"/>
<wsdl:output message="ns:BlastJobResultResponseMessage"/>
</wsdl:operation>
<wsdl:operation name="BlastJobError">
<wsdl:input message="ns:BlastJobErrorRequestMessage"/>
<wsdl:output message="ns:BlastJobErrorResponseMessage"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="mrsws_blast" type="ns:mrsws_blastPortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="Blast">
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="BlastJobStatus">
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="BlastJobResult">
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="BlastJobError">
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="${SERVICE}">
<wsdl:port name="mrsws_blast" binding="ns:mrsws_blast">
<soap:address location="${LOCATION}"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>