LIMEcoli                 package:LIM                 R Documentation

_T_h_e _E_s_c_h_e_r_i_c_h_i_a _C_o_l_i _C_o_r_e _M_e_t_a_b_o_l_i_s_m: _R_e_a_c_t_i_o_n _n_e_t_w_o_r_k _m_o_d_e_l _s_p_e_c_i_f_i_c_i_a_t_i_o_n

_D_e_s_c_r_i_p_t_i_o_n:

     Linear inverse model specification for performing Flux Balance
     Analysis of the E.coli metabolism

     (as from <URL:
     http://gcrg.ucsd.edu/Downloads/Flux_Balance_Analysis>).

     The original input file can be found in the package subdirectory
     '/examples/Reactions/E_coli.lim'

     There are 53 substances:

     GLC, G6P, F6P, FDP, T3P2, T3P1, 13PDG, 3PG, 2PG, PEP, PYR, ACCOA,
     CIT, ICIT, AKG, SUCCOA, SUCC, FUM, MAL, OA, ACTP, ETH, AC, LAC,
     FOR, D6PGL, D6PGC, RL5P, X5P, R5P, S7P, E4P, RIB, GLX, NAD, NADH,
     NADP, NADPH, HEXT, Q, FAD, FADH, AMP, ADP, ATP, GL3P, CO2, PI,
     PPI, O2, COA, GL, QH2

     and 13 externals:

     Biomass, GLCxt, GLxt, RIBxt, ACxt, LACxt, FORxt, ETHxt, SUCCxt,
     PYRxt, PIxt, O2xt, CO2xt

     There are 70 unknown reactions (named by the gene encoding for
     it):

     GLK1,  PGI1,  PFKA,  FBP, FBA, TPIA, GAPA, PGK, GPMA, ENO, PPSA,
     PYKA, ACEE, ZWF, PGL, GND, RPIA, RPE, TKTA1, TKTA2, TALA, GLTA,
     ACNA, ICDA, SUCA, SUCC1, SDHA1, FRDA, FUMA, MDH, DLD1, ADHE2,
     PFLA, PTA, ACKA, ACS, PCKA, PPC, MAEB, SFCA, ACEA, ACEB, PPA,
     GLPK, GPSA1, RBSK, NUOA, FDOH, GLPD, CYOA, SDHA2, PNT1A, PNT2A,
     ATPA, GLCUP, GLCPTS, GLUP, RIBUP, ACUP, LACUP, FORUP, ETHUP,
     SUCCUP, PYRUP, PIUP, O2TX, CO2TX, ATPM, ADK, Growth

     The model contains:

        *  54 equalities (Ax=B): the 53 mass balances (one for each
           substance) and one equation that sets the ATP drain flux for
           constant maintenance requirements to a fixed value (5.87)

        *  70 unknowns (x), the reaction rates

        *  62 inequalities (Gx>h). The first 28 inequalities impose
           bounds on some reactions. The last 34 inequalities impose
           that the reaction rates have to be positive (for
           unidirectional reactions only).

        *  2 functions that have to be maximised, the biomass
           production (growth).

_U_s_a_g_e:

     LIMEcoli

_F_o_r_m_a_t:

     LIMEcoli is of type 'lim', which is a list of matrices, vectors,
     names and values that specify the linear inverse model problem.

     see the return value of 'Setup' for more information about this
     list

     A more complete description of this structures is in
     vignette("LIM")

_A_u_t_h_o_r(_s):

     Karline Soetaert <k.soetaert@nioo.knaw.nl>

_R_e_f_e_r_e_n_c_e_s:

     <URL: http://gcrg.ucsd.edu/Downloads/Flux_Balance_Analysis >

     Edwards,J.S., Covert, M., and Palsson, B..,  (2002) Metabolic
     Modeling of Microbes: the Flux Balance Approach, Environmental
     Microbiology, 4(3): pp. 133-140.

_S_e_e _A_l_s_o:

     browseURL(paste(system.file(package="LIM"),
     "/examples/Reactions/", sep=""))

     contains "E_coli.lim", the input file; read this with 'Setup'

_E_x_a_m_p_l_e_s:

     # 1. parsimonious (simplest) solution
     pars<-Ldei(LIMEcoli)

     # 2. the ranges of each reaction
     xr  <-Xranges(LIMEcoli,central=TRUE, full=TRUE)

     # 3. the optimal solution - solved with linear programming
     LP  <-Linp(LIMEcoli)
     Optimal <- t(LP$X)

     # show the results
     data.frame(pars=pars$X, Optimal,xr[,1:3])

     # The central value of linear programming problem is a valid solution
     # the central point is a valid solution:
     X   <- xr[,"central"]
     max(abs(LIMEcoli$A%*%X-LIMEcoli$B))
     min(LIMEcoli$G%*%X-LIMEcoli$H)

     # 4. Sample solution space  - this takes a while -500 is not enough
     print(system.time(
       xs<-Xsample(LIMEcoli,iter=500,type="mirror",test=TRUE)  ))

     pairs(xs[,1:10],pch=".",cex=2)

     # Print results:
     data.frame(pars=pars$X,Optimal=Optimal,xr[,1:2],
                Mean=colMeans(xs),sd=sd(xs))

     # Plot results
     par(mfrow=c(1,2))
     nr <- LIMEcoli$NUnknowns
     ii <- 1:(nr/2)
     dotchart(Optimal[ii,1],xlim = range(xr),pch=16,cex=0.8)
     segments(xr[ii,1],1:nr,xr[ii,2],1:nr)
     ii <- (nr/2+1):nr
     dotchart(Optimal[ii,1],xlim = range(xr),pch=16,cex=0.8)
     segments(xr[ii,1],1:nr,xr[ii,2],1:nr)
     mtext(side= 3, cex=1.5, outer = TRUE, line=-1.5,
           "E coli Core Metabolism, optimal solution and ranges")

