<?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:VQMXAF7RAE6" author="" title="" />
  <s:processor name="ProbeSetId" boring="true">
    <s:stringconstant>1001_at</s:stringconstant>
  </s:processor>
  <s:processor name="DatabaseId1" boring="true">
    <s:stringconstant>GO</s:stringconstant>
  </s:processor>
  <s:processor name="DatabaseId2" boring="true">
    <s:stringconstant>MEDLINE</s:stringconstant>
  </s:processor>
  <s:processor name="GetMeldineIds">
    <s:arbitrarywsdl>
      <s:wsdl>http://mygrid.ncl.ac.uk/axis/services/SrsEbiQuery?wsdl</s:wsdl>
      <s:operation>queryByXRef</s:operation>
    </s:arbitrarywsdl>
  </s:processor>
  <s:processor name="GetSwissprotRecord">
    <s:arbitrarywsdl>
      <s:wsdl>http://mygrid.ncl.ac.uk/axis/services/SrsEbiQuery?wsdl</s:wsdl>
      <s:operation>queryById</s:operation>
    </s:arbitrarywsdl>
  </s:processor>
  <s:processor name="getDotFromViz">
    <s:arbitrarywsdl>
      <s:wsdl>http://www.ebi.ac.uk/collab/mygrid/service1/goviz/GoViz.jws?wsdl</s:wsdl>
      <s:operation>getDot</s:operation>
    </s:arbitrarywsdl>
  </s:processor>
  <s:processor name="destroyVizSession">
    <s:arbitrarywsdl>
      <s:wsdl>http://www.ebi.ac.uk/collab/mygrid/service1/goviz/GoViz.jws?wsdl</s:wsdl>
      <s:operation>destroySession</s:operation>
    </s:arbitrarywsdl>
  </s:processor>
  <s:processor name="GetEmblAccNumber">
    <s:arbitrarywsdl>
      <s:wsdl>http://mygrid.ncl.ac.uk/axis/services/affymapper?wsdl</s:wsdl>
      <s:operation>getAccessionNumber</s:operation>
    </s:arbitrarywsdl>
  </s:processor>
  <s:processor name="createVizSession">
    <s:arbitrarywsdl>
      <s:wsdl>http://www.ebi.ac.uk/collab/mygrid/service1/goviz/GoViz.jws?wsdl</s:wsdl>
      <s:operation>createSession</s:operation>
    </s:arbitrarywsdl>
  </s:processor>
  <s:processor name="GetSwissprotId">
    <s:arbitrarywsdl>
      <s:wsdl>http://mygrid.ncl.ac.uk/axis/services/affymapper?wsdl</s:wsdl>
      <s:operation>getSwissProtId</s:operation>
    </s:arbitrarywsdl>
  </s:processor>
  <s:processor name="addTermToViz">
    <s:arbitrarywsdl>
      <s:wsdl>http://www.ebi.ac.uk/collab/mygrid/service1/goviz/GoViz.jws?wsdl</s:wsdl>
      <s:operation>addTerm</s:operation>
    </s:arbitrarywsdl>
  </s:processor>
  <s:processor name="getGoIds">
    <s:arbitrarywsdl>
      <s:wsdl>http://mygrid.ncl.ac.uk/axis/services/SrsEbiQuery?wsdl</s:wsdl>
      <s:operation>queryByXRef</s:operation>
    </s:arbitrarywsdl>
  </s:processor>
  <s:link source="DatabaseId1:value" sink="getGoIds:XRefDatabankId" />
  <s:link source="DatabaseId2:value" sink="GetMeldineIds:XRefDatabankId" />
  <s:link source="GetEmblAccNumber:getAccessionNumberReturn" sink="GetMeldineIds:usa" />
  <s:link source="GetSwissprotId:getSwissProtIdReturn" sink="GetSwissprotRecord:usa" />
  <s:link source="GetMeldineIds:queryByXRefReturn" sink="medline" />
  <s:link source="GetSwissprotId:getSwissProtIdReturn" sink="getGoIds:usa" />
  <s:link source="GetSwissprotRecord:queryByIdReturn" sink="swissprot" />
  <s:link source="ProbeSetId:value" sink="GetEmblAccNumber:probeSetId" />
  <s:link source="ProbeSetId:value" sink="GetSwissprotId:probeSetId" />
  <s:link source="createVizSession:createSessionReturn" sink="addTermToViz:sessionID" />
  <s:link source="createVizSession:createSessionReturn" sink="destroyVizSession:sessionID" />
  <s:link source="createVizSession:createSessionReturn" sink="getDotFromViz:sessionID" />
  <s:link source="getGoIds:queryByXRefReturn" sink="addTermToViz:geneOntologyID" />
  <s:link source="getDotFromViz:getDotReturn" sink="goDiagram" />
  <s:link source="getGoIds:queryByXRefReturn" sink="GoIds" />
  <s:sink name="GoIds" />
  <s:sink name="goDiagram">
    <s:metadata>
      <s:mimeTypes>
        <s:mimeType>text/x-graphviz</s:mimeType>
      </s:mimeTypes>
    </s:metadata>
  </s:sink>
  <s:sink name="medline" />
  <s:sink name="swissprot" />
  <s:coordination name="getDotFromViz_BLOCKON_addTermToViz">
    <s:condition>
      <s:state>Completed</s:state>
      <s:target>addTermToViz</s:target>
    </s:condition>
    <s:action>
      <s:target>getDotFromViz</s:target>
      <s:statechange>
        <s:from>Scheduled</s:from>
        <s:to>Running</s:to>
      </s:statechange>
    </s:action>
  </s:coordination>
  <s:coordination name="destroyVizSession_BLOCKON_getDotFromViz">
    <s:condition>
      <s:state>Completed</s:state>
      <s:target>getDotFromViz</s:target>
    </s:condition>
    <s:action>
      <s:target>destroyVizSession</s:target>
      <s:statechange>
        <s:from>Scheduled</s:from>
        <s:to>Running</s:to>
      </s:statechange>
    </s:action>
  </s:coordination>
</s:scufl>


