Setconstraints¶
- individualizedLabReport(model, IndividualParameters, InputData, optionCardiacOutput)[source]¶
Compute personalised physiological parameters and constraints for a whole-body metabolic model from provided individual laboratory input data
- USAGE:
[modelPersonalized, IndividualParametersNew] = individualizedLabReport (model, IndividualParameters, InputData, optionCardiacOutput)
- INPUTS:
model – whole-body metabolic model structure
IndividualParameters – structure of individual physiological parameters (for example generated by standardPhysiolDefaultParameters), read and updated with the fields:
.ID - subject identifier
.sex - biological sex (‘male’ or ‘female’)
.age - age in years
.bodyWeight - body weight in kg
.Height - height in cm
.Hematocrit - hematocrit as a fraction
.HeartRate - heart rate in beats per minute
.VO2 - oxygen consumption rate used for cardiac output estimation
.MConUrCreatinineMin - minimum urinary creatinine concentration (mg/dL)
.MConUrCreatinineMax - maximum urinary creatinine concentration (mg/dL)
.BloodVolume - estimated blood volume in ml (Nadler equation)
.StrokeVolume - stroke volume in ml/beat
.CardiacOutput - cardiac output in ml/min
.CardiacOutput_Note - text describing how the cardiac output was derived
.Feasible - cell array of feasibility messages after each personalisation step
.BloodMetabolites - personalised blood metabolite concentration bounds
.UrineMetabolites - personalised urine metabolite concentration bounds
.CerebrospinalFluid - personalised CSF metabolite concentration bounds
InputData – cell array with one row per measurement and columns {parameter/metabolite name, unit, value}; the metabolite compartment is indicated by a [bc], [u] or [csf] suffix on the name
- OPTIONAL INPUT:
optionCardiacOutput – method used to estimate cardiac output (default 1):
1 - CardiacOutput = HeartRate * StrokeVolume
2 - cardiac output set equal to blood volume
0 - polynomial estimate from body weight
3 - Fick principle from VO2
4 - Fick principle with VO2 from body surface area
-1 - skip adjustment of cardiac output
- OUTPUTS:
modelPersonalized – whole-body metabolic model with personalised physiological and metabolomic constraints applied (its .osenseStr is set to ‘max’)
IndividualParametersNew – updated individual parameters, i.e. the input IndividualParameters after personalisation
- physiologicalConstraintsHMDBbased(model, IndividualParameters, ExclList, Type, InputData, Biofluid, setDefault, ExclMet, ExclMetAbbr)[source]¶
Apply physiologically-derived concentration constraints to a whole-body metabolic model. Metabolite concentrations are given in uM and organ weights in g. Reaction-specific constraints derived from the literature are applied at the end of the function
- USAGE:
modelConstraint = physiologicalConstraintsHMDBbased (model, IndividualParameters, ExclList, Type, InputData, Biofluid, setDefault, ExclMet, ExclMetAbbr)
- INPUTS:
model – whole-body metabolic model structure with fields:
.rxns - n x 1 reaction identifiers
.mets - m x 1 metabolite identifiers
.S - m x n stoichiometric matrix
.lb - n x 1 lower bounds (updated)
.ub - n x 1 upper bounds (updated)
IndividualParameters – structure of physiological parameters (as generated by standardPhysiolDefaultParameters) with fields:
.sex - biological sex (‘male’ or ‘female’), selecting the blood-flow column
.CardiacOutput - cardiac output in ml/min
.Hematocrit - hematocrit as a fraction
.GlomerularFiltrationRate - glomerular filtration rate in ml/min
.CSFFlowRate - cerebrospinal fluid flow rate
.CSFBloodFlowRate - cerebrospinal fluid to blood flow rate
.UrFlowRate - urine flow rate
.bodyWeight - body weight in kg
.MConDefaultBc - default maximum metabolite concentration in blood (uM)
.MConDefaultCSF - default maximum metabolite concentration in CSF (uM)
.MConDefaultUrMax - default maximum metabolite concentration in urine (uM)
.MConDefaultUrMin - default minimum metabolite concentration in urine (uM)
.MConUrCreatinineMax - maximum urinary creatinine concentration (mg/dL)
.MConUrCreatinineMin - minimum urinary creatinine concentration (mg/dL)
.bloodFlowData - cell array of organ-specific blood-flow percentages
.bloodFlowPercCol - column indices in bloodFlowData for the male/female percentages
.bloodFlowOrganCol - column index in bloodFlowData holding the organ names
- OPTIONAL INPUTS:
ExclList – list of reaction identifiers that should not receive an updated bound
Type – input type, either ‘HMDB’ (default, concentrations are read from the bundled HMDB text files) or ‘direct’ (concentrations are taken from InputData)
InputData – for Type ‘direct’, a cell array whose first column holds VMH metabolite identifiers, second column the minimum concentrations and third column the maximum concentrations
Biofluid – biofluid to constrain: ‘all’ (default for HMDB) or, for direct input, one of ‘bc’, ‘u’ or ‘csf’
setDefault – if true (default 1) apply default concentration ranges to metabolites without input data
ExclMet – if 1, exclude the metabolites listed in ExclMetAbbr from constraint application (default 0)
ExclMetAbbr – list of metabolite identifiers to exclude when ExclMet is 1
- OUTPUT:
modelConstraint – whole-body metabolic model with the physiological uptake, secretion and excretion constraints applied (updated .lb and .ub)
- physiologicalConstraintsHMDBbased_old(model, IndividualParameters, ExclList, Type, InputData, Biofluid, setDefault)[source]¶
Apply physiologically-derived concentration constraints to a whole-body metabolic model (legacy version). Metabolite concentrations are given in uM and organ weights in g
- USAGE:
modelConstraint = physiologicalConstraintsHMDBbased (model, IndividualParameters, ExclList, Type, InputData, Biofluid, setDefault)
- INPUTS:
model – whole-body metabolic model structure
IndividualParameters – structure of physiological parameters (as generated by standardPhysiolDefaultParameters) with fields:
.gender - subject gender
.sex - biological sex (‘male’ or ‘female’), selecting the blood-flow column
.CardiacOutput - cardiac output in ml/min
.Hematocrit - hematocrit as a fraction
.CSFFlowRate - cerebrospinal fluid flow rate
.CSFBloodFlowRate - cerebrospinal fluid to blood flow rate
.UrFlowRate - urine flow rate
.bodyWeight - body weight in kg
.MConDefaultBc - default maximum metabolite concentration in blood (uM)
.MConDefaultCSF - default maximum metabolite concentration in CSF (uM)
.MConDefaultUrMax - default maximum metabolite concentration in urine (uM)
.MConDefaultUrMin - default minimum metabolite concentration in urine (uM)
.MConUrCreatinineMax - maximum urinary creatinine concentration (mg/dL)
.MConUrCreatinineMin - minimum urinary creatinine concentration (mg/dL)
.bloodFlowData - cell array of organ-specific blood-flow percentages
.bloodFlowPercCol - column indices in bloodFlowData for the male/female percentages
.bloodFlowOrganCol - column index in bloodFlowData holding the organ names
- OPTIONAL INPUTS:
ExclList – list of reaction identifiers to be excluded from receiving updated bounds
Type – input type, either ‘xlsx’ (default) or ‘direct’; if ‘direct’, InputData must be provided
InputData – for Type ‘direct’, a cell array whose first column holds VMH metabolite identifiers and further columns the associated concentration data points
Biofluid – biofluid to constrain: ‘all’ (default) or, for direct input, one of ‘bc’, ‘u’ or ‘csf’
setDefault – if true, apply default concentration ranges to metabolites without input data
- OUTPUT:
modelConstraint – whole-body metabolic model with the physiological constraints applied to its reaction bounds
- readInDietFromVMH(fileNameDiet)[source]¶
Read in a diet that has been created and downloaded from the VMH nutrition tool (https://www.vmh.life/#nutrition) and convert it into the format used by the whole-body metabolic model
- USAGE:
[DietFormulation] = readInDietFromVMH (fileNameDiet)
- INPUT:
fileNameDiet – cell whose first entry is the name of the diet spreadsheet to read; the Excel file fileNameDiet{1} provides the flux values (column 1) and the reaction names (column 6)
- OUTPUT:
DietFormulation – d x 2 cell array defining the diet, with the diet exchange reaction identifiers (Diet_EX_…[d]) in the first column and their flux values in the second
- setDietConstraints(model, Diet, factor)[source]¶
Set diet constraints on the bounds of the diet uptake reactions of a whole-body metabolic model. Uptake bounds are given in mmol/day/person
- USAGE:
model = setDietConstraints (model, Diet, factor)
- INPUT:
model – whole-body metabolic model structure with fields:
.rxns - n x 1 reaction identifiers, used to locate the Diet_EX_… uptake reactions
.lb - n x 1 lower bounds (updated with the diet uptake rates)
.ub - n x 1 upper bounds (updated with the diet uptake rates)
- OPTIONAL INPUTS:
Diet – diet specification, either the name of a predefined diet (‘EUAverageDiet’ (default), ‘HighFiberDiet’, ‘HighProteinDiet’, ‘UnhealthyDiet’ or ‘VegetarianDiet’) or a diet cell array whose first column holds diet exchange reaction identifiers and whose second column holds the corresponding flux values
factor – scalar between 0 and 1 scaling the applied diet; default is 1 (i.e. 100% of the provided diet)
- OUTPUT:
model – whole-body metabolic model with the diet uptake constraints applied, updating the fields:
.lb - lower bounds of the diet exchange reactions
.ub - upper bounds of the diet exchange reactions
.SetupInfo - structure recording the setup; the applied diet is stored in .SetupInfo.DietComposition
- setFeedingFastingConstraints(model, feedingStatus, fastingValue, storageValue)[source]¶
Set feeding or fasting constraints on a whole-body metabolic model. Under feeding the organ storage (sink) reactions are enabled to store metabolites (lower bound 0, positive upper bound) and diet uptake is opened; under fasting the storage reactions are reversed to release stored metabolites (negative lower bound, upper bound 0) and diet uptake is closed
- USAGE:
model = setFeedingFastingConstraints (model, feedingStatus, fastingValue, storageValue)
- INPUT:
model – whole-body metabolic model structure with fields:
.rxns - n x 1 reaction identifiers, used to locate the sink, demand and diet exchange reactions
.lb - n x 1 lower bounds (updated)
.ub - n x 1 upper bounds (updated)
.Microbiota - optional flag vector marking microbial reactions, checked to leave microbe sinks untouched
.rxnGeneMat - optional reaction-gene mapping, removed if present
feedingStatus – ‘feeding’ to open diet uptake (using fastingValue) and turn organ storage on, or ‘fasting’ to close diet uptake and turn organ storage release on
- OPTIONAL INPUTS:
fastingValue – lower bound applied to diet exchange and storage release reactions; default is -10
storageValue – upper bound applied to organ storage reactions during feeding; default is 10
- OUTPUT:
model – whole-body metabolic model with the feeding/fasting constraints applied, updating the fields:
.lb - lower bounds of the affected reactions
.ub - upper bounds of the affected reactions
.SetupInfo - structure recording the setup; the feeding status is stored in .SetupInfo.FeedingStatus