<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2007 rel. 3 sp1 (http://www.altova.com) by Samarth Varma, Manipal Institute of Technology, IAESTE-India Intern, University of Bergen -->
<!--WSDL file for synchronous Blast web service; depends on schema BlastParametes.xsd. Endpoint address listed under <service> definition may be altered with change in the deployment location-->
<?xml-stylesheet type="text/xsl" href="http://api.bioinfo.no/stylesheets/WSDLDocumentation.xslt"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.bccs.uib.no/Blast" name="BLAST" targetNamespace="http://www.bccs.uib.no/Blast">
	<types>
		<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.bccs.uib.no/Blast" xmlns:blp="http://www.bccs.uib.no/BlastParameters" xmlns:blo="http://www.bccs.uib.no/BlastOutput" xmlns:ns1="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.bccs.uib.no/Blast" elementFormDefault="qualified">
			<xs:import namespace="http://www.bccs.uib.no/BlastOutput" schemaLocation="http://api.bioinfo.no/schema/BlastOutput.xsd"/>
			<xs:import namespace="http://www.bccs.uib.no/BlastParameters" schemaLocation="http://api.bioinfo.no/schema/BlastParameters.xsd"/>
			<xs:element name="RunBlastnJob">
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="blp:BlastnParameters"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="RunBlastnJobResponse">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="JobId" type="xs:string"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="RunBlastpJob">
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="blp:BlastpParameters"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="RunBlastpJobResponse">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="JobId" type="xs:string"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="RunBlastxJob">
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="blp:BlastxParameters"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="RunBlastxJobResponse">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="JobId" type="xs:string"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="RunTblastnJob">
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="blp:TblastnParameters"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="RunTblastnJobResponse">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="JobId" type="xs:string"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="RunTblastxJob">
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="blp:TblastxParameters"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="RunTblastxJobResponse">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="JobId" type="xs:string"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="GetStatus">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="JobId" type="xs:string"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="GetStatusResponse">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Status" type="xs:string"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="GetResults">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="JobId" type="xs:string"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="GetResultsResponse">
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="blo:BlastOutputs"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="GetAvailableDatabases">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="DatabaseType" nillable="true" minOccurs="0" default="protein">
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:enumeration value="protein"/>
									<xs:enumeration value="nucleotide"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="GetAvailableDatabasesResponse">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Database" minOccurs="0" maxOccurs="unbounded">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Name" type="xs:string"/>
									<xs:element name="Type" type="xs:string"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="JobIdentifierFault">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="FaultDescription" type="xs:string"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="DatabaseFault">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="FaultDescription" type="xs:string"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="QueryFault">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="FaultDescription" type="xs:string"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:schema>
	</types>
	<message name="RunBlastnJobRequestMsg">
		<part name="parameters" element="tns:RunBlastnJob"/>
	</message>
	<message name="RunBlastnJobResponseMsg">
		<part name="parameters" element="tns:RunBlastnJobResponse"/>
	</message>
	<message name="RunBlastpJobRequestMsg">
		<part name="parameters" element="tns:RunBlastpJob"/>
	</message>
	<message name="RunBlastpJobResponseMsg">
		<part name="parameters" element="tns:RunBlastpJobResponse"/>
	</message>
	<message name="RunBlastxJobRequestMsg">
		<part name="parameters" element="tns:RunBlastxJob"/>
	</message>
	<message name="RunBlastxJobResponseMsg">
		<part name="parameters" element="tns:RunBlastxJobResponse"/>
	</message>
	<message name="RunTblastnJobRequestMsg">
		<part name="parameters" element="tns:RunTblastnJob"/>
	</message>
	<message name="RunTblastnJobResponseMsg">
		<part name="parameters" element="tns:RunTblastnJobResponse"/>
	</message>
	<message name="RunTblastxJobRequestMsg">
		<part name="parameters" element="tns:RunTblastxJob"/>
	</message>
	<message name="RunTblastxJobResponseMsg">
		<part name="parameters" element="tns:RunTblastxJobResponse"/>
	</message>
	<message name="GetStatusRequestMsg">
		<part name="parameters" element="tns:GetStatus"/>
	</message>
	<message name="GetStatusResponseMsg">
		<part name="parameters" element="tns:GetStatusResponse"/>
	</message>
	<message name="GetResultsRequestMsg">
		<part name="parameters" element="tns:GetResults"/>
	</message>
	<message name="GetResultsResponseMsg">
		<part name="parameters" element="tns:GetResultsResponse"/>
	</message>
	<message name="GetAvailableDatabasesRequestMsg">
		<part name="parameters" element="tns:GetAvailableDatabases"/>
	</message>
	<message name="GetAvailableDatabasesResponseMsg">
		<part name="parameters" element="tns:GetAvailableDatabasesResponse"/>
	</message>
	<message name="JobIdentifierFaultmsg">
		<part name="fault" element="tns:JobIdentifierFault"/>
	</message>
	<message name="DatabaseFaultmsg">
		<part name="fault" element="tns:DatabaseFault"/>
	</message>
	<message name="QueryFaultmsg">
		<part name="fault" element="tns:QueryFault"/>
	</message>
	<portType name="BLAST">
		<operation name="RunBlastnJob">
			<input message="tns:RunBlastnJobRequestMsg"/>
			<output message="tns:RunBlastnJobResponseMsg"/>
			<fault name="DatabaseFault" message="tns:DatabaseFaultmsg"/>
		</operation>
		<operation name="RunBlastpJob">
			<input message="tns:RunBlastpJobRequestMsg"/>
			<output message="tns:RunBlastpJobResponseMsg"/>
			<fault name="DatabaseFault" message="tns:DatabaseFaultmsg"/>
		</operation>
		<operation name="RunBlastxJob">
			<input message="tns:RunBlastxJobRequestMsg"/>
			<output message="tns:RunBlastxJobResponseMsg"/>
			<fault name="DatabaseFault" message="tns:DatabaseFaultmsg"/>
		</operation>
		<operation name="RunTblastnJob">
			<input message="tns:RunTblastnJobRequestMsg"/>
			<output message="tns:RunTblastnJobResponseMsg"/>
			<fault name="DatabaseFault" message="tns:DatabaseFaultmsg"/>
		</operation>
		<operation name="RunTblastxJob">
			<input message="tns:RunTblastxJobRequestMsg"/>
			<output message="tns:RunTblastxJobResponseMsg"/>
			<fault name="DatabaseFault" message="tns:DatabaseFaultmsg"/>
		</operation>
		<operation name="GetStatus">
			<documentation>Returns the current status of job belonging to the provided identifier</documentation>
			<input message="tns:GetStatusRequestMsg"/>
			<output message="tns:GetStatusResponseMsg"/>
			<fault name="JobIdentifierFault" message="tns:JobIdentifierFaultmsg"/>
		</operation>
		<operation name="GetResults">
			<documentation>Retrives a list of ELMs that has descriptions or identifiers that match parts of a query text</documentation>
			<input message="tns:GetResultsRequestMsg"/>
			<output message="tns:GetResultsResponseMsg"/>
			<fault name="QueryFault" message="tns:QueryFaultmsg"/>
			<fault name="JobIdentifierFault" message="tns:JobIdentifierFaultmsg"/>
		</operation>
		<operation name="GetAvailableDatabases">
			<input message="tns:GetAvailableDatabasesRequestMsg"/>
			<output message="tns:GetAvailableDatabasesResponseMsg"/>
		</operation>
	</portType>
	<binding name="BLASTBinding" type="tns:BLAST">
		<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
		<operation name="RunBlastnJob">
			<soap:operation soapAction="http://www.bccs.uib.no/BLAST/RunBlastnJob"/>
			<input>
				<soap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</input>
			<output>
				<soap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</output>
			<fault name="DatabaseFault">
				<soap:fault name="DatabaseFault" use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</fault>
		</operation>
		<operation name="RunBlastpJob">
			<soap:operation soapAction="http://www.bccs.uib.no/BLAST/RunBlastpJob"/>
			<input>
				<soap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</input>
			<output>
				<soap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</output>
			<fault name="DatabaseFault">
				<soap:fault name="DatabaseFault" use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</fault>
		</operation>
		<operation name="RunBlastxJob">
			<soap:operation soapAction="http://www.bccs.uib.no/BLAST/RunBlastxJob"/>
			<input>
				<soap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</input>
			<output>
				<soap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</output>
			<fault name="DatabaseFault">
				<soap:fault name="DatabaseFault" use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</fault>
		</operation>
		<operation name="RunTblastnJob">
			<soap:operation soapAction="http://www.bccs.uib.no/BLAST/RunTblastnJob"/>
			<input>
				<soap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</input>
			<output>
				<soap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</output>
			<fault name="DatabaseFault">
				<soap:fault name="DatabaseFault" use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</fault>
		</operation>
		<operation name="RunTblastxJob">
			<soap:operation soapAction="http://www.bccs.uib.no/BLAST/RunTblastxJob"/>
			<input>
				<soap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</input>
			<output>
				<soap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</output>
			<fault name="DatabaseFault">
				<soap:fault name="DatabaseFault" use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</fault>
		</operation>
		<operation name="GetStatus">
			<soap:operation soapAction="http://www.bccs.uib.no/BLAST/GetStatus"/>
			<input>
				<soap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</input>
			<output>
				<soap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</output>
			<fault name="JobIdentifierFault">
				<soap:fault name="JobIdentifierFault" use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</fault>
		</operation>
		<operation name="GetResults">
			<soap:operation soapAction="http://www.bccs.uib.no/BLAST/GetResults"/>
			<input>
				<soap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</input>
			<output>
				<soap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</output>
			<fault name="JobIdentifierFault">
				<soap:fault name="JobIdentifierFault" use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</fault>
			<fault name="QueryFault">
				<soap:fault name="QueryFault" use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</fault>
		</operation>
		<operation name="GetAvailableDatabases">
			<soap:operation soapAction="http://www.bccs.uib.no/BLAST/GetAvailableDatabases"/>
			<input>
				<soap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</input>
			<output>
				<soap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</output>
		</operation>
	</binding>
	<service name="BLAST">
		<documentation>WS-I compatible BLAST Web Service.
		<doc:ServiceDocumentation xmlns:doc="http://www.bccs.uib.no/ServiceDocumentation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bccs.uib.no/ServiceDocumentation http://api.bioinfo.no/schema/ServiceDocumentation.xsd">
	<doc:Version>0.3 (testing service, not for production)</doc:Version>
</doc:ServiceDocumentation></documentation>
		<port name="BLAST" binding="tns:BLASTBinding">
			<soap:address location="http://api.bioinfo.no/services/BLAST"/>
		</port>
	</service>
</definitions>

