Team:WashU/FBA
From 2012.igem.org
(Difference between revisions)
BrianBasco (Talk | contribs) |
|||
(5 intermediate revisions not shown) | |||
Line 7: | Line 7: | ||
<h1>Flux Balance Analysis</h1> | <h1>Flux Balance Analysis</h1> | ||
<p> | <p> | ||
- | Rather than constructing our model from the ground up, we built off the work of Knoop et al. and their flux balance analysis model created for Synechocystis sp. | + | Rather than constructing our model from the ground up, we built off the work of Knoop et al. and their flux balance analysis model created for <i>Synechocystis</i> sp. PCC 6803.<sup><a href= "http://dl.dropbox.com/u/88390549/knoop%20model.pdf">2</a></sup> In addition, we incorporated the work of Nogales et al. and their more recent model, which highlights the photosynthetic pathways in <i>Synechocystis</i>.<sup><a href="http://dl.dropbox.com/u/88390549/6803%20model.pdf">3</a></sup> Finally, we used the KEGG online reaction database to supplement our model. |
+ | <br> | ||
+ | <br> | ||
+ | The COBRA Toolbox (Constraints Based Reconstruction and Analysis)<sup><a href="http://dl.dropbox.com/u/88390549/genome-scale%20model%20protocol.pdf">4</a></sup> and MATLAB were used to read and modify the model. The Knoop model lacked the terpenoid backbone biosynthesis, carotenoid biosynthesis, and the saffron biosynthesis pathway. We added a condensed version of these pathways to the existing model using the ‘addReaction’ command in the COBRA Toolbox. An excerpt of the code can be found below. | ||
<br> | <br> | ||
- | |||
<br> | <br> | ||
modelKnoop=addReaction(modelKnoop,'R381',{'C00022','C00118','C00005','C00002','h2mb4p','C00006','C00008','C00013','C00020','C00011'},[-1,-1,-2,-2,1,2,1,1,1,1],false,0,1000); | modelKnoop=addReaction(modelKnoop,'R381',{'C00022','C00118','C00005','C00002','h2mb4p','C00006','C00008','C00013','C00020','C00011'},[-1,-1,-2,-2,1,2,1,1,1,1],false,0,1000); | ||
+ | <br> | ||
<br> | <br> | ||
modelKnoop=addReaction(modelKnoop,'R382',{'h2mb4p','C00005','ipdp','C00006'},[-1,-1,1,1],false,0,1000); | modelKnoop=addReaction(modelKnoop,'R382',{'h2mb4p','C00005','ipdp','C00006'},[-1,-1,1,1],false,0,1000); | ||
+ | <br> | ||
<br> | <br> | ||
modelKnoop=addReaction(modelKnoop,'R383',{'h2mb4p','C00005','dmpp','C00006'},[-1,-1,1,1],false,0,1000); | modelKnoop=addReaction(modelKnoop,'R383',{'h2mb4p','C00005','dmpp','C00006'},[-1,-1,1,1],false,0,1000); | ||
+ | <br> | ||
<br> | <br> | ||
modelKnoop=addReaction(modelKnoop,'R384',{'ipdp','dmpp'},[-1,1],true,-1000,1000); | modelKnoop=addReaction(modelKnoop,'R384',{'ipdp','dmpp'},[-1,1],true,-1000,1000); | ||
+ | <br> | ||
<br> | <br> | ||
modelKnoop=addReaction(modelKnoop,'R385',{'ipdp','dmpp','grpp','C00013'},[-1,-1,1,1],false,0,1000); | modelKnoop=addReaction(modelKnoop,'R385',{'ipdp','dmpp','grpp','C00013'},[-1,-1,1,1],false,0,1000); | ||
+ | <br> | ||
<br> | <br> | ||
modelKnoop=addReaction(modelKnoop,'R386',{'ipdp','grpp','fpp','C00013'},[-1,-1,1,1],false,0,1000); | modelKnoop=addReaction(modelKnoop,'R386',{'ipdp','grpp','fpp','C00013'},[-1,-1,1,1],false,0,1000); | ||
+ | <br> | ||
<br> | <br> | ||
modelKnoop=addReaction(modelKnoop,'R387',{'fpp','C00005','squa','C00006','C00013'},[-2,-1,1,1,2],false,0,1000); | modelKnoop=addReaction(modelKnoop,'R387',{'fpp','C00005','squa','C00006','C00013'},[-2,-1,1,1,2],false,0,1000); | ||
+ | <br> | ||
<br> | <br> | ||
modelKnoop=addReaction(modelKnoop,'R388',{'fpp','ipdp','C00013','dpp'},[-1,-7,7,1],false,0,1000); | modelKnoop=addReaction(modelKnoop,'R388',{'fpp','ipdp','C00013','dpp'},[-1,-7,7,1],false,0,1000); | ||
+ | <br> | ||
<br> | <br> | ||
modelKnoop=addReaction(modelKnoop,'R389',{'ggpp','C00005','ppp','C00006'},[-1,-3,1,3],false,0,1000); | modelKnoop=addReaction(modelKnoop,'R389',{'ggpp','C00005','ppp','C00006'},[-1,-3,1,3],false,0,1000); | ||
+ | <br> | ||
<br> | <br> | ||
modelKnoop=addReaction(modelKnoop,'R390',{'fpp','ipdp','C00013','ggpp'},[-1,-1,1,1],false,0,1000); | modelKnoop=addReaction(modelKnoop,'R390',{'fpp','ipdp','C00013','ggpp'},[-1,-1,1,1],false,0,1000); | ||
+ | <br> | ||
+ | <br> | ||
modelKnoop=addReaction(modelKnoop,'R391',{'ggpp','C00007','b-caro','C00013'},[-2,-2,1,1],false,0,1000); | modelKnoop=addReaction(modelKnoop,'R391',{'ggpp','C00007','b-caro','C00013'},[-2,-2,1,1],false,0,1000); | ||
+ | <br> | ||
<br> | <br> | ||
modelKnoop=addReaction(modelKnoop,'R392',{'b-caro','C00007','ech'},[-1,-1,1],false,0,1000); | modelKnoop=addReaction(modelKnoop,'R392',{'b-caro','C00007','ech'},[-1,-1,1],false,0,1000); | ||
+ | <br> | ||
<br> | <br> | ||
modelKnoop=addReaction(modelKnoop,'R393',{'b-caro','C00005','C00007','zeax','C00006'},[-1,-2,-2,1,2],false,0,1000); | modelKnoop=addReaction(modelKnoop,'R393',{'b-caro','C00005','C00007','zeax','C00006'},[-1,-2,-2,1,2],false,0,1000); | ||
+ | <br> | ||
<br> | <br> | ||
modelKnoop=addReaction(modelKnoop,'R394',{'zeax','C00007','crocDia','hydCycCitral'},[-1,-1,1,2],false,0,1000); | modelKnoop=addReaction(modelKnoop,'R394',{'zeax','C00007','crocDia','hydCycCitral'},[-1,-1,1,2],false,0,1000); | ||
+ | <br> | ||
<br> | <br> | ||
modelKnoop=addReaction(modelKnoop,'R395',{'C00029','hydCycCitral','picr','C00015'},[-1,-1,1,1],false,0,1000); | modelKnoop=addReaction(modelKnoop,'R395',{'C00029','hydCycCitral','picr','C00015'},[-1,-1,1,1],false,0,1000); | ||
+ | <br> | ||
<br> | <br> | ||
modelKnoop=addReaction(modelKnoop,'R396',{'crocDia','C00006','crocet','C00005'},[-1,-1,1,1],false,0,1000); | modelKnoop=addReaction(modelKnoop,'R396',{'crocDia','C00006','crocet','C00005'},[-1,-1,1,1],false,0,1000); | ||
+ | <br> | ||
<br> | <br> | ||
modelKnoop=addReaction(modelKnoop,'R397',{'crocet','C00029','glucCrocet','C00015'},[-1,-1,1,1],false,0,1000); | modelKnoop=addReaction(modelKnoop,'R397',{'crocet','C00029','glucCrocet','C00015'},[-1,-1,1,1],false,0,1000); | ||
+ | <br> | ||
<br> | <br> | ||
modelKnoop=addReaction(modelKnoop,'R398',{'glucCrocet','C00029','croc','C00015'},[-1,-3,1,3],false,0,1000); | modelKnoop=addReaction(modelKnoop,'R398',{'glucCrocet','C00029','croc','C00015'},[-1,-3,1,3],false,0,1000); | ||
Line 49: | Line 69: | ||
<br><br> | <br><br> | ||
modelKnoop=changeRxnBounds(modelKnoop,'R203',7,'b'); | modelKnoop=changeRxnBounds(modelKnoop,'R203',7,'b'); | ||
- | <br> | + | <br><br> |
modelKnoop=changeRxnBounds(modelKnoop,'R344',.45,'b'); | modelKnoop=changeRxnBounds(modelKnoop,'R344',.45,'b'); | ||
<br><br> | <br><br> | ||
Line 55: | Line 75: | ||
<br><br> | <br><br> | ||
modelKnoop=changeObjective(modelKnoop,'R351'); | modelKnoop=changeObjective(modelKnoop,'R351'); | ||
- | <br> | + | <br><Br> |
optimizeCbModel(modelKnoop); | optimizeCbModel(modelKnoop); | ||
<br><br> | <br><br> | ||
In addition, we generated a phenotypic phase plane of the growth rate versus bicarbonate and photon flux: | In addition, we generated a phenotypic phase plane of the growth rate versus bicarbonate and photon flux: | ||
- | <img src = "http://dl.dropbox.com/u/88390549/growth%20rate | + | <img src = "http://dl.dropbox.com/u/88390549/growth%20rate.png" width = 765> |
</p> | </p> | ||
<h1>Analysis</h1> | <h1>Analysis</h1> | ||
<p> | <p> | ||
- | When the table of fluxes obtained from the optimization of the model was examined for the fluxes of picrocrocin and crocin, it was noticed that all the fluxes in the saffron biosynthesis pathway were zero. In order to try and fix this, the biomass reaction was again altered to include picrocrocin and crocin. However, optimizing for the growth rate under this modified biomass reaction resulted in zero growth. This data from our model suggests that either further work needs to be done on the model to produce a result for picrocrocin and crocin, or that the metabolic network of Synechocystis as it currently stands is unfit for the production of picrocrocin and crocin. | + | When the table of fluxes obtained from the optimization of the model was examined for the fluxes of picrocrocin and crocin, it was noticed that all the fluxes in the saffron biosynthesis pathway were zero. In order to try and fix this, the biomass reaction was again altered to include picrocrocin and crocin. However, optimizing for the growth rate under this modified biomass reaction resulted in zero growth. This data from our model suggests that either further work needs to be done on the model to produce a result for picrocrocin and crocin, or that the metabolic network of <i>Synechocystis</i> as it currently stands is unfit for the production of picrocrocin and crocin. |
</p> | </p> | ||
</div> | </div> | ||
</html> | </html> |
Latest revision as of 03:42, 4 October 2012