Tools

Tools correspond to actions that can be performed on logical models.

Support for tools is currently in flux: the API will change before more tools are added.

Command line use

A tool can be specified at the end of the command line using the -r toolName [parameters] switch.

For example, the following command will show the stable states for a model:

java -jar bioLQM.jar model.sbml -r stable

all arguments following the name of the selected tool are considered as tool parameters. See the documentation of specific tools for available arguments.

Scripting

In scripts, tools are available through the lqm.getTool(name) method. The returned object provides at least the run(model) method.

model = lqm.loadModel("model.sbml")
lqm.getTool("stable").run(model)

Java API

Tools, like other services, are available by name or by type from static methods in the LQMServiceManager class. Currently, all tool services have a run(LogicalModel model) method, this minimalistic API will be extended in the future.

LogicalModel model = LQMLauncher.loadModel("model.xml", "sbml");
StableStateTool stableService = LQMServiceManager.getTool(StableStateTool.class);
stableService.run(model);

Implementation

The various analysis tools implement the ToolTask interface, and are accessible through a dedicated ModelToolService. These services are discovered by using the @MetaInfServices(ModelToolService.class) decorator.