<?xml version="1.0" ?>
<?xml:stylesheet type="text/xsl" href="http://twiki.mygrid.info/twiki/pub/Mygrid/WorkflowResources/sumwsfl.xsl"?>
<!--
  Copyright 2003 The Victoria University of Manchester
  Copyright 2003 University of Southampton IT Innovation Centre

  This file is part of myGrid.	Further information, and the
  latest version, can be found at http://www.mygrid.info

  myGrid is free software; you can redistribute it and/or modify
  it under the terms of the GNU Lesser General Public License as
  published by the Free Software Foundation; either version 2.1
  of the License, or (at your option) any later version.

  myGrid is distributed in the hope that it will be useful, but
  WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
  GNU Lesser General Public License for more details.

  You should have received a copy of the GNU Lesser General Public
  License along with myGrid; if not, write to the Free Software
  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307	USA

  Created By:	       Mark Greenwood
  Created Date:        2003/02/27

  Dependencies:

  Last commit info:   To be completed

-->
<!-- 4.4.2002 Biofetch
     20.9.2002 renamed bioSprocess - attempt to be clearer, revised for 0.1 and EBI apache services
     27.02.2003 added standard copyright comment and  name
 -->

<flowModel name="bioSprocess" serviceProviderType="http://www.aboutmygrid.org/ontology#MEDLINE_citation string[]" logProvenance="false">

<serviceProvider name="BioFetch" type="NucleotideSequenceFetcher">
    <locator type="static" service="http://www.ebi.ac.uk/collab/mygrid/service0/axis/services/urn:emblfetch?wsdl"/>
</serviceProvider>

<serviceProvider name="ExtractMedRefs" type="SwissProtProcessorService">
    <locator type="static" service="http://www.ebi.ac.uk/collab/mygrid/service0/axis/services/urn:swissprotprocessor?wsdl"/>
</serviceProvider>

<activity name="FetchNucleotideSeq">
   <performedBy serviceProvider="BioFetch"/>
   <implement>
      <export>
	  <target portType="EmblFetch" operation="getEntry"/>
      </export>
   </implement>
</activity>

<activity name="ProcessSwissprot">
   <performedBy serviceProvider="ExtractMedRefs"/>
   <implement>
      <export>
	  <target portType="SwissProtProcessor" operation="getMedlineIds"/>
      </export>
   </implement>
</activity>

<dataLink source="flowSource" target="FetchNucleotideSeq">
    <map sourceMessage="null" targetMessage="getEntryRequest">
	<partMap source="database" target="database_id"/>
	<partMap source="id" target="entry_id"/>
	<partMap source="formatType" target="format"/>
    </map>
</dataLink>

<dataLink source="FetchNucleotideSeq" target="ProcessSwissprot">
    <map sourceMessage="getEntryReply" targetMessage="getMedlineIdsRequest">
	<partMap source="return" target="swissprot"/>
    </map>
</dataLink>

<dataLink source="ProcessSwissprot" target="flowSink">
    <map sourceMessage="getMedlineIdsResponse" targetMessage="null">
	<partMap source="return" target="WFResult"/>
    </map> 
</dataLink>

</flowModel>
