I/O formats

BioLQM supports multiple file formats for the representation of qualitative models. The internal model representation can be exported into all supported formats, some formats also provide import filters. While some formats natively support multivalued models, many are limited for the Boolean case, and rely on an automatic booleanization step.

Command line use

The first part of bioLQM command line specifies a model to import. The import format can be guessed from the file extension or given explicitely using the -if format switch before the filename.

When performing format conversion or saving a modified model, the last part of the command specifies a file in which the model will be exported. Like in the import case, the export format can be guessed from the file extension or given explicitely using the -of format switch before the filename.

java -jar bioLQM.jar model.sbml model.boolsim
java -jar bioLQM.jar -if sbml model.xml -of boolsim model.net

Scripting

In scripts, model loading and saving are available through the lqm.loadModel and lqm.saveModel methods respectively. Here as well, the format can be guessed from the file extension, or provided explicitely as last argument of these methods. Conversion with implicit and explicit format specifications are showned in the following sample script:

model = lqm.loadModel("model.sbml")
lqm.saveModel(model, "model.boolsim")

model = lqm.loadModel("model.xml", "sbml")
lqm.saveModel(model, "model.net", "boolsim")

Java API

Formats, like other services, are available by name or by type from static methods in the LQMServiceManager class.

Implementation

Formats implement the LogicalModelFormat interface. Available formats are discovered by using the @MetaInfServices(LogicalModelFormat.class) decorator. Formats must declare if they provide import and export filters and if they handle multivalued models. When extending the AbstractFormat base class, overloading the load and export methods is sufficient to declare import and export support (however be careful when using multiple layers of inheritance: this relies on introspection and only supports a single layer).