Run Flux Balance Analysis 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 Run Flux Balance Analysis app in the KBase Narrative Interface.

In this tutorial, we will:

  • Add a metabolic model to our Narrative.
  • Find and insert the Run Flux Balance Analysis app into our Narrative.
  • Use the app to generate a flux balance analysis (FBA) profile for the selected metabolic model.
  • Examine the resulting FBA output.
  • Describe how this app can be used to identify the biochemical reactions that are used when a microbe or plant grows on a certain media condition such as glucose minimal media.

Description of the app

This app simulates how metabolites flow through the metabolic network of a microbe or a plant. FBA is a constraint-based approach that estimates growth-optimal fluxes through all reactions in the metabolic network, thereby enabling estimates of the growth rate of an organism (the rate of biomass production) or the rate of production of a given metabolic output on a specified media. This app allows users to analyze the organism’s growth on different substrates and to evaluate the reactions and metabolites that carry fluxes in each growth condition.

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 Run Flux Balance Analysis app takes a metabolic model and a media formulation 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. Such models can be built by other KBase apps, including Reconstruct Genome-scale Metabolic Model and Build Plant Metabolic Model.

The “media formulation,” or “Media typed object,”  contains the chemical compounds on which to analyze the growth of your organism. KBase provides users with more than 500 commonly used media conditions to use when running FBA. Importing a media formulation into your Narrative is discussed in Step 1 of the point and click instructions below.

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

  1. Upload your own data in either SBML (systems biology markup language) or TSV (tab-separated values) 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 an 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 and Build Plant Metabolic Model).

Description of the output

The output of this app is an FBA object that displays in a table-based view the growth of the model, reaction fluxes and associated gene IDs, compound fluxes, and gene knockout data. Biomass compounds and coefficient values also are displayed in the table.

Point and click instructions for using this app

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

Step 1. Add data that you want to analyze

Before launching the Run Flux Balance Analysis app, you will need to copy or upload the needed input data. For this analysis, we will use an example model available in KBase.

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

Scroll down until you find the Example FBAModels heading. Mouse over the iRsp1140 model and click on the Add button that appears to its left to add the model to your Narrative.


The iRsp1140 object is a curated model of Rhodobacter Sphaeroides 2.4.1, published by Tim Donahue’s lab at the University of Wisconsin–Madison [1].

RunFlux10In addition to selecting a metabolic model, we need to add a media formulation to run FBA. Some media objects are also available in the Examples tab under the Example Media heading. For this tutorial, add the “Rsp-minimal” media by clicking the Add button that appears to its left. This media is one of the minimal media formulations identified by Donahue and colleagues for the growth of Rhodobacter Sphaeroides.

Exit the Data Browser by clicking the Close button at the bottom right of the browser window or the arrow at the top of the Data Panel. (Note that you also can close the Data Browser by clicking anywhere in the main Narrative panel in the center.)

Try this later…

KBase offers more than 500 commonly used media conditions. These media can be accessed by choosing the “Public” tab in the Data Browser and selecting “Media” in the dropdown list of data types.


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


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


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

You can also examine a data object by dragging it from the Data Panel and dropping it into the main Narrative panel to open a viewer for the selected object. Here is the viewer for the FBA model:


And media formulation:


Step 2. Add and run the app

Now that you have the needed input data, you can add the Run Flux Balance Analysis app to your Narrative. Look closer at the Apps Panel directly below your data.

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 Run Flux Balance Analysis app in the list and click on its name or icon to add it to your Narrative.

To run the app on the selected example model and media formulation, you must first fill out each input field for the app. In-depth descriptions for all input fields for this app are provided in the app details page.

For the first input field (FBA Model), select the iRsp1140 model from the dropdown menu.  In the next field, (Media), select Rsp-minimal from the dropdown menu. Note that in this app if you do not select a media formulation the app uses “Complete” media by default. Complete media is a special type of media that does not include an exact list of compounds. Instead, modeling growth in complete media means that the model is allowed to consume any nutrient for which a transport reaction is available to the model. For this reason, the content of complete media can change depending on which transport reactions are present in the model.

Assign a desired name for the Output FBA Result field. Here we will use “iRsp1140_FBA.


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.

Use the Minimize Flux option to eliminate flux loops . . .

It is very important to note that the draft models generated by KBase typically contain many biochemical loops (e.g. A -> B -> C -> A). Such loops are thermodynamically infeasible, and because they can carry arbitrarily large fluxes regardless of growth condition, they complicate and confuse the interpretation of FBA solutions. Fortunately, KBase has a mechanism for eliminating these loops from your FBA solution. Click on show advanced options at the bottom of the Run Flux Balance Analysis app and then click on the text box labeled Minimize Flux. This will maximize your primary objective, fix the solution at this maximum value, then minimize the absolute value of all other fluxes in the model, producing the simplest FBA solution possible.

Click the Run button at the bottom of the cell to launch the FBA job. A blue box will appear around the app cell, and a message at the bottom of the cell will indicate that the job was submitted.

Depending on the queue size, the FBA may take a couple of minutes to finish. You can monitor the progress of the job by selecting the Jobs tab near the top left of the page.



Be sure to save your Narrative frequently, using the Save button at the top right of the screen.

RunFlux02Step 3. Look at the output

Once complete, the Run Flux Balance Analysis app creates an FBAobject as the output. Notice that this object now appears in your Data Panel.

You can browse the results of this analysis in the output cell that appears below the app in the main Narrative panel.  There are five tabs for browsing the data: Overview, Reactions, Compounds, Genes, and Biomass compounds.


The Overview tab provides a general summary of the FBA analysis. Perhaps the most important field in the Overview tab is the objective value, which shows the growth of the model. Also included are the number of reactions and compounds in the model.

The Reactions and Compounds tabs display the core information of the FBA analysis by showing the reaction and compound fluxes. You can sort table entries under these tabs by clicking on a column header to sort by that field. Clicking the same column header again will reverse the sort order. You can even sort by more than one column simultaneously by clicking one column header and then Shift-clicking on others.

Note that by sorting the “Flux” column in the Reactions tab you will be able to see all the reactions that have non-zero fluxes. In addition, this tab displays the reaction IDs, biochemical equations, and associated genes. Similarly, in the Compounds tab, you can sort the “Uptake flux” column to get a list of compounds that have non-zero fluxes. These are the compounds and reactions that were used when the organism (Rhodobacter Sphaeroides) grew on Rsp-minimal media.

The Genes tab shows the list of genes for the organism and any gene knockout information. The Biomass compounds tab displays primarily the biomass components of the model and their coefficient values.

For more details about a particular entry under these tabs, click on the entry to see an expanded view of it that will open as another tab in the table:


This example shows how the Run Flux Balance Analysis app could be used to identify the reactions and  metabolites used to produce an organism’s biomass based on a specific media formulation.

Step 4. Download the results

You can download the FBA object in several formats: TSV, Excel, or JSON. Open the expanded view of the object in the Data Panel, then click on the Export/Download data icon to see the download options.

Note to PC users: If downloading to Excel, the data will be placed into a zipped folder whose name (or path) can be long, depending on the data object’s name and type. If the folder path becomes too long, Windows may not be able to open it. Try copying or moving the file to a folder or directory that has a shorter path if you encounter problems.



  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].

Further analysis / next steps

Although no KBase apps currently take an FBA object as an input, FBA data generated from this app are valuable for analyzing biochemical pathways used to produce biomass in multiple environmental conditions. In the near future, we will have apps to compare flux profiles between organisms categorized by biochemical pathways.