CONTRIBUTORS: Written: Regan ODONGO, Edited: Tunahan ÇAKIR

Flux Variability Analysis (FVA)

In genome scale metabolic modelling, the set system's objective function can often be achieved through alternative metabolic reactions. For instance, if growth (biomass accumulation) is used as the reaction to be maximized/minimized, there might exist several alternative metabolic flux solutions that can give the same objective value due to biological functional heterogeneity, especially for solutions obtained using linear programming (LP). In such situations, only the objective function solution is unique. Thus, it is ideal to investigate and characterize flux variability of the system i.e., to find the maximum and minimum values of each flux that can achieve the same objective value. This is particularly useful when performing metabolic engineering of cellular system as it highlights important factors to be considered in advance.

An illustrated explanation of FVA is provided with our Valino simulation tutorial.

Given a COBRA model: model, and the reaction at location X in the model, whose maximum/minimum flux has been determined using LP, FVA can be calculated using the following lines of code in MATLAB with Gurobi solver:

model.lb(X)= maximum/minimum value of X;
model.ub(X)= maximum/minimum value of X;
for i=1:length(model.A(1,:))
    model.obj=zeros(length(model.A(1,:)),1);
    model.obj(i)=1;
    Vmin=gurobi(model,params);
    model.obj(i)=-1;
    Vmax=gurobi(model);
    FVA(i,:)=([Vmin.x(i) Vmax.x(i)]);
end

Where, Vmax and Vmin are the maximum and minimum fluxes through each reaction in the model and FVA the matrix holding all the solutions.

Reference

  • Mahadevan R., and Schilling C.H., (2003). The effects of alternate optimal solutions in constraint-based genome-scale metabolic models, Metabolic Engineering (Vol. 5, Issue 4, pp. 264-276)