Production envelopes
Production envelopes determine the flux of the model objective at different values of specific reactions, spanning their variability. We can use the builtin function objective_production_envelope
to quickly find such envelopes.
We proceed as usual by loading the necessary models and packages:
using COBREXA
download_model(
"http://bigg.ucsd.edu/static/models/e_coli_core.json",
"e_coli_core.json",
"7bedec10576cfe935b19218dc881f3fb14f890a1871448fc19a9b4ee15b448d8",
)
import JSONFBCModels
import HiGHS
model = load_model("e_coli_core.json")
JSONFBCModels.JSONFBCModel(#= 95 reactions, 72 metabolites =#)
The objective_production_envelope
function finds the variability of the given reactons and returns a multidimensional matrix with exact number of breaks
in each dimension (positioned in a linear lattice). Here we examine the inter-dependency of oxygen and carbon dioxide exchanges on a matrix of 5×5 individual "conditions" that form the envelope:
envelope = objective_production_envelope(
model,
["EX_o2_e", "EX_co2_e"];
breaks = 5,
optimizer = HiGHS.Optimizer,
)
(breaks = Pair{String, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}["EX_o2_e" => -60.0:15.0:0.0, "EX_co2_e" => -11.104242424242429:17.776060606060632:60.0000000000001], objective_values = Union{Nothing, Float64}[nothing nothing … nothing 1.4356622286820861e-15; nothing nothing … 0.2724440832478481 nothing; … ; nothing 0.6046187247413645 … nothing nothing; 0.0 0.2019262880721721 … nothing nothing])
Documentation of the function describes ways to set custom bounds for the examined reaction flux ranges and several other customizations.
This page was generated using Literate.jl.