removeDeadEnds

PURPOSE ^

removeDeadEnds Remove all dead end metabolites and reactions from the

SYNOPSIS ^

function [model,removedMets,removedRxns] = removeDeadEnds(model)

DESCRIPTION ^

removeDeadEnds Remove all dead end metabolites and reactions from the
model

 [model,removedMets,removedRxns] = removeDeadEnds(model)

INPUT
 model         COBRA model structure

OUTPUTS
 model         COBRA model structure w/o dead end metabolites and
               reactions
 removedMets   List of removed metabolites
 removedRxns   List of removed reactions

 Markus Herrgard 8/29/06

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [model,removedMets,removedRxns] = removeDeadEnds(model)
0002 %removeDeadEnds Remove all dead end metabolites and reactions from the
0003 %model
0004 %
0005 % [model,removedMets,removedRxns] = removeDeadEnds(model)
0006 %
0007 %INPUT
0008 % model         COBRA model structure
0009 %
0010 %OUTPUTS
0011 % model         COBRA model structure w/o dead end metabolites and
0012 %               reactions
0013 % removedMets   List of removed metabolites
0014 % removedRxns   List of removed reactions
0015 %
0016 % Markus Herrgard 8/29/06
0017 
0018 removedMets = {};
0019 removedRxns = {};
0020 
0021 while (1)
0022     
0023     deadEnd = detectDeadEnds(model);
0024     
0025     if (length(deadEnd) == 0)
0026         break;
0027     end
0028     
0029     removedMets = union(removedMets,model.mets(deadEnd));
0030     if (length(deadEnd) > 1)
0031         deadRxns = model.rxns(find(sum(model.S(deadEnd,:) ~= 0) > 0));
0032     else
0033         deadRxns = model.rxns(find(model.S(deadEnd,:) ~= 0));
0034     end
0035     
0036     model = removeRxns(model,deadRxns);
0037     
0038     
0039     removedRxns = union(removedRxns,deadRxns);
0040     
0041 end

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