Hi,
We have a strange problem with the attached workflow.
The workflow produces an error for one of the operations in Taverna
('Unable to find input data'), but I think it used to work earlier.
Moreover, it works outside of Taverna (Java scripts attached).
Do you know what the problem might be?
Many thanks,
Marco.
--
Marco Roos (PhD) <http://home.medewerker.uva.nl/m.roos1>
*BioSemantics group* <http://www.biosemantics.nl>, Human Genetics
department <http://www.humgen.nl>, Leiden University Medical Centre
<http://www.lumc.nl>
Albinusdreef 2 (Building 2, room S3-46)
2333 ZA Leiden
Tel. +31 (0) 71 526 8642
*Adaptive Information Disclosure group*
<http://adaptivedisclosure.org/>, Informatics Institute
<http://www.science.uva.nl/ii>, University of Amsterdam <http://www.uva.nl/>
Kruislaan 403 ( room N2.30
<http://remote.science.uva.nl/%7Eroos/Kruislaan403_N230.png>) 1098 SJ
Amsterdam
Tel. +31 (0) 20 525 7522
*Communities:*
Professional: LinkedIn <http://www.linkedin.com/in/marcoroos>,
myExperiment <http://www.myexperiment.org/users/18> Personal: Hyves
<http://mroos62.hyves.nl/>
<workflow xmlns="http://taverna.sf.net/2008/xml/t2flow" version="1"
producedBy="taverna-2.2.0"><dataflow id="7400747f-ffbb-4c4e-a2c0-7b4e2a5bf603"
role="top"><name>Workflow32</name><inputPorts
/><outputPorts><port><name>UniProtID</name><annotations
/></port><port><name>Synonyms</name><annotations
/></port></outputPorts><processors><processor><name>getUniprotID</name><inputPorts><port><name>term</name><depth>0</depth></port></inputPorts><outputPorts><port><name>getUniprotIDReturn</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations
/><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>wsdl-activity</artifact><version>1.2</version></raven><class>net.sf.taverna.t2.activities.wsdl.WSDLActivity</class><inputMap><map
from="term" to="term" /></inputMap><outputMap><map from="getUniprotIDReturn"
to="getUniprotIDReturn" /></outputMap><configBean
encoding="xstream"><net.sf.taverna.t2.activities.wsdl.WSDLActivityConfigurationBean
xmlns="">
<wsdl>http://www.biosemantics.org:8080/axis/services/SynsetServer/SynsetServer.jws?wsdl</wsdl>
<operation>getUniprotID</operation>
</net.sf.taverna.t2.activities.wsdl.WSDLActivityConfigurationBean></configBean><annotations
/></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.2</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.2</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.2</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.2</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.2</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="term" depth="0"
/></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>term_value</name><inputPorts
/><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations
/><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.2</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap
/><outputMap><map from="value" to="value" /></outputMap><configBean
encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean
xmlns="">
<value>EZH2</value>
</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations
/></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.2</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.2</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.2</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.2</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.2</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean
encoding="xstream"><null xmlns=""
/></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy
/></iteration></iterationStrategyStack></processor><processor><name>getSynsets</name><inputPorts><port><name>term</name><depth>0</depth></port></inputPorts><outputPorts><port><name>getSynsetsReturn</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations
/><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>wsdl-activity</artifact><version>1.2</version></raven><class>net.sf.taverna.t2.activities.wsdl.WSDLActivity</class><inputMap><map
from="term" to="term" /></inputMap><outputMap><map from="getSynsetsReturn"
to="getSynsetsReturn" /></outputMap><configBean
encoding="xstream"><net.sf.taverna.t2.activities.wsdl.WSDLActivityConfigurationBean
xmlns="">
<wsdl>http://www.biosemantics.org:8080/axis/services/SynsetServer/SynsetServer.jws?wsdl</wsdl>
<operation>getSynsets</operation>
</net.sf.taverna.t2.activities.wsdl.WSDLActivityConfigurationBean></configBean><annotations
/></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.2</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.2</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.2</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.2</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.2</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="term" depth="0"
/></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions
/><datalinks><datalink><sink
type="processor"><processor>getUniprotID</processor><port>term</port></sink><source
type="processor"><processor>term_value</processor><port>value</port></source></datalink><datalink><sink
type="processor"><processor>getSynsets</processor><port>term</port></sink><source
type="processor"><processor>term_value</processor><port>value</port></source></datalink><datalink><sink
type="dataflow"><port>UniProtID</port></sink><source
type="processor"><processor>getUniprotID</processor><port>getUniprotIDReturn</port></source></datalink><datalink><sink
type="dataflow"><port>Synonyms</port></sink><source
type="processor"><processor>getSynsets</processor><port>getSynsetsReturn</port></source></datalink></datalinks><annotations><annotation_chain_2_2
encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
<annotationAssertions>
<net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
<annotationBean
class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">
<identification>7400747f-ffbb-4c4e-a2c0-7b4e2a5bf603</identification>
</annotationBean>
<date>2010-10-12 11:00:52.527 CEST</date>
<creators />
<curationEventList />
</net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
</annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2
encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
<annotationAssertions>
<net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
<annotationBean
class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">
<identification>61f77af4-42fd-4dbc-9e27-9867cda01dcb</identification>
</annotationBean>
<date>2010-10-12 10:59:46.735 CEST</date>
<creators />
<curationEventList />
</net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
</annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow></workflow>import java.util.ArrayList;
import java.util.List;
import org.erasmusmc.ids.DatabaseID;
import org.erasmusmc.ontology.Concept;
import org.erasmusmc.ontology.TermStore;
import org.erasmusmc.peregrine.ResultConcept;
import org.erasmusmc.rmi.ontology.client.RMIOntology;
import org.erasmusmc.rmi.peregrine.client.RMIPeregrine;
public class SynsetServer {
public static String server = "156.83.20.13";
private static List<Integer> getCIDs(String term){
RMIPeregrine peregrine = null;
try {
peregrine = new RMIPeregrine(server, 1011, "RMIPeregrineLookupServerService");
} catch (Exception e) {
e.printStackTrace();
}
peregrine.index(term);
List<Integer> cids = new ArrayList<Integer>();
for (ResultConcept concept : peregrine.resultConcepts){
if (concept.conceptId > 2000000)
cids.add(concept.conceptId);
}
return cids;
}
public static String[][] getSynsets(String term){
RMIOntology ontology = null;
try {
ontology = new RMIOntology(server, 1011, "RMIOntologyServerService");
} catch (Exception e) {
e.printStackTrace();
}
List<Integer> cids = getCIDs(term);
String[][] result = new String[cids.size()][];
for (int i = 0; i < cids.size(); i++){
Concept concept = ontology.getConcept(cids.get(i));
List<TermStore> terms = concept.getTerms();
result[i] = new String[terms.size()];
for (int j = 0; j < terms.size(); j++)
result[i][j] = terms.get(j).text;
}
return result;
}
public static String[] getUniprotID(String term){
RMIOntology ontology = null;
try {
ontology = new RMIOntology(server, 1011, "RMIOntologyServerService");
} catch (Exception e) {
e.printStackTrace();
}
List<Integer> cids = getCIDs(term);
List<String> result = new ArrayList<String>();
for (Integer cid : cids){
List<DatabaseID> databaseIDs = ontology.getDatabaseIDsForConcept(cid);
for (DatabaseID databaseID : databaseIDs){
if (databaseID.database.equals("UP"))
result.add(databaseID.ID);
}
}
return (String[])result.toArray(new String[result.size()]);
}
}
import java.net.MalformedURLException;
import java.rmi.RemoteException;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.ServiceException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
public class SynsetServerTestClient extends Thread{
private static boolean soap = true;
private static int waves = 0;
private static int waveSize = 10;
public static void main(String [] args){
System.out.println("***** First contact *****");
SynsetServerTestClient first = new SynsetServerTestClient();
first.start();
try {
first.join();
} catch (InterruptedException e1) {
e1.printStackTrace();
}
for (int x = 0; x < waves; x++){
System.out.println("***** Next wave *****");
for (int i = 0; i < waveSize; i++){
new SynsetServerTestClient().start();
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public SynsetServerTestClient(){
}
public void run() {
String myText = "EZH2";
String[][] result = null;
String[] result2 = null;
if (soap){
String endpoint = "http://biosemantics.org:8080/axis/services/SynsetServer/SynsetServer.jws";
result = (String[][])soapCall(endpoint, "getSynsets", myText);
result2 = (String[])soapCall(endpoint, "getUniprotID", myText);
} else { //not soap
result = SynsetServer.getSynsets(myText);
result2 = SynsetServer.getUniprotID(myText);
}
//Display the results:
for (String[] resultString : result){
System.out.println("*Synset*");
for (String str : resultString)
System.out.println(str);
}
System.out.println("*UNIPROT*");
for (String spid : result2)
System.out.println(spid);
}
private Object soapCall(String endpoint, String operation, String parameter){
Service service = new Service();
Object result = null;
Call call = null;
try {
call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(endpoint));
} catch (ServiceException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
}
call.setOperationName(operation);
call.addParameter("term", XMLType.XSD_STRING, ParameterMode.IN);
call.setReturnType(XMLType.SOAP_ARRAY);
try {
result = call.invoke( new Object [] {parameter});
} catch (RemoteException e) {
e.printStackTrace();
}
return result;
}
}
------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3.
Spend less time writing and rewriting code and more time creating great
experiences on the web. Be a part of the beta today
http://p.sf.net/sfu/msIE9-sfdev2dev
_______________________________________________
taverna-users mailing list
[email protected]
[email protected]
Web site: http://www.taverna.org.uk
Mailing lists: http://www.taverna.org.uk/about/contact-us/