SimBiology.SensitivityAnalysisOptions
Specify sensitivity analysis options for SimBiology models
Description
This object contains options for local sensitivity
analysis. The object is a property of a SimBiology.Configset
object.
Local sensitivity analysis is supported only for deterministic (ODE) simulations. To enable or disable local sensitivity analysis, use the SensitivityAnalysis property.
You can add a number of configuration set objects with different
SensitivityAnalysisOptions
to the model object with the addconfigset
method. Only one configuration set object in the model object can
have the Active
property set to
true
at any given time.
Creation
Use addconfigset
or getconfigset
to get a configset
object of a SimBiology model
first. Then use dot notation configsetObj.SensitivityAnalysisOptions
to get
the options object.
Properties
Inputs
— Sensitivity inputs
[]
(default) | SimBiology.Species
| SimBiology.Parameter
| SimBiology.Compartment
| array
Sensitivity inputs with respect to which you want to compute the sensitivities of
species or parameter states in your model, specified as a
SimBiology.Species
, SimBiology.Parameter
,
SimBiology.Compartment
, or array of such objects.
SimBiology® calculates sensitivities with respect to the values of parameters,
compartments, and species specified in the Inputs
property. When you
simulate a model with SensitivityAnalysis
enabled in the active
configset
object, sensitivity analysis returns the computed
sensitivities of the species and parameters specified in the
Outputs
property.
Note
If a species, parameter, or compartment is determined by a repeated assignment rule, then you cannot use it as a sensitivity input.
To be a sensitivity input, a compartment must have a constant capacity, that is, its
Constant
property must be set totrue
.If a parameter is referenced by the
LagParameterName
orDurationParameterName
property of aSimBiology.RepeatDose
, the parameter must be constant to be an input for sensitivity analysis.If a parameter is referenced by any other
SimBiology.RepeatDose
properties, namely,Amount
,Rate
,Interval
,StartTime
, andRepeatCount
, you cannot use the parameter as an input for sensitivity analysis.If you have any species, parameter, or compartment affecting a parameterized
RepeatDose
orScheduleDose
object, directly or indirectly via a rule, you cannot use such a quantity as an input for sensitivity analysis.The sensitivities are zero for any sensitivity input that is determined by an initial assignment.
Outputs
— Sensitivity outputs
[]
(default) | SimBiology.Species
| SimBiology.Parameter
| array | ...
Sensitivity outputs, specified as a SimBiology.Species
,
SimBiology.Parameter
, or array of such objects. The property defines
species and parameter states that you want to compute sensitivities for.
SimBiology calculates sensitivities with respect to the values of the parameters and
the initial amounts of the species specified in the Inputs
property. When you simulate a model with SensitivityAnalysis
enabled
in the active SimBiology.configset
object, sensitivity analysis returns
the computed sensitivities of the species and parameters specified in the
Outputs
property.
Note
If a species or parameter is determined by a repeated assignment rule, then you cannot use it as a sensitivity output.
Normalization
— Normalization type for local sensitivity analysis
"None"
(default) | "Half"
"Full"
Normalization type for local sensitivity analysis, specified as
"None"
, "Half"
, or
"Full"
.
The following equations show you how sensitivities of a species x
with respect to an input parameter k
are calculated for each
normalization type. In each equation, the numerator is a sensitivity output and the
denominator is a sensitivity input.
"Full"
specifies that the data should be made dimensionless.Use this option if you want to compute the relative change in a sensitivity output,
x(t)
, with respect to the relative change in a sensitivity input,k
. This option is useful to compare different sensitivities where the respective sensitivity inputs have different units and respective sensitivity outputs have different units as well."Half"
specifies normalization relative to the numerator (sensitivity output) only.Use this option if you want to compute the relative change in a sensitivity output,
x(t)
, with respect to the absolute change in a sensitivity input,k
. This option is useful to compare different sensitivities when the sensitivity outputs have different units while the inputs have the same units."None"
specifies no normalization.Use this option if you want to compute the absolute change in a sensitivity output,
x(t)
, with respect to the absolute change in a sensitivity input,k
. This option is useful to compare different sensitivities when all sensitivity inputs have the same units and all sensitivity outputs have the same units.
Tip
Intuitively, you might want to normalize even if the units are the same when the inputs and/or outputs are at very different scales. For instance, one species might have a concentration of around 1 mM while another has a concentration around 100 mM. Using the full normalization lets you compare the relative (percentage) change, such as 1%, to both sensitivity inputs and outputs. However, if you want to compare the sensitivities of an absolute change, such as 0.1 nM, to both inputs and outputs, use no normalization.
Data Types: char
| string
Examples
Calculate Sensitivities Using sbiosimulate
This example performs local sensitivity analysis on a Model of the Yeast Heterotrimeric G Protein Cycle to find parameters that influence the amount of active G protein. Assume that you are calculating the sensitivity of species Ga with respect to every parameter in the model. Thus, you want to calculate the time-dependent derivatives:
Load G-protein Model
The provided SimBiology project gprotein_norules.sbproj
contains a model that represents the wild-type strain (stored in variable m1
).
sbioloadproject gprotein_norules.sbproj m1
Set up Sensitivity Analysis Options
The options for sensitivity analysis are in the configset
object of the model.
csObj = getconfigset(m1);
Use the sbioselect
function, which lets you query by type, to retrieve the Ga
species from the model.
Ga = sbioselect(m1,'Name','Ga');
Set the Outputs
property of the SensitivityAnalysisOptions
object to the Ga
species.
csObj.SensitivityAnalysisOptions.Outputs = Ga;
Retrieve all the parameters from the model and store the vector in a variable, pif
.
pif = sbioselect(m1,'Type','parameter');
Set the Inputs
property of the SensitivityAnalysisOptions
object to the pif
variable containing the parameters.
csObj.SensitivityAnalysisOptions.Inputs = pif;
Enable sensitivity analysis in the configset
object by setting the SensitivityAnalysis
option to true
.
csObj.SolverOptions.SensitivityAnalysis = true;
Set the Normalization
property of the SensitivityAnalysisOptions
object to perform 'Full'
normalization.
csObj.SensitivityAnalysisOptions.Normalization = 'Full';
Calculate Sensitivities
Simulate the model and return the data to a SimData object
:
simDataObj = sbiosimulate(m1);
Extract and Plot Sensitivity Data
You can extract sensitivity results using the getsensmatrix
method of a SimData object
. In this example, R
is the sensitivity of the species Ga
with respect to eight parameters. This example shows how to compare the variation of sensitivity of Ga
with respect to various parameters, and find the parameters that affect Ga
the most.
[T, R, snames, ifacs] = getsensmatrix(simDataObj);
Because R
is a 3-D array with dimensions corresponding to times, output factors, and input factors, reshape R
into columns of input factors to facilitate visualization and plotting:
R2 = squeeze(R);
After extracting the data and reshaping the matrix, plot the data:
figure; plot(T,R2); title('Normalized Sensitivity of Ga With Respect To Various Parameters'); xlabel('Time (seconds)'); ylabel('Normalized Sensitivity of Ga'); leg = legend(ifacs, 'Location', 'NorthEastOutside'); set(leg, 'Interpreter', 'none');
From the plot you can see that Ga
is most sensitive to parameters kGd
, kRs
, kRD1
, and kGa
. This suggests that the amounts of active G protein in the cell depends on the rate of:
Receptor synthesis
Degradation of the receptor-ligand complex
G protein activation
G protein inactivation
Version History
Introduced in R2006a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)