<workflow xmlns="http://taverna.sf.net/2008/xml/t2flow" version="1" producedBy="taverna-2.1.0"><dataflow id="443c2482-5f01-4ec2-a18f-99bb033ad81d" role="top"><name>Workflow37</name><inputPorts><port><name>AGI_identifier</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>result</name><annotations /></port></outputPorts><processors><processor><name>Object</name><inputPorts><port><name>id</name><depth>0</depth></port></inputPorts><outputPorts><port><name>mobyData</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>biomoby-activity</artifact><version>1.0</version></raven><class>net.sf.taverna.t2.activities.biomoby.BiomobyObjectActivity</class><inputMap><map from="id" to="id" /></inputMap><outputMap><map from="mobyData" to="mobyData" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.biomoby.BiomobyObjectActivityConfigurationBean xmlns="">
  <mobyEndpoint>http://moby.ucalgary.ca/moby/MOBY-Central.pl</mobyEndpoint>
  <serviceName>Object</serviceName>
  <authorityName>openinformatics.com</authorityName>
</net.sf.taverna.t2.activities.biomoby.BiomobyObjectActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.0</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">
  <maxJobs>1</maxJobs>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.0</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.0</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.0</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">
  <backoffFactor>1.0</backoffFactor>
  <initialDelay>1000</initialDelay>
  <maxDelay>5000</maxDelay>
  <maxRetries>0</maxRetries>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.0</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="id" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>concatenate_results</name><inputPorts><port><name>sourceNameList</name><depth>2</depth></port><port><name>targetNameList</name><depth>2</depth></port><port><name>targetDescrList</name><depth>2</depth></port><port><name>targetStrainList</name><depth>2</depth></port><port><name>targetTaxonList</name><depth>2</depth></port><port><name>targetURLList</name><depth>2</depth></port></inputPorts><outputPorts><port><name>output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.0</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="targetStrainList" to="targetStrainList" /><map from="targetTaxonList" to="targetTaxonList" /><map from="sourceNameList" to="sourceNameList" /><map from="targetNameList" to="targetNameList" /><map from="targetDescrList" to="targetDescrList" /><map from="targetURLList" to="targetURLList" /></inputMap><outputMap><map from="output" to="output" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">
  <script>output = sourceNameList.size() + " elements found.\n";

for (int i = 0; i &lt; sourceNameList.size(); ++i) {
	output += (i+1) + ". Element: " + sourceNameList.get(i).get(0) + "\n";
	output += "\torthologueName         : " + targetNameList.get(i).get(0) + "\n";
	if (targetTaxonList.get(i) != null &amp;&amp; targetTaxonList.get(i).size() &gt; 0) {
		output += "\torthologueTaxon        : " + targetTaxonList.get(i).get(0) + "\n";
	} else {
		output += "\torthologueTaxon        : \n";
	}
	if (targetStrainList.get(i) != null &amp;&amp; targetStrainList.get(i).size() &gt; 0) {
		output += "\torthologueStrain       : " + targetStrainList.get(i).get(0) + "\n";
	} else {
		output += "\torthologueStrain       : \n";
	}
	if (targetDescrList.get(i) != null &amp;&amp; targetDescrList.get(i).size() &gt; 0) {
		output += "\torthologueDescription  : " + targetDescrList.get(i).get(0) + "\n";
	} else {
		output += "\torthologueDescription  : \n";
	}
	if (targetURLList.get(i) != null &amp;&amp; targetURLList.get(i).size() &gt; 0) {
		output += "\torthologueAccessPageURL: " + targetURLList.get(i).get(0) + "\n";
	} else {
		output += "\torthologueAccessPageURL: \n";
	}
}
</script>
  <dependencies />
  <classLoaderSharing>workflow</classLoaderSharing>
  <localDependencies />
  <artifactDependencies />
  <inputs>
    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
      <handledReferenceSchemes />
      <translatedElementType>java.lang.String</translatedElementType>
      <allowsLiteralValues>true</allowsLiteralValues>
      <name>sourceNameList</name>
      <depth>2</depth>
      <mimeTypes>
        <string>text/plain</string>
      </mimeTypes>
    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
      <handledReferenceSchemes />
      <translatedElementType>java.lang.String</translatedElementType>
      <allowsLiteralValues>true</allowsLiteralValues>
      <name>targetNameList</name>
      <depth>2</depth>
      <mimeTypes>
        <string>text/plain</string>
      </mimeTypes>
    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
      <handledReferenceSchemes />
      <translatedElementType>java.lang.String</translatedElementType>
      <allowsLiteralValues>true</allowsLiteralValues>
      <name>targetTaxonList</name>
      <depth>2</depth>
      <mimeTypes>
        <string>text/plain</string>
      </mimeTypes>
    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
      <handledReferenceSchemes />
      <translatedElementType>java.lang.String</translatedElementType>
      <allowsLiteralValues>true</allowsLiteralValues>
      <name>targetStrainList</name>
      <depth>2</depth>
      <mimeTypes>
        <string>text/plain</string>
      </mimeTypes>
    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
      <handledReferenceSchemes />
      <translatedElementType>java.lang.String</translatedElementType>
      <allowsLiteralValues>true</allowsLiteralValues>
      <name>targetDescrList</name>
      <depth>2</depth>
      <mimeTypes>
        <string>text/plain</string>
      </mimeTypes>
    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
      <handledReferenceSchemes />
      <translatedElementType>java.lang.String</translatedElementType>
      <allowsLiteralValues>true</allowsLiteralValues>
      <name>targetURLList</name>
      <depth>2</depth>
      <mimeTypes>
        <string>text/plain</string>
      </mimeTypes>
    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
  </inputs>
  <outputs>
    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
      <granularDepth>0</granularDepth>
      <name>output</name>
      <depth>0</depth>
      <mimeTypes />
    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
  </outputs>
</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.0</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">
  <maxJobs>1</maxJobs>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.0</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.0</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.0</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">
  <backoffFactor>1.0</backoffFactor>
  <initialDelay>1000</initialDelay>
  <maxDelay>5000</maxDelay>
  <maxRetries>0</maxRetries>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.0</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="sourceNameList" depth="2" /><port name="targetNameList" depth="2" /><port name="targetDescrList" depth="2" /><port name="targetStrainList" depth="2" /><port name="targetTaxonList" depth="2" /><port name="targetURLList" depth="2" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>GabiPDGetOrthologuesByAGI</name><inputPorts><port><name>Object(AGIcode)</name><depth>0</depth></port></inputPorts><outputPorts><port><name>BioObjectOrthologues(Collection - 'Orthologues' As Simples)</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>biomoby-activity</artifact><version>1.0</version></raven><class>net.sf.taverna.t2.activities.biomoby.BiomobyActivity</class><inputMap><map from="Object(AGIcode)" to="Object(AGIcode)" /></inputMap><outputMap><map from="BioObjectOrthologues(Collection - 'Orthologues' As Simples)" to="BioObjectOrthologues(Collection - 'Orthologues' As Simples)" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.biomoby.BiomobyActivityConfigurationBean xmlns="">
  <mobyEndpoint>http://moby.ucalgary.ca/moby/MOBY-Central.pl</mobyEndpoint>
  <serviceName>GabiPDGetOrthologuesByAGI</serviceName>
  <authorityName>www.gabipd.org</authorityName>
  <category />
  <serviceType />
  <secondaries />
</net.sf.taverna.t2.activities.biomoby.BiomobyActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.0</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">
  <maxJobs>1</maxJobs>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.0</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.0</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.0</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">
  <backoffFactor>1.0</backoffFactor>
  <initialDelay>1000</initialDelay>
  <maxDelay>5000</maxDelay>
  <maxRetries>0</maxRetries>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.0</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="Object(AGIcode)" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Parse Moby Data(BioObjectOrthologues)</name><inputPorts><port><name>mobyData('BioObjectOrthologues')</name><depth>0</depth></port></inputPorts><outputPorts><port><name>Orthologues_'BioObjectSource'_'Name'</name><depth>1</depth><granularDepth>1</granularDepth></port><port><name>Orthologues_'BioObjectTarget'_'Name'</name><depth>1</depth><granularDepth>1</granularDepth></port><port><name>Orthologues_'BioObjectTarget'_'Description'</name><depth>1</depth><granularDepth>1</granularDepth></port><port><name>Orthologues_'BioObjectTarget'_'Strain'</name><depth>1</depth><granularDepth>1</granularDepth></port><port><name>Orthologues_'BioObjectTarget'_'Species'_'TaxonName'</name><depth>1</depth><granularDepth>1</granularDepth></port><port><name>Orthologues_'BioObjectTarget'_'AccessPageUrl'</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>biomoby-activity</artifact><version>1.0</version></raven><class>net.sf.taverna.t2.activities.biomoby.MobyParseDatatypeActivity</class><inputMap><map from="mobyData('BioObjectOrthologues')" to="mobyData('BioObjectOrthologues')" /></inputMap><outputMap><map from="Orthologues_'BioObjectTarget'_'Strain'" to="Orthologues_'BioObjectTarget'_'Strain'" /><map from="Orthologues_'BioObjectTarget'_'Species'_'TaxonName'" to="Orthologues_'BioObjectTarget'_'Species'_'TaxonName'" /><map from="Orthologues_'BioObjectTarget'_'Name'" to="Orthologues_'BioObjectTarget'_'Name'" /><map from="Orthologues_'BioObjectTarget'_'AccessPageUrl'" to="Orthologues_'BioObjectTarget'_'AccessPageUrl'" /><map from="Orthologues_'BioObjectSource'_'Name'" to="Orthologues_'BioObjectSource'_'Name'" /><map from="Orthologues_'BioObjectTarget'_'Description'" to="Orthologues_'BioObjectTarget'_'Description'" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.biomoby.MobyParseDatatypeActivityConfigurationBean xmlns="">
  <datatypeName>BioObjectOrthologues</datatypeName>
  <registryEndpoint>http://moby.ucalgary.ca/moby/MOBY-Central.pl</registryEndpoint>
  <articleNameUsedByService>Orthologues</articleNameUsedByService>
</net.sf.taverna.t2.activities.biomoby.MobyParseDatatypeActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.0</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">
  <maxJobs>1</maxJobs>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.0</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.0</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.0</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">
  <backoffFactor>1.0</backoffFactor>
  <initialDelay>1000</initialDelay>
  <maxDelay>5000</maxDelay>
  <maxRetries>0</maxRetries>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.0</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="mobyData('BioObjectOrthologues')" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>Object</processor><port>id</port></sink><source type="dataflow"><port>AGI_identifier</port></source></datalink><datalink><sink type="processor"><processor>concatenate_results</processor><port>sourceNameList</port></sink><source type="processor"><processor>Parse Moby Data(BioObjectOrthologues)</processor><port>Orthologues_'BioObjectSource'_'Name'</port></source></datalink><datalink><sink type="processor"><processor>concatenate_results</processor><port>targetNameList</port></sink><source type="processor"><processor>Parse Moby Data(BioObjectOrthologues)</processor><port>Orthologues_'BioObjectTarget'_'Name'</port></source></datalink><datalink><sink type="processor"><processor>concatenate_results</processor><port>targetDescrList</port></sink><source type="processor"><processor>Parse Moby Data(BioObjectOrthologues)</processor><port>Orthologues_'BioObjectTarget'_'Description'</port></source></datalink><datalink><sink type="processor"><processor>concatenate_results</processor><port>targetStrainList</port></sink><source type="processor"><processor>Parse Moby Data(BioObjectOrthologues)</processor><port>Orthologues_'BioObjectTarget'_'Strain'</port></source></datalink><datalink><sink type="processor"><processor>concatenate_results</processor><port>targetTaxonList</port></sink><source type="processor"><processor>Parse Moby Data(BioObjectOrthologues)</processor><port>Orthologues_'BioObjectTarget'_'Species'_'TaxonName'</port></source></datalink><datalink><sink type="processor"><processor>concatenate_results</processor><port>targetURLList</port></sink><source type="processor"><processor>Parse Moby Data(BioObjectOrthologues)</processor><port>Orthologues_'BioObjectTarget'_'AccessPageUrl'</port></source></datalink><datalink><sink type="processor"><processor>GabiPDGetOrthologuesByAGI</processor><port>Object(AGIcode)</port></sink><source type="processor"><processor>Object</processor><port>mobyData</port></source></datalink><datalink><sink type="processor"><processor>Parse Moby Data(BioObjectOrthologues)</processor><port>mobyData('BioObjectOrthologues')</port></sink><source type="processor"><processor>GabiPDGetOrthologuesByAGI</processor><port>BioObjectOrthologues(Collection - 'Orthologues' As Simples)</port></source></datalink><datalink><sink type="dataflow"><port>result</port></sink><source type="processor"><processor>concatenate_results</processor><port>output</port></source></datalink></datalinks><annotations /></dataflow></workflow>