Compare Two Metabolic Models App

Not yet updated for Release 3.0

The instructions in this document are for Release 2.0. The December 2016 release looks a bit different, though the overall operation is similar. This document will be updated soon.

Description of tutorial

This tutorial will guide you through the steps needed to use the Compare Two Metabolic Models app in the KBase Narrative Interface.

In this tutorial, we will:

  • Add two existing metabolic models to our Narrative.
  • Add a proteome comparison for these models.
  • Find and run the Compare Two Metabolic Models app.
  • Examine the differences and similarities in the reaction content for the two models, along with differences in genes associated with the reactions.
  • Describe how this app can be used to identify genes for gapfilled reactions in published metabolic models.

Description of the app

Comparison of two different metabolic models identifies their core and unique reactions and compounds, along with the gene-protein associations between the two models. When the input models are constructed from different genomes, a Proteome Comparison data object must also be provided as input to map the genes in one model’s genome to the genes in the other model’s genome.  The Compare Two Metabolic Models app produces an output table that lists core reactions, unique reactions, genes, and annotations associated with each biochemical reaction for the two compared metabolic models.

Please see the app details page and the Metabolic Modeling FAQ, which provides answers to common questions about KBase’s metabolic modeling tools and data.

Description of the input

The Compare Two Metabolic Models app takes two metabolic models and an optional Proteome Comparison data object as input. In KBase, an “FBAModel” or “Metabolic Model typed object” contains the reactions, compounds, compartments, biomass reactions, and gene associations that comprise a metabolic model. The “ProteomeComparison,” or “Protein Correspondence typed object,” contains information about the corresponding genes between two genomes. If the models were constructed from the same genome, then a ProteomeComparison object does not need to be provided. However, if the models were constructed from different genomes, then a proteome comparison must be constructed using the Compare Two Proteomes app for those two genomes.

This ProteomeComparison object must then be provided as input to the Compare Two Metabolic Models app.

KBase offers several ways to load metabolic models into your Narrative so that they can be used as input for this and other apps:

  1. Upload your own data in either SBML or TSV format from your local machine. See the FBA Model section of the Data Upload and Download Guide for instructions.
  2. Search for and add to your Narrative a flux balance analysis (FBA) model from KBase’s reference data collection.
  3. Use example data from the Data Browser slideout.
  4. Use an FBA model that you worked with in another Narrative or that another user has shared with you.
  5. Use an FBA model produced by other apps in your Narrative (such as Reconstruct Genome-scale Metabolic Model).

Remember, if your models were constructed from two different genomes, you must provide a proteome comparison for those genomes. You can see the genomes each model was constructed from by dragging the model object from the Data Panel to the main Narrative panel.

Description of the output

The output of this app is a table-based view of the differences and similarities in the reaction content for the two models being compared. Differences in genes associated with reactions are also highlighted.

Point and click instructions for using this app

Note: This tutorial assumes that you have already created and opened a new Narrative. For instructions on how to accomplish this and other tasks such as finding or uploading data to your Narrative, please refer to the Narrative Interface User Guide.

Step 1. Add data that you want to analyze

Before running the Compare Two Metabolic Models app, you will need to copy or upload the needed input data. For this analysis, we will use example models available in KBase.

To add the example data to your Narrative, find the Data Panel along the left of the screen and click the red “+” or Add Data button. This will open the Data Browser slideout. Choose the Example tab to see a list of example datasets, which are organized by type.

Look for the Example FBAModels heading and find the three models listed beneath it. Mouse over the iRsp1140 and CACIA_model_kbase models and click on the Add button that appears to their left to add the models to your Narrative. (Notice that when you add a data object, the Add button changes to Added.)


The iRsp1140 object is a curated model of Rhodobacter Sphaeroides 2.4.1, published by Tim Donahue’s lab as part of research conducted by the DOE Great Lakes Bioenergy Research Center [1]. CACIA_model_kbase is a draft model constructed for the Rhodobacter CACIA genome using the Reconstruct Genome-scale Metabolic Model app in KBase.

In addition to selecting our models for comparison, we also need to select the proteome comparison for the genomes that the models are based upon. This object is also available in the Examples tab under the Other Examples heading.


Under that heading, locate the object called CACIA_sphaeroides_comparison and add it to your Narrative. Exit the Data Browser by clicking the Close button at its bottom right or the arrow at the top of the Data Panel.

Try this later…
When you are ready to analyze your own models, you may want to upload or import your model using the Import tab, or you could import a genome and construct a new model using KBase.

Notice that your Data Panel now shows the three objects that you added to your Narrative:


You can find out more about a data object by mousing over the record in the Data Panel and clicking the “…” that appears. An expanded view of the data will open:


The icons in this view let you see a data summary, download the object, see its provenance, and more. (Please see the Explore Data section of the Narrative Interface User Guide for more information.)

For now, you can examine this model by dragging and dropping the data object from the Data Panel onto the main Narrative panel. You will see something like this:


Step 2. Add and run the app

Now that you have the needed input data, you can add the Compare Two Metabolic Models app to your Narrative. Locate the Apps Panel directly below your data. This panel lists all available analyses that you can run.

You can search for apps using the search box at the top of the Apps Panel, or just scroll until you find the one you want. Locate the Compare Two Metabolic Models app in the list and click on its name or icon to add it to your Narrative.

To run the app on the sample models, you must first fill out each input field for the app. Detailed descriptions for all input fields for this app are provided on the app details page.

For the FBA Model 1 field, select the iRsp1140 model from the dropdown menu. In the FBA Model 2 field, select the CACIA_model_kbase object. Since our models in this example are indeed based on different genomes, select CACIA_sphaeroides_comparison in the Proteome Comparison field.


Notice that as you fill in the required parameter fields, the red arrows next to those fields change to green checkmarks. Once all required fields have a green checkmark, the app is ready to run.

Click the Run button at the bottom of the app cell to launch the analysis. In this case, there is no job that is run on a KBase server; this app runs instantaneously, loading the data into a viewer in your Narrative.

Step 3. Look at the output

Unlike nearly all other apps in KBase, the Compare Two Metabolic Models app does not create any new output data objects in your Data Panel. Instead, a new output cell is generated below the app cell in the main Narrative panel.

There are four tabs for browsing the data: Statistics, Common Reactions, <Model 1> only, and <Model 2> only.


  • The Statistics tab gives an overview of the similarities and differences between the models.
  • The Common Reactions tab lists the reactions occurring in both models. This tab is actually the most interesting because it includes a comparison of the genes associated with the same reactions in each model.
    • If the same genes (or corresponding genes in two different genomes) are associated with the same common reaction, the column labeled “Exact” will equal “1,” indicating an exact match in gene annotations for this reaction.
    • The reactions where differences occur are the most interesting. If one model has no genes mapped to a reaction, and the other model has genes—and those genes are not red (which would indicate they were orphans)—the first model very likely contains a gene candidate for the same reaction. This shows how the Compare Two Metabolic Models app can be used to fill annotation gaps in one model based on another model.
  • The iRsp1140 only and CACIA_model_kbase only tabs list the reactions unique to each model.

Further analysis / next steps

If you are interested in using the comparative analysis produced from this app in terms of gapfill reactions, check out the Gapfill Metabolic Model app.


  1. Kontur, W.S., W. S. Schackwitz, N. Ivanova, J. Martin, K. LaButti, S. Deshpande, H. N. Tice, C. Pennacchio, E. Sodergren, G. M. Weinstock, D. R. Noguera, and T. J. Donohue 2012. “Revised Sequence and Annotation of the Rhodobacter sphaeroides 2.4.1 Genome,” Journal of Bacteriology 194(24), 7016–17. [doi: 10.1128/JB.01214-12].