analyzeOptKnock

PURPOSE ^

analyzeOptKnock determines whether an optknock solution is growth coupled

SYNOPSIS ^

function [type,maxGrowth,maxProd,minProd] = analyzeOptKnock(model,deletions,target,biomassRxn,geneDelFlag)

DESCRIPTION ^

 analyzeOptKnock determines whether an optknock solution is growth coupled
 or not and what the maximum growth and production rates are

 [type,maxGrowth,maxProd] = analyzeOptKnock(model,deletions,target,biomassRxn,geneDelFlag)

INPUTS 
 model         COBRA model structure
 deletions     list of reaction or gene deletions (empty if wild type)
 target        the exchange reaction for the OptKnock target metabolite

OPTIONAL INPUTS
 biomassRxn    the biomass reaction name (Default = whatever is defined in
               the model)
 geneDelFlag   perform gene and not reaction deletions (Default = false)

OUTPUTS
 type          the type of OptKnock solution (growth coupled or not)
 maxGrowth     the maximum growth rate of the knockout strain
 maxProd       the maximum production rate of the target compound at the
               maximum growth rate
 minProd       the minimum production rate of the target compound at the
               maximum growth rate

 Jeff Orth  6/25/08

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [type,maxGrowth,maxProd,minProd] = analyzeOptKnock(model,deletions,target,biomassRxn,geneDelFlag)
0002 % analyzeOptKnock determines whether an optknock solution is growth coupled
0003 % or not and what the maximum growth and production rates are
0004 %
0005 % [type,maxGrowth,maxProd] = analyzeOptKnock(model,deletions,target,biomassRxn,geneDelFlag)
0006 %
0007 %INPUTS
0008 % model         COBRA model structure
0009 % deletions     list of reaction or gene deletions (empty if wild type)
0010 % target        the exchange reaction for the OptKnock target metabolite
0011 %
0012 %OPTIONAL INPUTS
0013 % biomassRxn    the biomass reaction name (Default = whatever is defined in
0014 %               the model)
0015 % geneDelFlag   perform gene and not reaction deletions (Default = false)
0016 %
0017 %OUTPUTS
0018 % type          the type of OptKnock solution (growth coupled or not)
0019 % maxGrowth     the maximum growth rate of the knockout strain
0020 % maxProd       the maximum production rate of the target compound at the
0021 %               maximum growth rate
0022 % minProd       the minimum production rate of the target compound at the
0023 %               maximum growth rate
0024 %
0025 % Jeff Orth  6/25/08
0026 
0027 if (nargin < 4)
0028     biomassRxn = model.rxns(model.c==1);
0029 end
0030 if (nargin < 5)
0031     geneDelFlag = false;
0032 end
0033 
0034 % Create model with deletions
0035 if (length(deletions) > 0)
0036     if (geneDelFlag)
0037         modelKO = deleteModelGenes(model,deletions);
0038     else
0039         modelKO = changeRxnBounds(model,deletions,zeros(size(deletions)),'b');
0040     end
0041 else
0042     modelKO = model;
0043 end
0044 
0045 
0046 FBAsol1 = optimizeCbModel(modelKO,'max',true); %find max growth rate of strain
0047 modelKOfixed = changeRxnBounds(modelKO,biomassRxn,FBAsol1.f,'l'); %fix the growth rate to max
0048 modelKOfixed = changeObjective(modelKOfixed,target); %set target as the objective
0049 FBAsol2 = optimizeCbModel(modelKOfixed,'min',true); %find minimum target rate at this growth rate
0050 FBAsol3 = optimizeCbModel(modelKOfixed,'max',true); %find maximum target rate at this growth rate
0051 
0052 maxGrowth = FBAsol1.f;
0053 minProd = FBAsol2.f;
0054 maxProd = FBAsol3.f;
0055 
0056 if maxProd < .1 %not growth coupled
0057     type = 'not growth coupled';
0058 elseif minProd == 0 %non unique
0059     type = 'non unique';
0060 elseif (maxProd - minProd) > .1 %growth coupled non unique
0061     type = 'growth coupled non unique';
0062 else %growth coupled
0063     type = 'growth coupled';
0064 end
0065 
0066 
0067 
0068 
0069 
0070

Generated on Thu 21-Jun-2012 15:39:23 by m2html © 2003