Class ExpData

Class Documentation

class amici::ExpData

ExpData carries all information about experimental or condition-specific data.

Public Functions

ExpData() = default

default constructor

ExpData(const ExpData&) = default

Copy constructor, needs to be declared to be generated in swig.

ExpData(int nytrue, int nztrue, int nmaxevent)

constructor that only initializes dimensions

Parameters
  • nytrue:

  • nztrue:

  • nmaxevent:

ExpData(int nytrue, int nztrue, int nmaxevent, std::vector<realtype> ts)

constructor that initializes timepoints from vectors

Parameters
  • nytrue: (dimension: scalar)

  • nztrue: (dimension: scalar)

  • nmaxevent: (dimension: scalar)

  • ts: (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: (dimension: scalar)

  • nztrue: (dimension: scalar)

  • nmaxevent: (dimension: scalar)

  • ts: (dimension: nt)

  • fixedParameters: (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: (dimension: scalar)

  • nztrue: (dimension: scalar)

  • nmaxevent: (dimension: scalar)

  • ts: (dimension: nt)

  • observedData: (dimension: nt x nytrue, row-major)

  • observedDataStdDev: (dimension: nt x nytrue, row-major)

  • observedEvents: (dimension: nmaxevent x nztrue, row-major)

  • observedEventsStdDev: (dimension: nmaxevent x nztrue, row-major)

ExpData(const Model &model)

constructor that initializes with Model

Parameters
  • model: pointer to model specification object

ExpData(const ReturnData &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(const ReturnData &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

Return

number of observables of the non-augmented model

int nztrue() const

number of event observables of the non-augmented model

Return

number of event observables of the non-augmented model

int nmaxevent() const

maximal number of events to track

Return

maximal number of events to track

int nt() const

number of timepoints

Return

number of timepoints

void setTimepoints(const std::vector<realtype> &ts)

set function that copies data from input to ExpData::ts

Parameters
  • ts: timepoints

std::vector<realtype> const &getTimepoints() const

get function that copies data from ExpData::ts to output

Return

ExpData::ts

realtype getTimepoint(int it) const

get function that returns timepoint at index

Return

timepoint timepoint at index

Parameters
  • it: timepoint index

void setObservedData(const std::vector<realtype> &observedData)

set function that copies data from input to ExpData::my

Parameters
  • observedData: observed data (dimension: nt x nytrue, row-major)

void setObservedData(const std::vector<realtype> &observedData, int iy)

set function that copies observed data for specific observable

Parameters
  • observedData: observed data (dimension: nt)

  • iy: oberved data index

bool isSetObservedData(int it, int iy) const

get function that checks whether data at specified indices has been set

Return

boolean specifying if data was set

Parameters
  • it: time index

  • iy: observable index

std::vector<realtype> const &getObservedData() const

get function that copies data from ExpData::observedData to output

Return

observed data (dimension: nt x nytrue, row-major)

const realtype *getObservedDataPtr(int it) const

get function that returns a pointer to observed data at index

Return

pointer to observed data at index (dimension: nytrue)

Parameters
  • it: timepoint index

void setObservedDataStdDev(const std::vector<realtype> &observedDataStdDev)

set function that copies data from input to ExpData::observedDataStdDev

Parameters
  • observedDataStdDev: standard deviation of observed data (dimension: nt x nytrue, row-major)

void setObservedDataStdDev(realtype stdDev)

set function that sets all ExpData::observedDataStdDev to the input value

Parameters
  • stdDev: standard deviation (dimension: scalar)

void setObservedDataStdDev(const std::vector<realtype> &observedDataStdDev, int iy)

set function that copies standard deviation of observed data for specific observable

Parameters
  • observedDataStdDev: standard deviation of observed data (dimension: nt)

  • iy: observed data index

void setObservedDataStdDev(realtype stdDev, int iy)

set function that sets all standard deviation of a specific observable to the input value

Parameters
  • stdDev: standard deviation (dimension: scalar)

  • iy: observed data index

bool isSetObservedDataStdDev(int it, int iy) const

get function that checks whether standard deviation of data at specified indices has been set

Return

boolean specifying if standard deviation of data was set

Parameters
  • it: time index

  • iy: observable index

std::vector<realtype> const &getObservedDataStdDev() const

get function that copies data from ExpData::observedDataStdDev to output

Return

standard deviation of observed data

const realtype *getObservedDataStdDevPtr(int it) const

get function that returns a pointer to standard deviation of observed data at index

Return

pointer to standard deviation of observed data at index

Parameters
  • it: timepoint index

void setObservedEvents(const std::vector<realtype> &observedEvents)

set function that copies observed event data from input to ExpData::observedEvents

Parameters
  • observedEvents: observed data (dimension: nmaxevent x nztrue, row-major)

void setObservedEvents(const std::vector<realtype> &observedEvents, int iz)

set function that copies 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

get function that checks whether event data at specified indices has been set

Return

boolean specifying if data was set

Parameters
  • ie: event index

  • iz: event observable index

std::vector<realtype> const &getObservedEvents() const

get function that copies data from ExpData::mz to output

Return

observed event data

const realtype *getObservedEventsPtr(int ie) const

get function that returns a pointer to observed data at ieth occurrence

Return

pointer to observed event data at ieth occurrence

Parameters
  • ie: event occurrence

void setObservedEventsStdDev(const std::vector<realtype> &observedEventsStdDev)

set function that copies data from input to ExpData::observedEventsStdDev

Parameters
  • observedEventsStdDev: standard deviation of observed event data

void setObservedEventsStdDev(realtype stdDev)

set function that sets all ExpData::observedDataStdDev to the input value

Parameters
  • stdDev: standard deviation (dimension: scalar)

void setObservedEventsStdDev(const std::vector<realtype> &observedEventsStdDev, int iz)

set function that copies standard deviation of observed data for specific observable

Parameters
  • observedEventsStdDev: standard deviation of observed data (dimension: nmaxevent)

  • iz: observed data index

void setObservedEventsStdDev(realtype stdDev, int iz)

set function that sets all standard deviation of a specific observable to the input value

Parameters
  • stdDev: standard deviation (dimension: scalar)

  • iz: observed data index

bool isSetObservedEventsStdDev(int ie, int iz) const

get function that checks whether standard deviation of even data at specified indices has been set

Return

boolean specifying if standard deviation of event data was set

Parameters
  • ie: event index

  • iz: event observable index

std::vector<realtype> const &getObservedEventsStdDev() const

get function that copies data from ExpData::observedEventsStdDev to output

Return

standard deviation of observed event data

const realtype *getObservedEventsStdDevPtr(int ie) const

get function that returns a pointer to standard deviation of observed event data at ieth occurrence

Return

pointer to standard deviation of observed event data at ieth occurrence

Parameters
  • ie: event occurrence

Public Members

std::vector<realtype> fixedParameters

condition-specific fixed parameters of size Model::nk() or empty

std::vector<realtype> fixedParametersPreequilibration

condition-specific fixed parameters for pre-equilibration of size Model::nk() or empty. Overrides Solver::newton_preeq

std::vector<realtype> fixedParametersPresimulation

condition-specific fixed parameters for pre-simulation of size Model::nk() or empty.

std::vector<realtype> parameters

condition-specific parameters of size Model::np() or empty

std::vector<realtype> x0

condition-specific initial conditions of size Model::nx() or empty

std::vector<realtype> sx0

condition-specific initial condition sensitivities of size Model::nx() * Model::nplist(), Model::nx() * ExpData::plist.size(), if ExpData::plist is not empty, or empty

std::vector<ParameterScaling> pscale

condition-specific parameter scales of size Model::np()

std::vector<int> plist

condition-specific parameter list

realtype t_presim = 0

duration of pre-simulation if this is > 0, presimulation will be performed from (model->t0 - t_presim) to model->t0 using the fixedParameters in fixedParametersPresimulation

bool reinitializeFixedParameterInitialStates = false

flag indicating whether reinitialization of states depending on fixed parameters is activated

Protected Functions

void applyDimensions()

resizes observedData, observedDataStdDev, observedEvents and observedEventsStdDev

void applyDataDimension()

resizes observedData and observedDataStdDev

void applyEventDimension()

resizes observedEvents and observedEventsStdDev

void checkDataDimension(std::vector<realtype> const &input, const char *fieldname) const

checker for dimensions of input observedData or observedDataStdDev

Parameters
  • input: vector input to be checked

  • fieldname: name of the input

void checkEventsDimension(std::vector<realtype> const &input, const char *fieldname) const

checker for dimensions of input observedEvents or observedEventsStdDev

Parameters
  • input: vector input to be checked

  • fieldname: name of the input

Protected Attributes

int nytrue_ = {0}

number of observables

int nztrue_ = {0}

number of event observables

int nmaxevent_ = {0}

maximal number of event occurrences

std::vector<realtype> ts_

observation timepoints (dimension: nt)

std::vector<realtype> observed_data_

observed data (dimension: nt x nytrue, row-major)

std::vector<realtype> observed_data_std_dev_

standard deviation of observed data (dimension: nt x nytrue, row-major)

std::vector<realtype> observed_events_

observed events (dimension: nmaxevents x nztrue, row-major)

std::vector<realtype> observed_events_std_dev_

standard deviation of observed events/roots (dimension: nmaxevents x nztrue, row-major)