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.