augmentBOF

PURPOSE ^

augmentObjectiveFunction adjusts the objective function to eliminate

SYNOPSIS ^

function [model, rxn_name] = augmentBOF(model,targetRxn,epsilon)

DESCRIPTION ^

augmentObjectiveFunction adjusts the objective function to eliminate
"non-unique" optknock solutions by favoring the lowest production rate at
a given predicted max growth-rate.
NOTE: this funtion uses the outermembrane transport reaction, therefore:
 1. the model must have an extracellular compartment and a periplasm (eg, iAF1260)
 2. there should not be an extracellular reaction acting on the metabolite
 besides the exchange reaction and the OM transport reaction

 [model, rxn_name] = augmentBOF(model,targetRxn,epsilon)

INPUTS
 model             Structure containing all necessary variables to described a
                   stoichiometric model%
 targetRxn         objective of the optimization

OPTIONAL INPUT
 epsilon           degree of augmentation considering the biochemical objective

OUTPUTS
 model             Augmented model structure
 rxn_name          reaction that carries the augmented value

 Adam Feist 10/16/08

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [model, rxn_name] = augmentBOF(model,targetRxn,epsilon)
0002 %augmentObjectiveFunction adjusts the objective function to eliminate
0003 %"non-unique" optknock solutions by favoring the lowest production rate at
0004 %a given predicted max growth-rate.
0005 %NOTE: this funtion uses the outermembrane transport reaction, therefore:
0006 % 1. the model must have an extracellular compartment and a periplasm (eg, iAF1260)
0007 % 2. there should not be an extracellular reaction acting on the metabolite
0008 % besides the exchange reaction and the OM transport reaction
0009 %
0010 % [model, rxn_name] = augmentBOF(model,targetRxn,epsilon)
0011 %
0012 %INPUTS
0013 % model             Structure containing all necessary variables to described a
0014 %                   stoichiometric model%
0015 % targetRxn         objective of the optimization
0016 %
0017 %OPTIONAL INPUT
0018 % epsilon           degree of augmentation considering the biochemical objective
0019 %
0020 %OUTPUTS
0021 % model             Augmented model structure
0022 % rxn_name          reaction that carries the augmented value
0023 %
0024 % Adam Feist 10/16/08
0025 %
0026 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0027 
0028 if (nargin < 3)
0029     % Biomass flux
0030     epsilon = .00001;
0031 end
0032 
0033 rxnID = findRxnIDs(model,targetRxn);
0034 metID = find(model.S(:,rxnID));
0035 
0036 % find the OM reaction
0037 OMtransRxnID = find(model.S(metID,:));
0038 % check to see if function is appropriate, if there are more than 2
0039 % reactions that act on this metabolite in the extracellular space
0040 [m,n]=size(OMtransRxnID);
0041 if n >= 3
0042     fprintf 'augmentBOF will not work.'
0043     return
0044 end
0045 %remove the exchange reaction from the variable that held all the reaction
0046 %IDs that are associated with the extracellular metabolite
0047 OMtransRxnID(find(OMtransRxnID == rxnID))=[];
0048 % The variable that holds the OM reaction
0049 rxn_name = model.rxns(OMtransRxnID,1);
0050 rxn_name = rxn_name{1};
0051 
0052 %augment the objective
0053 model.c(OMtransRxnID,1)= epsilon;

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