Simulate SBML-derived ODEs
Created: 2011-07-20 13:57:19
Last updated: 2011-07-20 14:02:43
Currently supported input XML elements are: results (with result/property and result/constant sub-elements) and timepoints (with timepoint/time and timepoint/variable sub-element).
Preview
Run
Run this Workflow in the Taverna Workbench...
Workflow Components
Authors (1)
Titles (1)
Transform XML element to list of data XML elements |
Descriptions (1)
Currently supported input XML elements are: results (with result/property and result/constant sub-elements) and timepoints (with timepoint/time and timepoint/variable sub-element). |
Dependencies (0)
Inputs (3)
Name |
Description |
elementXml |
Timepoints or results XML elements.
Example value:
<results>
<result>
<constant name="c1">1</constant>
<constant name="c2">2</constant>
<property name="p1">1</property>
<property name="p2>2</property>
</result>
</results>
|
argNameList |
List of arguments names to leave in the resulting data series.
Example value:
c1
c2
|
valNameListList |
List of lists of values names to split with and leave in the resulting data series.
Example value:
p2
|
Processors (6)
Name |
Type |
Description |
projectCoordinates |
beanshell |
Scriptsource(new URL("http://bioputer.mimuw.edu.pl/tav4sb/workflows/projectCoordinates.bsh")); |
mergeListsApply |
beanshell |
ScriptoutList = new LinkedList();
for (extList: inExtListOfLists) {
list = new LinkedList(inBaseList);
list.addAll(extList);
outList.add(list);
} |
elementXml2dataXml_xslFileURL |
stringconstant |
Valuehttp://bioputer.mimuw.edu.pl/tav4sb/workflows/elementXml2dataXml.xsl |
elementXml2dataXml |
localworker |
Script//From a proposal by Mikolaj Rybinski
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
param(paramstr) {
nameAndValue = paramstr.split("=");
if (nameAndValue.length != 2) {
throw new RuntimeException("Wrong parameter format: \"" + paramstr + "\".");
}
name = nameAndValue[0].trim();
value = nameAndValue[1].trim();
return this;
}
if ((sourceString == void) || (sourceString == null)) {
throw new RuntimeException("sourceString must be specified");
}
if ((xsltString == void) || (xsltString == null)) {
throw new RuntimeException("xsltString must be specified");
}
Source inSource = new StreamSource(new StringReader(sourceString));
Source xslSource = new StreamSource(new StringReader(xsltString));
// the factory pattern supports different XSLT processors
// e.g. set the "javax.xml.transform.TransformerFactory" system property
TransformerFactory tnfFact = TransformerFactory.newInstance();
Transformer tnf = tnfFact.newTransformer(xslSource);
if (paramList != void) {
for (String paramstr : paramList) {
p = param(paramstr);
tnf.setParameter(p.name, p.value);
}
}
Writer outputWriter = new StringWriter();
tnf.transform(inSource, new StreamResult(outputWriter));
outputString = outputWriter.toString(); |
getXslt |
localworker |
ScriptBufferedReader getReader (String fileUrl, String encoding) throws IOException {
InputStreamReader reader;
try {
if (encoding == null) {
reader = new FileReader(fileUrl);
} else {
reader = new InputStreamReader(new FileInputStream(fileUrl),encoding);
}
}
catch (FileNotFoundException e) {
// try a real URL instead
URL url = new URL(fileUrl);
if (encoding == null) {
reader = new InputStreamReader (url.openStream());
} else {
reader = new InputStreamReader (url.openStream(), encoding);
}
}
return new BufferedReader(reader);
}
StringBuffer sb = new StringBuffer(4000);
if (encoding == void) {
encoding = null;
}
BufferedReader in = getReader(fileurl, encoding);
String str;
String lineEnding = System.getProperty("line.separator");
while ((str = in.readLine()) != null) {
sb.append(str);
sb.append(lineEnding);
}
in.close();
filecontents = sb.toString();
|
xsltEncoding |
stringconstant |
ValueUTF-8 |
Beanshells (6)
Name |
Description |
Inputs |
Outputs |
projectCoordinates |
|
inXml
coordinateNameList
|
outXml
|
mergeListsApply |
|
inBaseList
inExtListOfLists
|
outList
|
setOptionXmlList |
|
input
|
output
|
timeStrListApend |
|
str
|
list
|
string2List |
|
str
|
list
|
renameCoordinate |
|
dataXml
oldName
newName
|
renamed
|
Outputs (1)
Name |
Description |
dataXmlList |
|
Datalinks (9)
Source |
Sink |
mergeListsApply:outList |
projectCoordinates:coordinateNameList |
elementXml2dataXml:outputString |
projectCoordinates:inXml |
argNameList |
mergeListsApply:inBaseList |
valNameListList |
mergeListsApply:inExtListOfLists |
getXslt:filecontents |
elementXml2dataXml:xsltString |
elementXml |
elementXml2dataXml:sourceString |
elementXml2dataXml_xslFileURL:value |
getXslt:fileurl |
xsltEncoding:value |
getXslt:encoding |
projectCoordinates:outXml |
dataXmlList |
Uploader
License
All versions of this Workflow are
licensed under:
Version 1 (earliest)
(of 2)
Credits (1)
(People/Groups)
Attributions (0)
(Workflows/Files)
None
Shared with Groups (0)
None
Featured In Packs (0)
None
Log in to add to one of your Packs
Attributed By (0)
(Workflows/Files)
None
Favourited By (0)
No one
Statistics
Other workflows that use similar services
(10)
Only the first 2 workflows that use similar services are shown. View all workflows that use these services.
prism Web service
(1)
PRISM model checking (http://www.prismmodelchecker.org/manual/RunningPRISM/ModelChecking). The '-fixdl' switch is used, which means that all deadlock states in model are fixed by addition of self-loops.
Created: 2011-01-26
| Last updated: 2011-01-26
Credits:
trybik
asynchronous prism Web service
(1)
Asynchronous version of the Prism Web service. Results XML list is sent via email.
Created: 2011-01-26
| Last updated: 2011-01-26
Credits:
trybik
Comments (0)
No comments yet
Log in to make a comment