Nutritionalgorithm

addElementTracker(model, Element, rxnTags)[source]

addElementTracker creates artificial metabolites and reactions that track the flux of a particular element through reactions with specified string tags.

USAGE
  • [model] = addElementTracker (model,Element,rxnTags,trackString)

  • INPUTS

    model: COBRA model structure with minimal fields:
    • .S

    • .c

    • .ub

    • .lb

    • .mets

    • .rxns

    Element: element you are interested in (e.g., ‘N’) rxnTags: string or cell array containing the strings that mark

    reactions of interest to keep track of

Outputs

model: Returns the input model with added tracking reactions and the key “Track” reaction

Authors: Bronson R. Weston 2022

convert_EX_to_diet(model)[source]

convert_EX_to_diet takes a model with typical exchange reactions (i.e., ‘EX_’) and translates them to uptake (diet) and secretion (exit) reactions.

USAGE:

[model] = convert_EX_to_diet(model)

INPUTS:
model: COBRA model structure with minimal fields:
  • .S

  • .c

  • .ub

  • .lb

  • .mets

  • .rxns

Outputs
model: Returns the input model with new uptake (’Diet_’) and secretion

(’Exit_’) reactions

Authors: Bronson R. Weston 2022

getMolFormula(model, metabolite)[source]

getMolFormula takes a metabolite in a specified model and returns the molecular formula.

integrate_cVector_into_model(model)[source]

sintegrate_cVector_into_model incorporates the c vector directly into the model as the reaction ‘obj_fun_rxn’.

nutritionAlgorithm(model, rois, roisMinMax, options)[source]

This algorithm identifies the minimal changes to a diet necessary to get a desired change in one or more reactions of interest (rois). If a metabolite is entered instead of a reaction, the algorithm will optimize the diet with a sink or demand reaction for the corresponding metabolite of interest. For a walkthrough of the algorithm, see NutritionAlgorithmWalkthrough.mlx To cite the algorithm, please cite Weston and Thiele, 2022 and the COBRA Toolbox as specified on opencobra.github.io/cobratoolbox/stable/cite.html :USAGE: [newDietModel,pointsModel,roiFlux,pointsModelSln,menuChanges,detailedAnalysis] = nutritionAlgorithm (model,rois,roisMinMax,options)

INPUTS
model – COBRA model structure with minimal fields:
  • .S

  • .c

  • .ub

  • .lb

  • .mets

  • .rxns

rois: cell array of all reactions of interest roisMinMax: cell array of ‘min’/’max’ entries for rois

OPTIONAL INPUTS

options – Structure containing the optional specifications:

  • .display: display results “off” or “on”?

  • .roiWeights: a vector of weights for each reaction of interest

default is equal to 1

  • .targetedDietRxns: A nx2 cell array that specifies any dietary

items to target and the corresponding weight for adding the item.

  • .foodRemovalWeighting: Determines the relationship of food

removal weight with the weights specified by targetedDietRxns. The following are valid inputs for foodRemovalWeighting.

  • ‘ones’ -> all dietary reactions from targetedDietRxns have a removal weight of one

  • ‘inverse’ -> all dietary reactions from targetedDietRxns have a removal weight of one

  • ‘ditto’ -> weights are equal to that of targetedDietRxns

added weights - nx2 cell array -> a customized cell array that functions like targedDietRxns but instead allows costomized weights for removing a food item rather than adding it. - {} empty cell array -> (default) An empty array assumes all dietary reactions are available from removal with a weight of one

  • .slnType: Specify if solution should be ‘Detailed’ or ‘Quick’.

    Default setting is ‘Detailed’

  • .roiBound: ‘Unbounded’ or ‘Bounded’. Default is ‘Bounded’.

  • .foodAddedLimit: Specify a limit to the points produced by

    adding food to the diet

  • .foodRemovedLimit: Specify a limit to the points produced by

    removing food from the diet

  • .OFS: the Objective Flux Scalar initiates a limiting threshold

for the solution’s objective function performance. A OFS of 1 means that the nutrition algorithm solution will produce a result that is atleast equal to, or greater than the maximum flux of the objective reaction on the original diet

OUTPUT
newDietModel – An copy of the input model with updated diet

reaction bounds to reflect recomended dietary changes

pointsModel: The resulting model that is used to identify

recomended dietary changes. It includes points reactions and food added/removed reactions.

roiFlux: Returns the flux values for each roi in the points sln

pointsModelSln: Returns the entire points solution to pointsModel

menuChanges: Summarizes the recommended dietary changes

detailedAnalysis: Provides solutions for each simulation conducted in

the detailed analysis