<?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:net.sf.taverna:wfDefinition:ecb6243e-e4b8-4dc3-b79d-9228fcb5a334" author="" title="EBI Blast"/>
  <s:processor name="WSArrayofDataXML">
    <s:defaults>
      <s:default name="type">sequence</s:default>
      <s:default name="content">uniprot:alk1_human</s:default>
    </s:defaults>
    <s:local>
      org.embl.ebi.escience.scuflworkers.java.XMLInputSplitter
      <s:extensions>
        <s:complextype optional="false" unbounded="false" typename="data" name="" qname="{http://www.ebi.ac.uk/WSWUBlast}data">
          <s:elements>
            <s:basetype optional="false" unbounded="false" typename="string" name="type" qname="{http://www.w3.org/2001/XMLSchema}string"/>
            <s:basetype optional="false" unbounded="false" typename="string" name="content" qname="{http://www.w3.org/2001/XMLSchema}string"/>
          </s:elements>
        </s:complextype>
      </s:extensions>
    </s:local>
  </s:processor>
  <s:processor name="contentXML">
    <s:local>
      org.embl.ebi.escience.scuflworkers.java.XMLInputSplitter
      <s:extensions>
        <s:arraytype optional="false" unbounded="false" typename="WSArrayofData" name="content" qname="{http://www.ebi.ac.uk/WSWUBlast}WSArrayofData">
          <s:elementtype>
            <s:complextype optional="false" unbounded="false" typename="data" name="" qname="{http://www.ebi.ac.uk/WSWUBlast}data">
              <s:elements>
                <s:basetype optional="false" unbounded="false" typename="string" name="type" qname="{http://www.w3.org/2001/XMLSchema}string"/>
                <s:basetype optional="false" unbounded="false" typename="string" name="content" qname="{http://www.w3.org/2001/XMLSchema}string"/>
              </s:elements>
            </s:complextype>
          </s:elementtype>
        </s:arraytype>
      </s:extensions>
    </s:local>
  </s:processor>
  <s:processor name="poll">
    <s:defaults>
      <s:default name="type">tooloutput</s:default>
    </s:defaults>
    <s:arbitrarywsdl>
      <s:wsdl>http://www.ebi.ac.uk/Tools/webservices/wsdl/WSWUBlast.wsdl</s:wsdl>
      <s:operation>poll</s:operation>
    </s:arbitrarywsdl>
  </s:processor>
  <s:processor name="pollXML">
    <s:defaults>
      <s:default name="type">toolxml</s:default>
    </s:defaults>
    <s:arbitrarywsdl>
      <s:wsdl>http://www.ebi.ac.uk/Tools/webservices/wsdl/WSWUBlast.wsdl</s:wsdl>
      <s:operation>poll</s:operation>
    </s:arbitrarywsdl>
  </s:processor>
  <s:processor name="params">
    <s:defaults>
      <s:default name="program">blastp</s:default>
      <s:default name="database">uniprot</s:default>
      <s:default name="async">1</s:default>
      <s:default name="email">alabarga@ebi.ac.uk</s:default>
    </s:defaults>
    <s:local>
      org.embl.ebi.escience.scuflworkers.java.XMLInputSplitter
      <s:extensions>
        <s:complextype optional="false" unbounded="false" typename="inputParams" name="params" qname="{http://www.ebi.ac.uk/WSWUBlast}inputParams">
          <s:elements>
            <s:basetype optional="false" unbounded="false" typename="string" name="program" qname="{http://www.w3.org/2001/XMLSchema}string"/>
            <s:basetype optional="false" unbounded="false" typename="string" name="database" qname="{http://www.w3.org/2001/XMLSchema}string"/>
            <s:basetype optional="false" unbounded="false" typename="string" name="matrix" qname="{http://www.w3.org/2001/XMLSchema}string"/>
            <s:basetype optional="false" unbounded="false" typename="float" name="exp" qname="{http://www.w3.org/2001/XMLSchema}float"/>
            <s:basetype optional="false" unbounded="false" typename="boolean" name="echofilter" qname="{http://www.w3.org/2001/XMLSchema}boolean"/>
            <s:basetype optional="false" unbounded="false" typename="string" name="filter" qname="{http://www.w3.org/2001/XMLSchema}string"/>
            <s:basetype optional="false" unbounded="false" typename="int" name="numal" qname="{http://www.w3.org/2001/XMLSchema}int"/>
            <s:basetype optional="false" unbounded="false" typename="int" name="scores" qname="{http://www.w3.org/2001/XMLSchema}int"/>
            <s:basetype optional="false" unbounded="false" typename="string" name="sensitivity" qname="{http://www.w3.org/2001/XMLSchema}string"/>
            <s:basetype optional="false" unbounded="false" typename="string" name="sort" qname="{http://www.w3.org/2001/XMLSchema}string"/>
            <s:basetype optional="false" unbounded="false" typename="string" name="stats" qname="{http://www.w3.org/2001/XMLSchema}string"/>
            <s:basetype optional="false" unbounded="false" typename="string" name="strand" qname="{http://www.w3.org/2001/XMLSchema}string"/>
            <s:basetype optional="false" unbounded="false" typename="string" name="outformat" qname="{http://www.w3.org/2001/XMLSchema}string"/>
            <s:basetype optional="false" unbounded="false" typename="int" name="topcombon" qname="{http://www.w3.org/2001/XMLSchema}int"/>
            <s:basetype optional="false" unbounded="false" typename="boolean" name="async" qname="{http://www.w3.org/2001/XMLSchema}boolean"/>
            <s:basetype optional="false" unbounded="false" typename="string" name="email" qname="{http://www.w3.org/2001/XMLSchema}string"/>
          </s:elements>
        </s:complextype>
      </s:extensions>
    </s:local>
  </s:processor>
  <s:processor name="runWUBlast">
    <s:arbitrarywsdl>
      <s:wsdl>http://www.ebi.ac.uk/Tools/webservices/wsdl/WSWUBlast.wsdl</s:wsdl>
      <s:operation>runWUBlast</s:operation>
    </s:arbitrarywsdl>
  </s:processor>
  <s:processor name="Byte___to_String">
    <s:local>org.embl.ebi.escience.scuflworkers.java.ByteArrayToString</s:local>
  </s:processor>
  <s:processor name="Byte___to_String1">
    <s:local>org.embl.ebi.escience.scuflworkers.java.ByteArrayToString</s:local>
  </s:processor>
  <s:processor name="checkStatusWorkflow">
    <s:workflow maxretries="10" retrydelay="30000">
      <s:scufl version="0.2" log="0">
        <s:workflowdescription lsid="urn:lsid:net.sf.taverna:wfDefinition:8eec7ed7-d494-4842-b35c-b6792ed19f32" author="" title="checkCompletion"/>
        <s:processor name="checkStatus">
          <s:arbitrarywsdl>
            <s:wsdl>http://www.ebi.ac.uk/Tools/webservices/wsdl/WSWUBlast.wsdl</s:wsdl>
            <s:operation>checkStatus</s:operation>
          </s:arbitrarywsdl>
        </s:processor>
        <s:processor name="Fail_if_false">
          <s:local critical="true">org.embl.ebi.escience.scuflworkers.java.FailIfFalse</s:local>
        </s:processor>
        <s:processor name="isDone">
          <s:beanshell>
            <s:scriptvalue>if (status.equals("DONE")){
				finished = "true";
			} else {
				finished = "false";
			}</s:scriptvalue>
            <s:beanshellinputlist>
              <s:beanshellinput s:syntactictype="'text/plain'">status</s:beanshellinput>
            </s:beanshellinputlist>
            <s:beanshelloutputlist>
              <s:beanshelloutput s:syntactictype="'text/plain'">finished</s:beanshelloutput>
            </s:beanshelloutputlist>
          </s:beanshell>
        </s:processor>
        <s:link source="job" sink="checkStatus:jobid"/>
        <s:link source="checkStatus:status" sink="isDone:status"/>
        <s:link source="isDone:finished" sink="Fail_if_false:test"/>
        <s:link source="checkStatus:status" sink="status"/>
        <s:source name="job"/>
        <s:sink name="status"/>
      </s:scufl>
    </s:workflow>
  </s:processor>
  <s:link source="WSArrayofDataXML:output" sink="contentXML:WSArrayofData"/>
  <s:link source="contentXML:output" sink="runWUBlast:content"/>
  <s:link source="params:output" sink="runWUBlast:params"/>
  <s:link source="poll:result" sink="Byte___to_String:bytes"/>
  <s:link source="runWUBlast:jobid" sink="checkStatusWorkflow:job"/>
  <s:link source="runWUBlast:jobid" sink="poll:jobid"/>
  <s:link source="sequence" sink="WSArrayofDataXML:content"/>
  <s:link source="pollXML:result" sink="Byte___to_String1:bytes"/>
  <s:link source="Byte___to_String1:string" sink="xml result"/>
  <s:link source="Byte___to_String:string" sink="txt result"/>
  <s:link source="checkStatusWorkflow:status" sink="status"/>
  <s:link source="runWUBlast:jobid" sink="jobid"/>
  <s:link source="runWUBlast:jobid" sink="pollXML:jobid"/>
  <s:source name="sequence"/>
  <s:sink name="jobid"/>
  <s:sink name="status"/>
  <s:sink name="txt result">
    <s:metadata>
      <s:mimeTypes>
        <s:mimeType>application/octet-stream</s:mimeType>
      </s:mimeTypes>
    </s:metadata>
  </s:sink>
  <s:sink name="xml result"/>
  <s:coordination name="poll_BLOCKON_checkStatusWorkflow">
    <s:condition>
      <s:state>Completed</s:state>
      <s:target>checkStatusWorkflow</s:target>
    </s:condition>
    <s:action>
      <s:target>poll</s:target>
      <s:statechange>
        <s:from>Scheduled</s:from>
        <s:to>Running</s:to>
      </s:statechange>
    </s:action>
  </s:coordination>
  <s:coordination name="pollXML_BLOCKON_checkStatusWorkflow">
    <s:condition>
      <s:state>Completed</s:state>
      <s:target>checkStatusWorkflow</s:target>
    </s:condition>
    <s:action>
      <s:target>pollXML</s:target>
      <s:statechange>
        <s:from>Scheduled</s:from>
        <s:to>Running</s:to>
      </s:statechange>
    </s:action>
  </s:coordination>
</s:scufl>