<?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:C39NZJ60IB2" author="" title="" />
  <s:processor name="Decode_base64_to_byte">
    <s:local>org.embl.ebi.escience.scuflworkers.java.DecodeBase64</s:local>
  </s:processor>
  <s:processor name="Flatten_l_l____to_l">
    <s:local>org.embl.ebi.escience.scuflworkers.java.FlattenList</s:local>
  </s:processor>
  <s:processor name="Flatten_l_l____to_l1">
    <s:local>org.embl.ebi.escience.scuflworkers.java.FlattenList</s:local>
  </s:processor>
  <s:processor name="getUniprotIdentifierByGeneName" workers="10">
    <s:description>This service takes in a gene name, as an identifier, and returns a collection of possible UNIPROT identifiers that may (or may not) describe that gene.

This service utilizes the bfind (KEGG) to get hits.</s:description>
    <s:biomobywsdl>
      <s:mobyEndpoint>http://moby.ucalgary.ca/moby/MOBY-Central.pl</s:mobyEndpoint>
      <s:serviceName>getUniprotIdentifierByGeneName</s:serviceName>
      <s:authorityName>bioinfo.icapture.ubc.ca</s:authorityName>
      <s:Parameter s:name="genome">human</s:Parameter>
    </s:biomobywsdl>
  </s:processor>
  <s:processor name="getKeggPathwaysByKeggID" workers="10">
    <s:description>This service, given a KEGG identifier, attempts to retrieve KEGG pathways that that contain this ID.

For example, passing in:
hsa:6402

results in the following pathway returned: hsa04514.</s:description>
    <s:biomobywsdl>
      <s:mobyEndpoint>http://moby.ucalgary.ca/moby/MOBY-Central.pl</s:mobyEndpoint>
      <s:serviceName>getKeggPathwaysByKeggID</s:serviceName>
      <s:authorityName>bioinfo.icapture.ubc.ca</s:authorityName>
    </s:biomobywsdl>
  </s:processor>
  <s:processor name="getKeggPathwayAsGif" workers="10">
    <s:description>This service, given a KEGG pathway, returns a Gif image of the pathway if it exists.
For example, the &lt;Object, KEGG_PATHWAY, 'hsa00053')
returns a diagram of the pathway 'ASCORBATE AND ALDRATE METABOLISM'.</s:description>
    <s:biomobywsdl>
      <s:mobyEndpoint>http://moby.ucalgary.ca/moby/MOBY-Central.pl</s:mobyEndpoint>
      <s:serviceName>getKeggPathwayAsGif</s:serviceName>
      <s:authorityName>bioinfo.icapture.ubc.ca</s:authorityName>
    </s:biomobywsdl>
  </s:processor>
  <s:processor name="convertIdentifier2KeggID" workers="10">
    <s:description>This service consumes an identifier from the following namespaces: NCBI_gi, GenBank, UniProt, UniGene, PMID or OMIM and returns a KEGG identifier that represents the KEGG id mapped to the input identifier.

An example input would be (in &lt;Object, ns, id&gt; triple format, 
&lt;Object, omim, 153240&gt;</s:description>
    <s:biomobywsdl>
      <s:mobyEndpoint>http://moby.ucalgary.ca/moby/MOBY-Central.pl</s:mobyEndpoint>
      <s:serviceName>convertIdentifier2KeggID</s:serviceName>
      <s:authorityName>bioinfo.icapture.ubc.ca</s:authorityName>
    </s:biomobywsdl>
  </s:processor>
  <s:processor name="Object">
    <s:description>an object</s:description>
    <s:biomobyobject>
      <s:mobyEndpoint>http://moby.ucalgary.ca/moby/MOBY-Central.pl</s:mobyEndpoint>
      <s:serviceName>Object</s:serviceName>
      <s:authorityName />
    </s:biomobyobject>
  </s:processor>
  <s:processor name="Parse_Moby_Data_b64_encoded_gif">
    <s:description>Processor to parse the datatype b64_encoded_gif</s:description>
    <s:biomobyparser>
      <s:endpoint>http://moby.ucalgary.ca/moby/MOBY-Central.pl</s:endpoint>
      <s:datatype>b64_encoded_gif</s:datatype>
      <s:articleName>image</s:articleName>
      <s:description>Processor to parse the datatype b64_encoded_gif</s:description>
    </s:biomobyparser>
  </s:processor>
  <s:link source="Flatten_l_l____to_l1:outputlist" sink="Parse_Moby_Data_b64_encoded_gif:mobyData('b64_encoded_gif')" />
  <s:link source="Flatten_l_l____to_l:outputlist" sink="Flatten_l_l____to_l1:inputlist" />
  <s:link source="Object:mobyData" sink="getUniprotIdentifierByGeneName:Object(geneName)" />
  <s:link source="Parse_Moby_Data_b64_encoded_gif:image_'content'" sink="Decode_base64_to_byte:base64" />
  <s:link source="convertIdentifier2KeggID:Object(keggID)" sink="getKeggPathwaysByKeggID:Object(keggID)" />
  <s:link source="gene" sink="Object:id" />
  <s:link source="Decode_base64_to_byte:bytes" sink="images" />
  <s:link source="getKeggPathwayAsGif:b64_encoded_gif(image)" sink="Flatten_l_l____to_l:inputlist" />
  <s:link source="getKeggPathwaysByKeggID:Object(Collection - 'pathways' As Simples)" sink="getKeggPathwayAsGif:Object(pathway)" />
  <s:link source="getUniprotIdentifierByGeneName:Object(Collection - 'ids' As Simples)" sink="convertIdentifier2KeggID:Object(identifier)" />
  <s:source name="gene" />
  <s:sink name="images">
    <s:metadata>
      <s:mimeTypes>
        <s:mimeType>image/*</s:mimeType>
      </s:mimeTypes>
    </s:metadata>
  </s:sink>
</s:scufl>


