Metabolic Networks

Solutions

Prof. Patrick E. Meyer

FBA script

library(boot)
FBA(S, C, c, w, maxi)
  • S stoichiometric matrix
  • C upper bounds vector for fluxes
  • c lower bounds vector for fluxes
  • w weights vector for the fluxes to optimize
  • maxi boolean to maximize (T) or minimize (F)

Exercise 1

\[v_1:IN \rightleftharpoons CoA\] \[v_2:CoA \rightleftharpoons ATP\] \[v_3:CoA \rightleftharpoons Fruc6P\] \[v_4:ATP \rightleftharpoons OUT\] \[v_5:Fruc6P \rightleftharpoons OUT\]

  • maximize for ATP (flux between 0 and 1)?
  • best to maximize v2 or v4 or v2+v4?
  • and max v2 but min v4 (storing ATP)?
  • what if 10% of Fruc6P needed to survive?
  • what if two ways to produce ATP (but one more costly)?

Solution part 1

\[ \begin{array}{c} CoA\\ ATP\\ Fruc6P \end{array}\left(\begin{array}{ccccc} v1 & v2 & v3 & v4 & v5\\ v1 & v2 & v3 & v4 & v5\\ v1 & v2 & v3 & v4 & v5 \end{array}\right) \]

  • what are c, C and w?

Solution part 2

  • \[ \begin{array}{c} CoA\\ ATP\\ Fruc6P \end{array}\left(\begin{array}{ccccc} 1 & -1 & -1 & 0 & 0\\ 0 & 1 & 0 & -1 & 0\\ 0 & 0 & 1 & 0 & -1 \end{array}\right) \]

  • S <- matrix(0, ncol=5, nrow=3)
    S[1,c(1,2,3)] <- c(1,-1,-1)
    S[2,c(2,4)] <- c(1,-1)
    S[3,c(3,5)] <- c(1,-1)
    S
  • c <- rep(0,5)
    C <- rep(1,5)
    w <- rep(0,5)
    w[2] <- 1 
  • FBA(S=S, C=C, c=c, w=w, maxi=T)

Exercise 2 : citric acid cycle (Krebs)

\[v_1:IN \rightleftharpoons H_2O\] \[v_2:IN \rightleftharpoons CoA\] \[v_3:H_2O \rightleftharpoons Citrate\] \[v_4:CoA \rightleftharpoons Citrate\] \[v_5:Citrate \rightleftharpoons NAD^+\]

\[v_6:Citrate \rightleftharpoons NADH\] \[v_7:NAD^+ \rightleftharpoons CO_2\] \[v_8:NAD^+ \rightleftharpoons NADH\] \[v_9:NADH \rightleftharpoons OUT\] \[v_{10}:CO_2 \rightleftharpoons OUT\]

Maximize NADH with flux constrained between 0 and 1 (what changes if \(v4:CoA \rightleftharpoons 2Citrate\) ?)

Solution part 1

Solution Part 2

  • S <- matrix(0, nrow=6, ncol=10)
    S[1,c(1,3)] <- c(1,-1)
    S[2,c(2,4)] <- c(1,-1)
    S[3,c(3,4,5,6)] <- c(1,1,-1,-1)
    S[4,c(5,7,8)] <- c(1,-1,-1)
    S[5,c(6,8,9)] <- c(1,1,-1)
    S[6,c(7,10)] <- c(1,-1)
    S
  • c <- rep(0,10)
    C <- rep(1,10)
    w <- rep(0,10)
    w[6] <- w[8] <- 1 
    w
  • FBA(S=S, C=C, c=c, w=w, maxi=T)

Additional Questions

Sol is (1,0,1,0,0,1,0,0,1,0)

if \(v4:CoA \rightleftharpoons 2Citrate\) ?

Typical Exam Question

Let us assume we are able to fine tune the flux of each of the five following reactions between 0 and 1 (for example through under- or over-expression of its corresponding enzyme).
What would be the optimal flux setting for each of these following reactions if our end goal is to maximize S4 production?

Reactions

R1:S1->S4
R2:S1->S2+S3
R3:S2+S3+S4->OUT
R4:IN->S1+S3
R5:IN->S1+S2+S4

WARNING: for encoding decimal number, round to 2 digits after the dot (e.g. 0.666666, 0.1 and 1 should be encoded respectively as 0.67, 0.1 and 1).
v1:[A] v2:[B] v3:[C] v4:[D] v5:[E]

  • Sol = (0.5, 0.5, 1, 0.5, 0.5)