<?xml version="1.0" encoding="UTF-8"?>
<definitions name="prodivtmhmmDefinitions"
             targetNamespace="http://wsdl.sbc.su.se/prodivtmhmm"
             xmlns="http://schemas.xmlsoap.org/wsdl/"
             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
             xmlns:tns="http://wsdl.sbc.su.se/prodivtmhmm"
             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
             xmlns:ns="http://schemas.xmlsoap.org/wsdl/">
  <documentation> PRODIV-TMHMM is a hidden Markov model based server for
  topology prediction of transmembrane proteins. Details of the program can be
  found in: "Best alpha-helical transmembrane protein topology predictions are
  achieved using hidden Markov models and evolutionary information"; H嫡n
  Viklund and Arne Elofsson; Protein Science Vol. Protein Sci. 2004
  Jul;13(7):1908-17; PRODIV-TMHMM provides three-state topology predictions
  for each residue of the sequence: membrane (M), inside (i) and outside (o).
  Input is a text file in FASTA format containing an amino acid sequence. For
  increased accuracy, evolutionary information about the protein in the form
  of an alignment may be supplied. This is done by putting the alignment
  sequences in the same FASTA file as separate FASTA format entries in the
  original query file. '-' signs are accepted as placeholder character in the
  alignments. </documentation>

  <types>
    <xsd:schema elementFormDefault="qualified"
                targetNamespace="http://wsdl.sbc.su.se/prodivtmhmm">
      <xsd:element name="runProdivtmhmmDefault">
        <xsd:complexType>
          <xsd:all>
            <xsd:element name="sequence" type="xsd:string">
              <annotation>
                <documentation>FASTA file with query sequence and alignments.
                Each alignment should be given as an individual FASTA entry
                after the query. Gaps are represented by '-' (hyphen)
                characters.</documentation>
              </annotation>
            </xsd:element>
          </xsd:all>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="runProdivtmhmmDefaultResponse">
        <annotation>
          <documentation>Text file (string) with PRODIV-TMHMM
          output.</documentation>
        </annotation>

        <xsd:complexType>
          <xsd:all>
            <xsd:element name="prodivtmhmm_topology" type="xsd:string" />
          </xsd:all>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="runProdivtmhmmParams">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="sequence" type="xsd:string">
              <annotation>
                <documentation>FASTA file with query sequence and alignments.
                Each alignment should be given as an individual FASTA entry
                after the query. Gaps are represented by '-' (hyphen)
                characters.</documentation>
              </annotation>
            </xsd:element>

            <xsd:element name="labelOut" type="xsd:boolean">
              <annotation>
                <documentation>Boolean indicating whether output should
                contain labelling of amino acids.</documentation>
              </annotation>
            </xsd:element>

            <xsd:element name="alignOut" type="xsd:boolean">
              <annotation>
                <documentation>Boolean indicating whether output should
                contain alignment information.</documentation>
              </annotation>
            </xsd:element>

            <xsd:element name="msaScore">
              <annotation>
                <documentation>Scoring method for alignment and profile data.
                Possible values are: DP,DPPI,GM,GMR,PI,PIS. Default is
                GM.</documentation>
              </annotation>
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                            <xsd:enumeration value="GM"/>
                            <xsd:enumeration value="DP"/>
                            <xsd:enumeration value="DPPI"/>
                            <xsd:enumeration value="GMR"/>
                            <xsd:enumeration value="PI"/>
                            <xsd:enumeration value="PIS"/>
                        </xsd:restriction>
                    </xsd:simpleType>
            </xsd:element>

            <xsd:element name="useCols" type="xsd:string">
              <annotation>
                <documentation>Specify which columns to use for alignment
                input data. May be 'all' or a number, the number specifying a
                sequence in the alignment whose columns with non-gap symbols
                will be used. Default is 'all'.</documentation>
              </annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="runProdivtmhmmParamsResponse">
        <annotation>
          <documentation>Text file (string) with PRODIV-TMHMM
          output.</documentation>
        </annotation>

        <xsd:complexType>
          <xsd:all>
            <xsd:element name="prodivtmhmm_topology" type="xsd:string" />
          </xsd:all>
        </xsd:complexType>
      </xsd:element>
    </xsd:schema>
  </types>

  <message name="ProdivtmhmmDefaultRequestMsg">
    <part element="tns:runProdivtmhmmDefault" name="inputWrapper" />
  </message>

  <message name="ProdivtmhmmDefaultResponseMsg">
    <part element="tns:runProdivtmhmmDefaultResponse" name="outputWrapper" />
  </message>

  <message name="ProdivtmhmmParamsRequestMsg">
    <part element="tns:runProdivtmhmmParams" name="inputWrapper" />
  </message>

  <message name="ProdivtmhmmParamsResponseMsg">
    <part element="tns:runProdivtmhmmParamsResponse" name="outputWrapper" />
  </message>

  <portType name="prodivtmhmmPortType">
    <operation name="runProdivtmhmmDefault">
      <documentation>Run PRODIV-TMHMM with default parameters.</documentation>

      <input message="tns:ProdivtmhmmDefaultRequestMsg" />

      <output message="tns:ProdivtmhmmDefaultResponseMsg" />
    </operation>

    <operation name="runProdivtmhmmParams">
      <documentation>Run PRODIV-TMHMM with user defined
      parameters.</documentation>

      <input message="tns:ProdivtmhmmParamsRequestMsg" />

      <output message="tns:ProdivtmhmmParamsResponseMsg" />
    </operation>
  </portType>

  <binding name="prodivtmhmmBinding" type="tns:prodivtmhmmPortType">
    <soap:binding style="document"
                  transport="http://schemas.xmlsoap.org/soap/http" />

    <operation name="runProdivtmhmmDefault">
      <soap:operation soapAction="http://wsdl.sbc.su.se/prodivtmhmm/runProdivtmhmmDefault" />

      <input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                   use="literal" />
      </input>

      <output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                   use="literal" />
      </output>
    </operation>

    <operation name="runProdivtmhmmParams">
      <soap:operation soapAction="http://wsdl.sbc.su.se/prodivtmhmm/runProdivtmhmmParams" />

      <input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                   use="literal" />
      </input>

      <output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                   use="literal" />
      </output>
    </operation>
  </binding>

  <service name="prodivtmhmmService">
    <port binding="tns:prodivtmhmmBinding" name="prodivtmhmmPort">
      <soap:address location="http://wsdl.sbc.su.se/cgi-bin/prodivtmhmm.cgi" />
    </port>
  </service>
</definitions>