Difference between revisions of "Headless BioUML"

From BioUML platform
Jump to: navigation, search
(Examples)
(Examples)
 
Line 17: Line 17:
  
 
==Examples==
 
==Examples==
1. Here is a simple script example to simulate SBML model and save results into the file
+
1. Single simulation.<br>
 +
Here is a simple script example to simulate SBML model and save results into the file
  
 
  var model_path = ""; //Here is a path to existing SBML model
 
  var model_path = ""; //Here is a path to existing SBML model
Line 31: Line 32:
 
To get full list of available methods simply type name of host object.
 
To get full list of available methods simply type name of host object.
  
2. Repeated simulation. In previous example, loaded diagram is compiled into java object Model during <b>simulate</b> step. If you run repeated simulations of the same model you may want to perform this step only once as it may be time consuming. In order to do that you need to call simulationEngine.compileModel and then use simulationEngine.simulateModel
+
2. Repeated simulations.<br>
 +
In previous example, loaded diagram is compiled into java object Model during <b>simulate</b> step. If you run repeated simulations of the same model you may want to perform this step only once as it may be time consuming. In order to do that you need to call simulationEngine.compileModel and then use simulationEngine.simulateModel
  
 
  var model_path = ""; //Here is a path to existing SBML model
 
  var model_path = ""; //Here is a path to existing SBML model
Line 38: Line 40:
 
  var model = simulationEngine.compileModel(diagram) //Compile model object
 
  var model = simulationEngine.compileModel(diagram) //Compile model object
 
  var span = simulationEngine.createSpan(0,100,1); //Create time span from 0 to 100 with step 1
 
  var span = simulationEngine.createSpan(0,100,1); //Create time span from 0 to 100 with step 1
  var result = simulationEngine.simulate(model, span);  
+
  for (var i=0; i<10; i++)
simulationEngine.writeResult(result, result_path, ",", true); //write results into file result_path. Numeric values are separated with "," symbol
+
{
 +
  var result = simulationEngine.simulate(model, span);  
 +
  simulationEngine.writeResult(result, result_path, ",", true); //write results into file result_path. Numeric values are separated with "," symbol
 +
}

Latest revision as of 12:26, 27 December 2019

Headless BioUML (or Shell BioUML) is a version of standalone BioUML application without graphic user interface. It allows manipulation with data from repository, import files, work with models, performing numerical simulation and analysis. All of it can be done through java-script API. It also allows manipulating Java objects via org.mozilla.Rhino library. Headless BioUML may be used in two ways:

1. As a shell executing input commands. Simply run

sh ./shell.sh

(or shell.bat in Windows) from the directory in which BioUML is installed.

2. To execute script from file run

sh ./shell.sh -js.f <PATH_TO_FILE> 

from the directory in which BioUML is installed. Replace <PATH_TO_FILE> with path to file containing script you want to execute.

[edit] Examples

1. Single simulation.
Here is a simple script example to simulate SBML model and save results into the file

var model_path = ""; //Here is a path to existing SBML model
var result_path = ""; //Here is a path to output file
var diagram = sbml.load("model_path");
var span = simulationEngine.createSpan(0,100,1); //Create time span from 0 to 100 with step 1
var result = simulationEngine.simulate(diagram, span); 
simulationEngine.writeResult(result, result_path, ",", true);

Note: sbml and simulationEngine are host objects providing API for work with sbml and numerical simulations correspondingly.

To get full list of available methods simply type name of host object.

2. Repeated simulations.
In previous example, loaded diagram is compiled into java object Model during simulate step. If you run repeated simulations of the same model you may want to perform this step only once as it may be time consuming. In order to do that you need to call simulationEngine.compileModel and then use simulationEngine.simulateModel

var model_path = ""; //Here is a path to existing SBML model
var result_path = ""; //Here is a path to output file
var diagram = sbml.load("model_path");
var model = simulationEngine.compileModel(diagram) //Compile model object
var span = simulationEngine.createSpan(0,100,1); //Create time span from 0 to 100 with step 1
for (var i=0; i<10; i++)
{
  var result = simulationEngine.simulate(model, span); 
  simulationEngine.writeResult(result, result_path, ",", true); //write results into file result_path. Numeric values are separated with "," symbol
}
Personal tools
Namespaces

Variants
Actions
BioUML platform
Community
Modelling
Analysis & Workflows
Collaborative research
Development
Virtual biology
Wiki
Toolbox