0001 function model = removeMetabolites(model,metaboliteList,removeRxnFlag)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
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
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