<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://mrs.cmbi.ru.nl/mrsws/blast" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://mrs.cmbi.ru.nl/mrsws/blast">
<wsdl:types>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://mrs.cmbi.ru.nl/mrsws/blast" 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="params" type="ns:Parameters" minOccurs="0" maxOccurs="1"/>
                <xsd:element name="reportLimit" type="xsd:unsignedInt" minOccurs="0" 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="result" type="ns:BlastResult" minOccurs="1" maxOccurs="1"/>
            </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="BlastResult">
        <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: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="1"/>
            <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="0" maxOccurs="1"/>
            <xsd:element name="wordSize" type="xsd:unsignedInt" minOccurs="0" maxOccurs="1"/>
            <xsd:element name="expect" type="xsd:double" minOccurs="0" maxOccurs="1"/>
            <xsd:element name="lowComplexityFilter" type="xsd:boolean" minOccurs="0" maxOccurs="1"/>
            <xsd:element name="gapped" type="xsd:boolean" minOccurs="0" maxOccurs="1"/>
            <xsd:element name="gapOpen" type="xsd:unsignedInt" minOccurs="0" maxOccurs="1"/>
            <xsd:element name="gapExtend" type="xsd:unsignedInt" minOccurs="0" 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">
        <soap:operation soapAction="" style="document"/>
        <wsdl:input>
            <soap:body use="literal"/>
        </wsdl:input>
        <wsdl:output>
            <soap:body use="literal"/>
        </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="BlastJobStatus">
        <soap:operation soapAction="" style="document"/>
        <wsdl:input>
            <soap:body use="literal"/>
        </wsdl:input>
        <wsdl:output>
            <soap:body use="literal"/>
        </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="BlastJobResult">
        <soap:operation soapAction="" style="document"/>
        <wsdl:input>
            <soap:body use="literal"/>
        </wsdl:input>
        <wsdl:output>
            <soap:body use="literal"/>
        </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="BlastJobError">
        <soap:operation soapAction="" style="document"/>
        <wsdl:input>
            <soap:body use="literal"/>
        </wsdl:input>
        <wsdl:output>
            <soap:body use="literal"/>
        </wsdl:output>
    </wsdl:operation>
</wsdl:binding>
<wsdl:service name="mrsws_blast">
    <wsdl:port name="mrsws_blast" binding="ns:mrsws_blast">
        <soap:address location="http://mrs.cmbi.ru.nl/m6/mrsws/blast"/>
    </wsdl:port>
</wsdl:service>
</wsdl:definitions>

