biomassPrecursorCheck

PURPOSE ^

biomassPrecursorCheck Checks if biomass precursors are able to be

SYNOPSIS ^

function [missingMets,presentMets] = biomassPrecursorCheck(model)

DESCRIPTION ^

biomassPrecursorCheck   Checks if biomass precursors are able to be
synthesized. 

 [missingMets,presentMets] = checkBiomassPrecursors(model)

INPUT
 model         COBRA model structure

OUTPUTS
 missingMets   List of biomass precursors that are not able to be synthesized
 presentMets   List of biomass precursors that are able to be synthesized

 NOTE: May identify metabolites that are typically recycled within the
 network such as ATP, NAD, NADPH, ACCOA.


 Pep Charusanti & Richard Que (July 2010)
--------------------------------------------------------------------------

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [missingMets,presentMets] = biomassPrecursorCheck(model)
0002 %biomassPrecursorCheck   Checks if biomass precursors are able to be
0003 %synthesized.
0004 %
0005 % [missingMets,presentMets] = checkBiomassPrecursors(model)
0006 %
0007 %INPUT
0008 % model         COBRA model structure
0009 %
0010 %OUTPUTS
0011 % missingMets   List of biomass precursors that are not able to be synthesized
0012 % presentMets   List of biomass precursors that are able to be synthesized
0013 %
0014 % NOTE: May identify metabolites that are typically recycled within the
0015 % network such as ATP, NAD, NADPH, ACCOA.
0016 %
0017 %
0018 % Pep Charusanti & Richard Que (July 2010)
0019 %--------------------------------------------------------------------------
0020 
0021 
0022 % FIND COLUMN IN S-MATRIX THAT CORRESPONDS TO BIOMASS EQUATION
0023 colS_biomass = find(model.c);
0024 
0025 % LIST ALL METABOLITES IN THE BIOMASS FUNCTION
0026 biomassMetabs = model.mets(model.S(:,colS_biomass)<0);
0027 
0028 % ADD DEMAND REACTION, SET OBJECTIVE FUNCTION TO MAXIMIZE ITS PRODUCTION,
0029 % AND OPTIMIZE.  NOTE: A CRITICAL ASSUMPTION IS THAT THE ADDED DEMAND
0030 % REACTION IS APPENDED TO THE FAR RIGHT OF THE S-MATRIX.  THE CODE NEEDS TO
0031 % BE REVISED IF THIS IS NOT THE CASE.
0032 k=1;
0033 m=1;
0034 % ADD DEMAND REACTIONS
0035 [model_newDemand,addedRxns] = addDemandReaction(model,biomassMetabs);   
0036 for i=1:length(biomassMetabs)
0037 %     [model_newDemand,addedRxn] = addDemandReaction(model,biomassMetabs(i));   % ADD DEMAND REACTION
0038     model_newDemand.c = zeros(length(model_newDemand.c),1);                     % CHANGE OBJECTIVE FUNCTION TO NEW DEMAND RXN
0039     model_newDemand.c(strmatch(addedRxns{i},model_newDemand.rxns)) = 1;         
0040     solution = optimizeCbModel(model_newDemand);                                % OPTIMIZE
0041     if solution.f == 0                                                          % MAKE LIST OF WHICH BIOMASS PRECURSORS ARE ...
0042         missingMets(k) = biomassMetabs(i);                                      %  SYNTHESIZED AND WHICH ARE NOT
0043         k = k+1;
0044     else
0045         presentMets(m) = biomassMetabs(i);
0046         m = m+1;
0047     end
0048 end
0049 
0050 
0051 missingMets = columnVector(missingMets); 
0052 presentMets = columnVector(presentMets);
0053 
0054 
0055 
0056 
0057 
0058 
0059 
0060 
0061 
0062 
0063 
0064 
0065 
0066 
0067

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