diff --git a/doc/index.html b/doc/index.html index 92420d4de..31d59f117 100644 --- a/doc/index.html +++ b/doc/index.html @@ -19,22 +19,23 @@
getSubset_ecModel + Generate a context-specific ecModel (strain/cell-line/tissue) by + mapping reactions and genes from a conventional context-specific GEM to + a general ecModel (bigEcModel), to yield a context-specific ecModel. + + Input: + bigEcModel enzyme-constrained version of conventional model of + metabolism for a given species + smallGEM Reduced model (subset of the general model) for a + specific strain (microbes) or cell-line/tissues (mammals) + + Output: + smallEcModel Enzyme-constrained version of the context-specific model + + Usage: smallEcModel = getSubsetEcModel(smallGEM,bigEcModel)
0001 function smallEcModel = getSubsetEcModel(bigEcModel,smallGEM) +0002 % getSubset_ecModel +0003 % Generate a context-specific ecModel (strain/cell-line/tissue) by +0004 % mapping reactions and genes from a conventional context-specific GEM to +0005 % a general ecModel (bigEcModel), to yield a context-specific ecModel. +0006 % +0007 % Input: +0008 % bigEcModel enzyme-constrained version of conventional model of +0009 % metabolism for a given species +0010 % smallGEM Reduced model (subset of the general model) for a +0011 % specific strain (microbes) or cell-line/tissues (mammals) +0012 % +0013 % Output: +0014 % smallEcModel Enzyme-constrained version of the context-specific model +0015 % +0016 % Usage: smallEcModel = getSubsetEcModel(smallGEM,bigEcModel) +0017 +0018 % Check if original bigEcModel contains context-dependent protein constraints +0019 if any(bigEcModel.lb(startsWith(bigEcModel.rxns,'usage_prot_')) ~= -1000) +0020 disp(['The bigEcModel is constraint by protein concentrations that are ' ... +0021 'likely not relevant in the constructed smallEcModel.']) +0022 end +0023 +0024 % Remove genes (and associated reactions) that are absent in smallGEM +0025 genesToRemove = setdiff(bigEcModel.genes,smallGEM.genes); +0026 smallEcModel = removeGenes(bigEcModel,genesToRemove,true,true,false); +0027 +0028 % Remove genes from ec-structure +0029 enzToRemove = ismember(smallEcModel.ec.genes,genesToRemove); +0030 smallEcModel.ec.genes(enzToRemove) = []; +0031 smallEcModel.ec.enzymes(enzToRemove) = []; +0032 smallEcModel.ec.concs(enzToRemove) = []; +0033 smallEcModel.ec.mw(enzToRemove) = []; +0034 smallEcModel.ec.sequence(enzToRemove) = []; +0035 smallEcModel.ec.rxnEnzMat(:,enzToRemove) = []; +0036 +0037 % Remove any reaction (except prot_ associated) that is absent from smallGEM +0038 trimRxns = regexprep(smallEcModel.rxns,'_REV|_EXP_\d+',''); +0039 protRxns = startsWith(smallEcModel.rxns,{'usage_prot_','prot_pool_exchange'}); +0040 keepRxns = ismember(trimRxns,smallGEM.rxns) | protRxns; +0041 smallEcModel = removeReactions(smallEcModel,~keepRxns, true, true, true); +0042 +0043 % Remove reactions from ec-structure +0044 ecRxnsToRemove = ~ismember(smallEcModel.ec.rxns,smallEcModel.rxns); +0045 +0046 smallEcModel.ec.rxns(ecRxnsToRemove) = []; +0047 smallEcModel.ec.kcat(ecRxnsToRemove) = []; +0048 smallEcModel.ec.source(ecRxnsToRemove) = []; +0049 smallEcModel.ec.notes(ecRxnsToRemove) = []; +0050 smallEcModel.ec.eccodes(ecRxnsToRemove) = []; +0051 smallEcModel.ec.rxnEnzMat(ecRxnsToRemove,:) = []; +0052 +0053 smallEcModel = removeReactions(smallEcModel,~keepRxns, true, true, true); +0054 end +0055
ecFVA | ecFVA |
enzymeUsage | enzymeUsage |
findGECKOroot | findGECKOroot |
getFluxTarget | getFluxTarget |
loadConventionalGEM | loadConventionalGEM |
loadEcModel | loadEcModel |
loadFluxData | loadFluxData |
loadProtData | loadProtData |
mapRxnsToConv | mapRxnsToConv |
plotEcFVA | plotEcFVA |
reportEnzymeUsage | reportEnzymeUsage |
saveEcModel | saveECmodel |
startGECKOproject | startGECKOproject |
updateGECKOdoc | updateGeckoDoc |