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> fixedParameters)
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)
fixedParameters – Model constants (dimension: nk)
-
ExpData(int nytrue, int nztrue, int nmaxevent, std::vector<realtype> ts, std::vector<realtype> const &observedData, std::vector<realtype> const &observedDataStdDev, std::vector<realtype> const &observedEvents, std::vector<realtype> const &observedEventsStdDev)
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)
observedData – observed data (dimension: nt x nytrue, row-major)
observedDataStdDev – standard deviation of observed data (dimension: nt x nytrue, row-major)
observedEvents – observed events (dimension: nmaxevents x nztrue, row-major)
observedEventsStdDev – 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)
constructor that initializes with returnData, adds 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
-
ExpData(ReturnData const &rdata, std::vector<realtype> sigma_y, std::vector<realtype> sigma_z)
constructor that initializes with returnData, adds 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)
-
~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 setTimepoints(std::vector<realtype> const &ts)
Set output timepoints.
If the number of timepoint increases, this will grow the observation/sigma matrices and fill new entries with NaN. If the number of timepoints decreases, this will shrink the observation/sigma matrices.
Note that the mapping from timepoints 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 – timepoints
-
realtype getTimepoint(int it) const
Get timepoint for the given index.
- Parameters:
it – timepoint index
- Returns:
timepoint timepoint at index
-
void setObservedData(std::vector<realtype> const &observedData)
Set all measurements.
- Parameters:
observedData – observed data (dimension: nt x nytrue, row-major)
-
void setObservedData(std::vector<realtype> const &observedData, int iy)
Set measurements for a given observable index.
- Parameters:
observedData – observed data (dimension: nt)
iy – observed data index
-
bool isSetObservedData(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 &getObservedData() const
Get all measurements.
- Returns:
observed data (dimension: nt x nytrue, row-major)
-
realtype const *getObservedDataPtr(int it) const
Get measurements for a given timepoint index.
- Parameters:
it – timepoint index
- Returns:
pointer to observed data at index (dimension: nytrue)
-
void setObservedDataStdDev(std::vector<realtype> const &observedDataStdDev)
Set standard deviations for measurements.
- Parameters:
observedDataStdDev – standard deviation of observed data (dimension: nt x nytrue, row-major)
-
void setObservedDataStdDev(realtype stdDev)
Set identical standard deviation for all measurements.
- Parameters:
stdDev – standard deviation (dimension: scalar)
-
void setObservedDataStdDev(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 setObservedDataStdDev(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 isSetObservedDataStdDev(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 &getObservedDataStdDev() const
Get measurement standard deviations.
- Returns:
standard deviation of observed data
-
realtype const *getObservedDataStdDevPtr(int it) const
Get pointer to measurement standard deviations.
- Parameters:
it – timepoint index
- Returns:
pointer to standard deviation of observed data at index
-
void setObservedEvents(std::vector<realtype> const &observedEvents)
Set observed event data.
- Parameters:
observedEvents – observed data (dimension: nmaxevent x nztrue, row-major)
-
void setObservedEvents(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 isSetObservedEvents(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 &getObservedEvents() const
Get observed event data.
- Returns:
observed event data
-
realtype const *getObservedEventsPtr(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 setObservedEventsStdDev(std::vector<realtype> const &observedEventsStdDev)
Set standard deviation of observed event data.
- Parameters:
observedEventsStdDev – standard deviation of observed event data
-
void setObservedEventsStdDev(realtype stdDev)
Set standard deviation of observed event data.
- Parameters:
stdDev – standard deviation (dimension: scalar)
-
void setObservedEventsStdDev(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 setObservedEventsStdDev(realtype stdDev, int iz)
Set all standard deviations of a specific event-observable.
- Parameters:
stdDev – standard deviation (dimension: scalar)
iz – observed data index
-
bool isSetObservedEventsStdDev(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 &getObservedEventsStdDev() const
Get standard deviation of observed event data.
- Returns:
standard deviation of observed event data
-
realtype const *getObservedEventsStdDevPtr(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 applyDimensions()
resizes observedData, observedDataStdDev, observedEvents and observedEventsStdDev
-
void applyDataDimension()
resizes observedData and observedDataStdDev
-
void applyEventDimension()
resizes observedEvents and observedEventsStdDev
-
ExpData() = default