Model Format OWL (MFO)

Developers: A.L. Lister, M. Pocock, N. Wipat

MFO 2.0 is now available. Please feel free to check out the project from subversion and see what your favourite SBML curated model looks like in OWL! See below for details of how you can do this, and also how MFO is being used to further work on semantic data integration through rule-based mediation.

What is MFO?

The Integrative Bioinformatics Group, headed by Neil Wipat and part of The Centre for Integrated Systems Biology of Ageing and Nutrition (CISBAN), has developed a Model Format OWL (MFO) to provide structural and constraint integration of systems biology models. The creation of quantitative, simulatable, Systems Biology Markup Language (SBML) models that accurately simulate the system under study is a time-intensive manual process that requires much careful checking. Currently, the rules and constraints of model creation, curation, and annotation are distributed over at least three separate documents: the SBML schema document (XSD), the Systems Biology Ontology (SBO), and the 'Structures and Facilities for Model Definition' document. The latter document contains the richest set of constraints on models, and yet it is not amenable to computational processing.

We have developed an OWL (Web Ontology Language) knowledge base that integrates these three structure documents, and that contains a representative sample of the information contained within them. This Model Format OWL (MFO) performs both structural and constraint integration and can be reasoned over and validated. SBML Models are represented as individuals of OWL classes, resulting in a single computationally amenable resource for model checking. To get you started, all curated BioModels have been converted to OWL and are available from this project's Subversion repository.



Creative Commons License
Model Format OWL Ontology by Allyson Lister and her employers is licensed under a Creative Commons Attribution 2.0 UK: England & Wales License. The MFO Software Toolset is covered under the LGPL. For more information, see LICENSE.txt in the MFO Subversion project.

Further, if you wish to use MFO, we would appreciate it if you cited the JIB article listed above in any work. Please let us know if you find any of these ontologies useful by contacting us at

What can I do with MFO on its own?

We encourage you to have a browse of MFO itself (by loading MFO.pprj into Protege), as well as viewing your favorite curated BioModel (or even all curated BioModels if your computer is up to it) by following the instructions within VIEW-PRECOMPUTED-INDIVIDUALS.txt

MFO Documentation & Download

You can download the trunk of the entire project via an anonymous subversion checkout with the following command:

svn checkout MFO

You can also browse the MFO subversion repository. You will find MFO itself, and its ancillary files, in src/main/resources/owl. A small amount of code is available at src/main/java. MFO is written in OWL, and can be viewed using any OWL-compatible editor. Protege 3.4 or higher is recommended. You can reason over MFO using any OWL-based reasoner. Pellet 1.5.2, Pellet 2.0.0-rc7, and FaCT++ 1.3.0 have been used, though other reasoners should also work.

File Types

In the MFO project available from subversion, the *.owl are the ontology files themselves in OWL-DL format. The *.pprj files are the Protege project files, which you may find useful. Protege allows you to open an ontology directly by opening its .owl file, or indirectly by opening the .pprj file. By loading via the pprj file, you are loading preferences that were set in a previous Protege session and stored in the .pprj file. The *.repository file contains information for Protege about where to find external ontologies locally. In the case of MFO, you may wish to manually edit this file to ensure that it is pointing to the MFO individuals file you are interested in viewing. Relative or absolute paths may be used.

Interesting Files

Below are a number of the most useful files stored in the subverison project.
  • Viewing MFO on its own, without data from BioModels. This is equivalent to viewing an XSD / structure of a schema rather than the XML files containing the data. Open src/main/resources/owl/MFO.pprj within Protege 3.4 or higher.
  • Viewing MFO in the context of data from BioModels. There are a collection of OWL files containing individuals converted from the curated set of BioModels. Open src/main/resources/owl/MFO-Container.pprj within Protege 3.4 or higher. BEWARE: The default file of OWL individuals loaded with this contains more than 70,000 individuals, and you may not have a computer that can give Protege the memory it needs to load such a file. I would not suggest reasoning over such a big file within Protege, either (you would want to make use of the command-line code available within the MFO project for that instead). Follow the instructions present in VIEW-PRECOMPUTED-INDIVIDUALS.txt to load alternative individuals files.
  • If you wish to use Maven 2 to build a project with these OWL files in them, and with a small java program which populates MFO with individuals illustrating one of the examples found in the paper, then please follow the installation and running instructions.

Recommended Editing and Reasoning Environment

Currently, all development work on MFO and related ontologies are developed on Protege 3.4, and this is the recommended editor for others viewing and using MFO. This version of Protege contains a built-in Reasoner (Pellet 1.5.2), as well as the ability to access other Reasoners via a DIG interface. In addition to using Pellet, RacerPro 1.9.2 Beta and FaCT++ 1.1.8 have been used in the past.

Standards Used

As input for MFO: Ontology Editors: Reasoners:

Does this project suit your needs?

We are interested in collaboration with any group that may be able to make use of this project.

If you have any comments or queries, please contact us at

Copyright © 2010 CISBAN