<?xml version="1.0" encoding="UTF-8"?>
<s:scufl xmlns:s="http://org.embl.ebi.escience/xscufl/0.1alpha" version="0.2" log="0">
  <s:workflowdescription lsid="urn:lsid:www.mygrid.org.uk:operation:E1YS1AUBYF11" author="Duncan Hull" title="All Shims">Shows four major classes of shim service in one workflow, Dereferencer ("GetFASTA_shim" and "GetGenBankXML_shim"), Mapper ("SRS_Links_shim"), Part Extractor ("Extract_SWISS_shim") and Syntax translator ("SeqRet_shim")</s:workflowdescription>
  <s:processor name="XPath" boring="true">
    <s:stringconstant>/GBSet/GBSeq/GBSeq_locus</s:stringconstant>
  </s:processor>
  <s:processor name="GetGenBankXML_shim">
    <s:local>net.sourceforge.taverna.scuflworkers.ncbi.NucleotideGBSeqWorker</s:local>
  </s:processor>
  <s:processor name="xref" boring="true">
    <s:stringconstant>embl</s:stringconstant>
  </s:processor>
  <s:processor name="inForm" boring="true">
    <s:stringconstant>fasta</s:stringconstant>
  </s:processor>
  <s:processor name="outForm" boring="true">
    <s:stringconstant>embl</s:stringconstant>
  </s:processor>
  <s:processor name="field" boring="true">
    <s:stringconstant>AllText</s:stringconstant>
  </s:processor>
  <s:processor name="databank" boring="true">
    <s:stringconstant>uniprot</s:stringconstant>
  </s:processor>
  <s:processor name="Extract_SWISS_shim">
    <s:local>net.sourceforge.taverna.scuflworkers.xml.XPathTextWorker</s:local>
  </s:processor>
  <s:processor name="GetFASTA_shim">
    <s:defaults>
      <s:default name="id" />
    </s:defaults>
    <s:local>net.sourceforge.taverna.scuflworkers.ncbi.NucleotideFastaWorker</s:local>
  </s:processor>
  <s:processor name="GI_number" boring="true">
    <s:stringconstant>51315800</s:stringconstant>
  </s:processor>
  <s:processor name="SRS_links_shim">
    <s:description>For cross-referencing between databanks</s:description>
    <s:soaplabwsdl>http://phoebus.cs.man.ac.uk:1977/axis/services/linking.srslinks</s:soaplabwsdl>
  </s:processor>
  <s:processor name="SeqRet_shim">
    <s:description>Reads and writes (returns) sequences</s:description>
    <s:defaults>
      <s:default name="sequence_direct_data" />
    </s:defaults>
    <s:soaplabwsdl>http://www.ebi.ac.uk/soaplab/services/edit.seqret</s:soaplabwsdl>
  </s:processor>
  <s:processor name="Extract_DOI_shim">
    <s:local>net.sourceforge.taverna.scuflworkers.xml.XPathTextWorker</s:local>
  </s:processor>
  <s:processor name="XPath2" boring="true">
    <s:stringconstant>/GBSet/GBSeq/GBSeq_references/GBReference/GBReference_xref/GBXref/GBXref_id</s:stringconstant>
  </s:processor>
  <s:processor name="eSearch">
    <s:arbitrarywsdl>
      <s:wsdl>http://www.ncbi.nlm.nih.gov/entrez/eutils/soap/eutils.wsdl</s:wsdl>
      <s:operation>run_eSearch</s:operation>
    </s:arbitrarywsdl>
  </s:processor>
  <s:processor name="input_merger_shim">
    <s:local>
      org.embl.ebi.escience.scuflworkers.java.XMLInputSplitter
      <s:extensions>
        <s:complextype optional="false" unbounded="false" typename="eSearchRequest" name="parameters" qname="{http://www.ncbi.nlm.nih.gov/soap/eutils/esearch}eSearchRequest">
          <s:elements>
            <s:basetype optional="true" unbounded="false" typename="string" name="db" qname="{http://www.w3.org/2001/XMLSchema}string" />
            <s:basetype optional="true" unbounded="false" typename="string" name="term" qname="{http://www.w3.org/2001/XMLSchema}string" />
            <s:basetype optional="true" unbounded="false" typename="string" name="WebEnv" qname="{http://www.w3.org/2001/XMLSchema}string" />
            <s:basetype optional="true" unbounded="false" typename="string" name="QueryKey" qname="{http://www.w3.org/2001/XMLSchema}string" />
            <s:basetype optional="true" unbounded="false" typename="string" name="usehistory" qname="{http://www.w3.org/2001/XMLSchema}string" />
            <s:basetype optional="true" unbounded="false" typename="string" name="tool" qname="{http://www.w3.org/2001/XMLSchema}string" />
            <s:basetype optional="true" unbounded="false" typename="string" name="email" qname="{http://www.w3.org/2001/XMLSchema}string" />
            <s:basetype optional="true" unbounded="false" typename="string" name="field" qname="{http://www.w3.org/2001/XMLSchema}string" />
            <s:basetype optional="true" unbounded="false" typename="string" name="reldate" qname="{http://www.w3.org/2001/XMLSchema}string" />
            <s:basetype optional="true" unbounded="false" typename="string" name="mindate" qname="{http://www.w3.org/2001/XMLSchema}string" />
            <s:basetype optional="true" unbounded="false" typename="string" name="maxdate" qname="{http://www.w3.org/2001/XMLSchema}string" />
            <s:basetype optional="true" unbounded="false" typename="string" name="datetype" qname="{http://www.w3.org/2001/XMLSchema}string" />
            <s:basetype optional="true" unbounded="false" typename="string" name="RetStart" qname="{http://www.w3.org/2001/XMLSchema}string" />
            <s:basetype optional="true" unbounded="false" typename="string" name="RetMax" qname="{http://www.w3.org/2001/XMLSchema}string" />
            <s:basetype optional="true" unbounded="false" typename="string" name="rettype" qname="{http://www.w3.org/2001/XMLSchema}string" />
            <s:basetype optional="true" unbounded="false" typename="string" name="sort" qname="{http://www.w3.org/2001/XMLSchema}string" />
          </s:elements>
        </s:complextype>
      </s:extensions>
    </s:local>
  </s:processor>
  <s:processor name="output_splitter_shim">
    <s:local>
      org.embl.ebi.escience.scuflworkers.java.XMLOutputSplitter
      <s:extensions>
        <s:complextype optional="false" unbounded="false" typename="eSearchResult" name="parameters" qname="{http://www.ncbi.nlm.nih.gov/soap/eutils/esearch}eSearchResult">
          <s:elements>
            <s:basetype optional="true" unbounded="false" typename="string" name="ERROR" qname="{http://www.w3.org/2001/XMLSchema}string" />
            <s:basetype optional="true" unbounded="false" typename="string" name="Count" qname="{http://www.w3.org/2001/XMLSchema}string" />
            <s:basetype optional="true" unbounded="false" typename="string" name="RetMax" qname="{http://www.w3.org/2001/XMLSchema}string" />
            <s:basetype optional="true" unbounded="false" typename="string" name="RetStart" qname="{http://www.w3.org/2001/XMLSchema}string" />
            <s:basetype optional="true" unbounded="false" typename="string" name="QueryKey" qname="{http://www.w3.org/2001/XMLSchema}string" />
            <s:basetype optional="true" unbounded="false" typename="string" name="WebEnv" qname="{http://www.w3.org/2001/XMLSchema}string" />
            <s:arraytype optional="true" unbounded="false" wrapped="true" typename="IdListType" name="IdList" qname="{http://www.ncbi.nlm.nih.gov/soap/eutils/esearch}IdListType">
              <s:elementtype>
                <s:basetype optional="false" unbounded="false" typename="string" name="" qname="{http://www.w3.org/2001/XMLSchema}string" />
              </s:elementtype>
            </s:arraytype>
            <s:arraytype optional="true" unbounded="false" wrapped="true" typename="TranslationSetType" name="TranslationSet" qname="{http://www.ncbi.nlm.nih.gov/soap/eutils/esearch}TranslationSetType">
              <s:elementtype>
                <s:complextype optional="false" unbounded="false" typename="TranslationType" name="" qname="{http://www.ncbi.nlm.nih.gov/soap/eutils/esearch}TranslationType">
                  <s:elements>
                    <s:basetype optional="false" unbounded="false" typename="string" name="From" qname="{http://www.w3.org/2001/XMLSchema}string" />
                    <s:basetype optional="false" unbounded="false" typename="string" name="To" qname="{http://www.w3.org/2001/XMLSchema}string" />
                  </s:elements>
                </s:complextype>
              </s:elementtype>
            </s:arraytype>
            <s:complextype optional="true" unbounded="false" typename="TranslationStackType" name="TranslationStack" qname="{http://www.ncbi.nlm.nih.gov/soap/eutils/esearch}TranslationStackType">
              <s:elements>
                <s:complextype optional="true" unbounded="false" typename="TermSetType" name="TermSet" qname="{http://www.ncbi.nlm.nih.gov/soap/eutils/esearch}TermSetType">
                  <s:elements>
                    <s:basetype optional="false" unbounded="false" typename="string" name="Term" qname="{http://www.w3.org/2001/XMLSchema}string" />
                    <s:basetype optional="false" unbounded="false" typename="string" name="Field" qname="{http://www.w3.org/2001/XMLSchema}string" />
                    <s:basetype optional="false" unbounded="false" typename="string" name="Count" qname="{http://www.w3.org/2001/XMLSchema}string" />
                    <s:basetype optional="false" unbounded="false" typename="string" name="Explode" qname="{http://www.w3.org/2001/XMLSchema}string" />
                  </s:elements>
                </s:complextype>
                <s:basetype optional="true" unbounded="false" typename="string" name="OP" qname="{http://www.w3.org/2001/XMLSchema}string" />
              </s:elements>
            </s:complextype>
            <s:basetype optional="true" unbounded="false" typename="string" name="QueryTranslation" qname="{http://www.w3.org/2001/XMLSchema}string" />
            <s:complextype optional="true" unbounded="false" typename="ErrorListType" name="ErrorList" qname="{http://www.ncbi.nlm.nih.gov/soap/eutils/esearch}ErrorListType">
              <s:elements>
                <s:arraytype optional="true" unbounded="true" wrapped="true" typename="PhraseNotFound" name="PhraseNotFound" qname="{http://www.ncbi.nlm.nih.gov/soap/eutils/esearch}PhraseNotFound[0,unbounded]">
                  <s:elementtype>
                    <s:basetype optional="false" unbounded="false" typename="string" name="" qname="{http://www.w3.org/2001/XMLSchema}string" />
                  </s:elementtype>
                </s:arraytype>
                <s:arraytype optional="true" unbounded="true" wrapped="true" typename="FieldNotFound" name="FieldNotFound" qname="{http://www.ncbi.nlm.nih.gov/soap/eutils/esearch}FieldNotFound[0,unbounded]">
                  <s:elementtype>
                    <s:basetype optional="false" unbounded="false" typename="string" name="" qname="{http://www.w3.org/2001/XMLSchema}string" />
                  </s:elementtype>
                </s:arraytype>
              </s:elements>
            </s:complextype>
            <s:complextype optional="true" unbounded="false" typename="WarningListType" name="WarningList" qname="{http://www.ncbi.nlm.nih.gov/soap/eutils/esearch}WarningListType">
              <s:elements>
                <s:arraytype optional="true" unbounded="true" wrapped="true" typename="PhraseIgnored" name="PhraseIgnored" qname="{http://www.ncbi.nlm.nih.gov/soap/eutils/esearch}PhraseIgnored[0,unbounded]">
                  <s:elementtype>
                    <s:basetype optional="false" unbounded="false" typename="string" name="" qname="{http://www.w3.org/2001/XMLSchema}string" />
                  </s:elementtype>
                </s:arraytype>
                <s:arraytype optional="true" unbounded="true" wrapped="true" typename="QuotedPhraseNotFound" name="QuotedPhraseNotFound" qname="{http://www.ncbi.nlm.nih.gov/soap/eutils/esearch}QuotedPhraseNotFound[0,unbounded]">
                  <s:elementtype>
                    <s:basetype optional="false" unbounded="false" typename="string" name="" qname="{http://www.w3.org/2001/XMLSchema}string" />
                  </s:elementtype>
                </s:arraytype>
                <s:arraytype optional="true" unbounded="true" wrapped="true" typename="OutputMessage" name="OutputMessage" qname="{http://www.ncbi.nlm.nih.gov/soap/eutils/esearch}OutputMessage[0,unbounded]">
                  <s:elementtype>
                    <s:basetype optional="false" unbounded="false" typename="string" name="" qname="{http://www.w3.org/2001/XMLSchema}string" />
                  </s:elementtype>
                </s:arraytype>
              </s:elements>
            </s:complextype>
          </s:elements>
        </s:complextype>
      </s:extensions>
    </s:local>
  </s:processor>
  <s:processor name="dbase" boring="true">
    <s:stringconstant>PubMed</s:stringconstant>
  </s:processor>
  <s:link source="Extract_DOI_shim:nodelist" sink="input_merger_shim:term" />
  <s:link source="Extract_SWISS_shim:nodelist" sink="SRS_links_shim:searchterm" />
  <s:link source="GI_number:value" sink="GetFASTA_shim:id" />
  <s:link source="GI_number:value" sink="GetGenBankXML_shim:id" />
  <s:link source="GetFASTA_shim:outputText" sink="SeqRet_shim:sequence_direct_data" />
  <s:link source="GetGenBankXML_shim:outputText" sink="Extract_DOI_shim:xml-text" />
  <s:link source="GetGenBankXML_shim:outputText" sink="Extract_SWISS_shim:xml-text" />
  <s:link source="XPath2:value" sink="Extract_DOI_shim:xpath" />
  <s:link source="dbase:value" sink="input_merger_shim:db" />
  <s:link source="eSearch:parameters" sink="output_splitter_shim:input" />
  <s:link source="field:value" sink="SRS_links_shim:fieldname" />
  <s:link source="inForm:value" sink="SeqRet_shim:sformat" />
  <s:link source="input_merger_shim:output" sink="eSearch:parameters" />
  <s:link source="GetGenBankXML_shim:outputText" sink="RawXML" />
  <s:link source="SRS_links_shim:report" sink="Report" />
  <s:link source="SRS_links_shim:result" sink="EMBL" />
  <s:link source="XPath:value" sink="Extract_SWISS_shim:xpath" />
  <s:link source="databank:value" sink="SRS_links_shim:databank" />
  <s:link source="outForm:value" sink="SeqRet_shim:osformat" />
  <s:link source="output_splitter_shim:IdList" sink="PMID" />
  <s:link source="xref:value" sink="SRS_links_shim:xrefDatabank" />
  <s:link source="SeqRet_shim:outseq" sink="ResultSeqRet" />
  <s:sink name="ResultSeqRet" />
  <s:sink name="RawXML" />
  <s:sink name="EMBL" />
  <s:sink name="Report" />
  <s:sink name="PMID" />
</s:scufl>


