-
Notifications
You must be signed in to change notification settings - Fork 5
Variables
======================================================== Model set-up (see also annotations in the driver script)
- Model_Example; Choose model example % 1 = Pipeline example % 2 = PDGF model % 3 = CellNOpt example % 4 = Apoptosis model
% Define optmisation options
- optRound; Number of optimisation round
- MaxFunEvals; Number of maximal function being evaluated (3000=default)
- MaxIter; Number of maximal iteration being evaluated (3000=default)
- Parallelisation; Use multiple cores for optimisation? (0=no, 1=yes)
- HLbound; Qualitative threshold between high and low inputs (0.5=default)
- Forced=1; Define whether single inputs and Boolean gates are forced to probability 1 (0=no, 1=yes)
- InitIC=2; Initialise parameters' distribution (1=uniform, 2=normal)
% Define plotting and saving (0=no, 1=yes)
- PlotFitEvolution; Graph of optimise fitting cost over iteration
- PlotFitSummary; Graph of state values at steady-state versus measurements (all in 1)
- PlotFitIndividual; Graph of state values at steady-state versus measurements (individual)
- PlotHeatmapCost; Heatmaps of optimal costs for each output for each condition absolute cost
- PlotStateSummary; Graph of only state values at steady-sate (all in 1)
- PlotStateEvolution; Graph of state values evolution over the course of the simulation (two graphs)
- PlotBiograph; Graph of network topology, nodes activities, and optimised parameters
- PlotAllBiographs; (Only for machines with strong GPUs) Plot all Biographs above
% Additional analyses after the optimisation with the default setting (0=no, 1=yes)
-
Resampling_Analysis; Resampling of experimental data and re-optimise
-
NDatasets; Number of artificial datasets from which to resample.
-
LPSA_Analysis; Local parameter sensitivity analysis
-
Fast_Option; Performing faster LPSA by stopping if fitting costs go over a set threshold value
-
LPSA_Increments; Number of increments for LPSA. Increase for finer resolution
-
KO_Analysis; Parameter knock-out analysis
-
KONodes_Analysis; Node knock-out analysis
========================================================= Model & Optimization results (stored in Matlab workspace)
% Model information and inputs
- estim; Structure variable to store model information and results // estim.Interactions; List of interactions in the model, 1st col = number of interaction, 2nd col = inputs, 3rd col = type of interaction (-> = activate; -| = inhibit), 4th col = outputs, 5th col = weight of interation (fixed value or variable to optimise), 6th col = Type of Boolean gate (N = no gate, A = AND gate, O = OR gate), 7th Col = Parameter range constraints (D = Default [0 to 1], L = Low [less than "HLbound"], H = High [higher than "HLbound"]) // estim.Input; List of input nodes (columns) for each experiment (rows) // estim.Input_idx; List of indices of input nodes (columns) in the model for each experiment (rows) // estim.Output; Experimental data for output nodes (columns) for each experimennt (rows); Note: NaN is used for missing data point(s) // estim.Output_idx; List of indices of Output nodes (columns) in the model for each experiment (rows) // estim.Output; The error of experimental data (e.g. SD or SEM) for output nodes (columns) for each experimennt (rows); Note: NaN is used for missing data point(s) // estim.state_names; List of names for all nodes in the model // estim.NrStates; Number of state/node in the model // estim.NrParams; Number of optimising parameter in the model // estim.param_index; Matrix of network information where 1st col = input indices, 2nd col = output indices, 3rd & 4th col = type of interactions (activate or inhibit, respectively), 5th col = type of Boolean gate (1 = AND, 2 = OR), 6th col = running number of Boolean gate in the model, 7th col = parameter range constraints (0 = default, -1 = low, 1 = high) // estim.param_vector; Vector of optimising parameters // estim.ma; Matrix of activation (read indicies in estim.state_names) // estim.mi; Matrix of activation (read indicies in estim.state_names) // estim.Aeq; Constrain equations for fmincon where Aeqestim.param_vector = beq (constraints for sum of activating probabilities being 1) // estim.beq; Constrain equations for fmincon where Aeqestim.param_vector = beq (constraints for sum of activating probabilities being 1) // estim.A; Constrain equations for fmincon where Aestim.param_vector = b (constraints for sum of inhibiting probabilities being less than 1) // estim.b; Constrain equations for fmincon where Aestim.param_vector = b (constraints for sum of inhibiting probabilities being less than 1) // estim.LB; List of lower bounds for parameters // estim.UB; List of upper bounds for parameters // estim.kInd: Indices of parameters // estim.IdxInAct/estim.IdxOutAct/estim.IdxInInh/estim.IdxOutInh; Extracted vectors for Input/Output for activating/inhibiting reactions // estim.BoolMax; Number of total Boolean gate(s) in the model // estim.BoolIdx; Number of Boolean indies // estim.BoolOuts; Indices of Boolean output node // estim.FixBool; Indices of fixed Boolean variable // estim.option; Default and customised optimisation options for fmincon // estim.SSthresh; Threshold of fitting cost to accept the reach of steady-state
% Optimisation outputs // estim.MaxTime; The maximum running time from the optimisation // estim.AllofTheXs; State trajectory of each nodes during the optimisation (better representation in the plots) // estim.MeanStateValueAll; Mean state value from multiple simulations // estim.bestx; The best set of optimised parameter values
% Optimisation results as sub-structures (estim.Results) /% Optimisation /// estim.Results.Optimisation.FittingCost; List all fitting costs /// estim.Results.Optimisation.FittingTime; List all optimisation time /// estim.Results.Optimisation.ParamNames; List all parameter names /// estim.Results.Optimisation.BestParams; List all best parameter values /// estim.Results.Optimisation.StateNames; List all state names
/% Fitting evolution /// estim.Results.FitEvol.PlotCosts; List all 3 re-run fitting costs /// estim.Results.FitEvol.Cost1/.Cost2/.Cost3; List fitting costs from the 3 re-runs
/% Resampling /// estim.Results.Resampling.Parameters; List all parameters /// estim.Results.Resampling.OptimisedParameters; List all optimised parameters with new re-sampled measurements /// estim.Results.Resampling.OptimisedSD; List the standard deviation from all optimised parameters with new re-sampled measurements /// estim.Results.Resampling.LargeSD; Determine if the SD are larger than the threshold /// estim.Results.Resampling.Costs; List all fitting cost during resampling process
/% LPSA (Local parameter sensitivity analysis) /// estim.Results.LPSA.ParamNames; List all parameter names /// estim.Results.LPSA.Identifiability; Vector determining whether each parameter is identifiable /// estim.Results.LPSA.LPSA_Increments; The number of parameter interval to estimate identifiability /// estim.Results.LPSA.p_SA; The list of parameters to perturb /// estim.Results.LPSA.cost_SA; The fitting cost after parameter perturbations /// estim.Results.LPSA.CutOff; The cut-off value of fitting cost to assess identifiability /// estim.Results.LPSA.Interpretation; Type of identifiability in estim.Results.LPSA.Identifiability ('1=Identifiable','2=Partially identifiable','3=Non-identifiable')
/% Knockout (interaction) /// estim.Results.KnockOut.Parameters; List of parameters to knock-out parameters /// estim.Results.KnockOut.AIC_values; List of AIC_values after parameter knockout /// estim.Results.KnockOut.KO_effect; List of interpretation if knockout has a substantial effect /// estim.Results.KnockOut.Interpretation; Interpreter for knockout results ('0 = no KO effect','1 = KO effect')
/% KnockoutNode /// estim.Results.KnockOutNode.Parameters; List of nodes to knock-out /// estim.Results.KnockOutNode.AIC_values; List of AIC_values after node knockout /// estim.Results.KnockOutNode.KO_effect; List of interpretation if knockout has a substantial effect /// estim.Results.KnockOutNode.Interpretation; Interpreter for knockout results ('0 = no KO effect','1 = KO effect')
===========================================================