removeMetabolites

PURPOSE ^

removeMetabolites Remove metabolites from a model

SYNOPSIS ^

function model = removeMetabolites(model,metaboliteList,removeRxnFlag)

DESCRIPTION ^

removeMetabolites Remove metabolites from a model

 model = removeMetabolites(model,metaboliteList,removeRxnFlag)

INPUTS
 model             COBRA model structure
 metaboliteList    List of metabolites to be removed

OPTIONAL INPUT
 removeRxnFlag     Remove reactions with no metabolites (Default = true)

OUTPUT
 model             COBRA model with removed metabolites

 Markus Herrgard 6/5/07

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function model = removeMetabolites(model,metaboliteList,removeRxnFlag)
0002 %removeMetabolites Remove metabolites from a model
0003 %
0004 % model = removeMetabolites(model,metaboliteList,removeRxnFlag)
0005 %
0006 %INPUTS
0007 % model             COBRA model structure
0008 % metaboliteList    List of metabolites to be removed
0009 %
0010 %OPTIONAL INPUT
0011 % removeRxnFlag     Remove reactions with no metabolites (Default = true)
0012 %
0013 %OUTPUT
0014 % model             COBRA model with removed metabolites
0015 %
0016 % Markus Herrgard 6/5/07
0017 
0018 if (nargin < 3)
0019     removeRxnFlag = true;
0020 end
0021 
0022 selMets = ~ismember(model.mets,metaboliteList);
0023 
0024 model.S = model.S(selMets,:);
0025 model.mets = model.mets(selMets);
0026 if (isfield(model,'b'))
0027     model.b = model.b(selMets);
0028 else
0029     model.b = zeros(length(model.mets),1);
0030 end
0031 if (isfield(model,'metNames'))
0032     model.metNames = model.metNames(selMets);
0033 end
0034 if (isfield(model,'metFormulas'))
0035     model.metFormulas = model.metFormulas(selMets);
0036 end
0037 if (isfield(model,'metCharge'))
0038     model.metCharge = model.metCharge(selMets);
0039 end
0040 if (isfield(model,'metChEBIID'))
0041     model.metChEBIID = model.metChEBIID(selMets);
0042 end
0043 if (isfield(model,'metKEGGID'))
0044     model.metKEGGID = model.metKEGGID(selMets);
0045 end
0046 if (isfield(model,'metPubChemID'))
0047     model.metPubChemID = model.metPubChemID(selMets);
0048 end
0049 if (isfield(model,'metInChIString'))
0050     model.metInChIString = model.metInChIString(selMets);
0051 end
0052 
0053 if removeRxnFlag
0054     %if S is empty..
0055     if(isempty(model.S))
0056         return
0057     end
0058     rxnRemoveList = model.rxns(~any(model.S ~= 0));
0059     if (~isempty(rxnRemoveList))
0060         model = removeRxns(model,rxnRemoveList,false,false);
0061     end
0062 end

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