Class ExpData
Defined in File edata.h
Inheritance Relationships
Base Type
public amici::SimulationParameters(Class SimulationParameters)
Class Documentation
-
class ExpData : public amici::SimulationParameters
ExpData carries all information about experimental or condition-specific data.
Public Functions
-
ExpData() = default
Default constructor.
-
ExpData(int nytrue, int nztrue, int nmaxevent)
Constructor that only initializes dimensions.
- Parameters:
nytrue – Number of observables
nztrue – Number of event outputs
nmaxevent – Maximal number of events to track
-
ExpData(int nytrue, int nztrue, int nmaxevent, std::vector<realtype> ts)
constructor that initializes timepoints from vectors
- Parameters:
nytrue – Number of observables
nztrue – Number of event outputs
nmaxevent – Maximal number of events to track
ts – Timepoints (dimension: nt)
-
ExpData(int nytrue, int nztrue, int nmaxevent, std::vector<realtype> ts, std::vector<realtype> fixed_parameters)
constructor that initializes timepoints and fixed parameters from vectors
- Parameters:
nytrue – Number of observables
nztrue – Number of event outputs
nmaxevent – Maximal number of events to track
ts – Timepoints (dimension: nt)
fixed_parameters – Model constants (dimension: nk)
-
ExpData(int nytrue, int nztrue, int nmaxevent, std::vector<realtype> ts, std::vector<realtype> const &observed_data, std::vector<realtype> const &observed_data_std_dev, std::vector<realtype> const &observed_events, std::vector<realtype> const &observed_events_std_dev)
constructor that initializes timepoints and data from vectors
- Parameters:
nytrue – Number of observables
nztrue – Number of event outputs
nmaxevent – Maximal number of events to track
ts – Timepoints (dimension: nt)
observed_data – observed data (dimension: nt x nytrue, row-major)
observed_data_std_dev – standard deviation of observed data (dimension: nt x nytrue, row-major)
observed_events – observed events (dimension: nmaxevents x nztrue, row-major)
observed_events_std_dev – standard deviation of observed events/roots (dimension: nmaxevents x nztrue, row-major)
-
explicit ExpData(Model const &model)
constructor that initializes with Model
- Parameters:
model – pointer to model specification object
-
ExpData(ReturnData const &rdata, realtype sigma_y, realtype sigma_z, int seed = -1)
Constructor that initializes with ReturnData, adds normally distributed noise according to specified sigmas.
- Parameters:
rdata – return data pointer with stored simulation results
sigma_y – scalar standard deviations for all observables
sigma_z – scalar standard deviations for all event observables
seed – Seed for the random number generator. If a negative number is passed, a random seed is used.
-
ExpData(ReturnData const &rdata, std::vector<realtype> sigma_y, std::vector<realtype> sigma_z, int seed = -1)
Constructor that initializes with ReturnData, adds normally distributed noise according to specified sigmas.
- Parameters:
rdata – return data pointer with stored simulation results
sigma_y – vector of standard deviations for observables (dimension: nytrue or nt x nytrue, row-major)
sigma_z – vector of standard deviations for event observables (dimension: nztrue or nmaxevent x nztrue, row-major)
seed – Seed for the random number generator. If a negative number is passed, a random seed is used.
-
~ExpData() = default
-
int nytrue() const
number of observables of the non-augmented model
- Returns:
number of observables of the non-augmented model
-
int nztrue() const
number of event observables of the non-augmented model
- Returns:
number of event observables of the non-augmented model
-
int nmaxevent() const
maximal number of events to track
- Returns:
maximal number of events to track
-
int nt() const
number of timepoints
- Returns:
number of timepoints
-
void set_timepoints(std::vector<realtype> const &ts)
Set output ts.
If the number of timepoint increases, this will grow the observation/sigma matrices and fill new entries with NaN. If the number of ts decreases, this will shrink the observation/sigma matrices.
Note that the mapping from ts to measurements will not be preserved. E.g., say there are measurements at t = 2, and this function is called with [1, 2], then the old measurements will belong to t = 1.
- Parameters:
ts – ts
-
realtype get_timepoint(int it) const
Get timepoint for the given index.
- Parameters:
it – timepoint index
- Returns:
timepoint timepoint at index
-
void set_observed_data(std::vector<realtype> const &observed_data)
Set all measurements.
- Parameters:
observed_data – observed data (dimension: nt x nytrue, row-major)
-
void set_observed_data(std::vector<realtype> const &observed_data, int iy)
Set measurements for a given observable index.
- Parameters:
observed_data – observed data (dimension: nt)
iy – observed data index
-
bool is_set_observed_data(int it, int iy) const
Whether there is a measurement for the given time- and observable- index.
- Parameters:
it – time index
iy – observable index
- Returns:
boolean specifying if data was set
-
std::vector<realtype> const &get_observed_data() const
Get all measurements.
- Returns:
observed data (dimension: nt x nytrue, row-major)
-
realtype const *get_observed_data_ptr(int it) const
Get measurements for a given timepoint index.
- Parameters:
it – timepoint index
- Returns:
pointer to observed data at index (dimension: nytrue)
-
void set_observed_data_std_dev(std::vector<realtype> const &observed_data_std_dev)
Set standard deviations for measurements.
- Parameters:
observed_data_std_dev – standard deviation of observed data (dimension: nt x nytrue, row-major)
-
void set_observed_data_std_dev(realtype stdDev)
Set identical standard deviation for all measurements.
- Parameters:
stdDev – standard deviation (dimension: scalar)
-
void set_observed_data_std_dev(std::vector<realtype> const &observedDataStdDev, int iy)
Set standard deviations of observed data for a specific observable index.
- Parameters:
observedDataStdDev – standard deviation of observed data (dimension: nt)
iy – observed data index
-
void set_observed_data_std_dev(realtype stdDev, int iy)
Set all standard deviation for a given observable index to the input value.
- Parameters:
stdDev – standard deviation (dimension: scalar)
iy – observed data index
-
bool is_set_observed_data_std_dev(int it, int iy) const
Whether standard deviation for a measurement at specified timepoint- and observable index has been set.
- Parameters:
it – time index
iy – observable index
- Returns:
boolean specifying if standard deviation of data was set
-
std::vector<realtype> const &get_observed_data_std_dev() const
Get measurement standard deviations.
- Returns:
standard deviation of observed data
-
realtype const *get_observed_data_std_dev_ptr(int it) const
Get pointer to measurement standard deviations.
- Parameters:
it – timepoint index
- Returns:
pointer to standard deviation of observed data at index
-
void set_observed_events(std::vector<realtype> const &observedEvents)
Set observed event data.
- Parameters:
observedEvents – observed data (dimension: nmaxevent x nztrue, row-major)
-
void set_observed_events(std::vector<realtype> const &observedEvents, int iz)
Set observed event data for specific event observable.
- Parameters:
observedEvents – observed data (dimension: nmaxevent)
iz – observed event data index
-
bool is_set_observed_events(int ie, int iz) const
Check whether event data at specified indices has been set.
- Parameters:
ie – event index
iz – event observable index
- Returns:
boolean specifying if data was set
-
std::vector<realtype> const &get_observed_events() const
Get observed event data.
- Returns:
observed event data
-
realtype const *get_observed_events_ptr(int ie) const
Get pointer to observed data at ie-th occurrence.
- Parameters:
ie – event occurrence
- Returns:
pointer to observed event data at ie-th occurrence
-
void set_observed_events_std_dev(std::vector<realtype> const &observedEventsStdDev)
Set standard deviation of observed event data.
- Parameters:
observedEventsStdDev – standard deviation of observed event data
-
void set_observed_events_std_dev(realtype stdDev)
Set standard deviation of observed event data.
- Parameters:
stdDev – standard deviation (dimension: scalar)
-
void set_observed_events_std_dev(std::vector<realtype> const &observedEventsStdDev, int iz)
Set standard deviation of observed data for a specific observable.
- Parameters:
observedEventsStdDev – standard deviation of observed data (dimension: nmaxevent)
iz – observed data index
-
void set_observed_events_std_dev(realtype stdDev, int iz)
Set all standard deviations of a specific event-observable.
- Parameters:
stdDev – standard deviation (dimension: scalar)
iz – observed data index
-
bool is_set_observed_events_std_dev(int ie, int iz) const
Check whether standard deviation of event data at specified indices has been set.
- Parameters:
ie – event index
iz – event observable index
- Returns:
boolean specifying if standard deviation of event data was set
-
std::vector<realtype> const &get_observed_events_std_dev() const
Get standard deviation of observed event data.
- Returns:
standard deviation of observed event data
-
realtype const *get_observed_events_std_dev_ptr(int ie) const
Get pointer to standard deviation of observed event data at ie-th occurrence.
- Parameters:
ie – event occurrence
- Returns:
pointer to standard deviation of observed event data at ie-th occurrence
-
void clear_observations()
Set all observations and their standard deviations to NaN.
Useful, e.g., after calling ExpData::setTimepoints.
Public Members
-
std::string id
Arbitrary (not necessarily unique) identifier.
Protected Functions
-
void apply_dimensions()
resizes observedData, observedDataStdDev, observedEvents and observedEventsStdDev
-
void apply_data_dimension()
resizes observedData and observedDataStdDev
-
void apply_event_dimension()
resizes observedEvents and observedEventsStdDev
-
ExpData() = default