Class SimulationResultWriter

Class Documentation

class SimulationResultWriter

The SimulationResultWriter class saves AMICI simulation results for one or multiple conditions to an HDF5 file.

Will write to existing file or create new one. Will fail if the dataset to be written already exist.

Structure is

rootPath/
+- yMes/$conditionIdx [double: nt x ny] (nt may be condition-specific)
+- ySim/$conditionIdx [double: nt x ny] (nt may be condition-specific)
+- llh [double: nConditions]
+- ...

Public Functions

SimulationResultWriter() = default
SimulationResultWriter(const H5::H5File &file, std::string rootPath)

SimulationResultWriter.

Parameters:
  • file – HDF5 file object to write to

  • rootPath – Path prefix inside HDF5 file

SimulationResultWriter(std::string const &hdf5FileName, std::string rootPath)

SimulationResultWriter.

Parameters:
  • hdf5FileName – HDF5 file to create or open for appending

  • rootPath – Path prefix inside HDF5 file

SimulationResultWriter(SimulationResultWriter const&) = delete
~SimulationResultWriter()
void createDatasets(hsize_t numSimulations)

Create results datasets.

Must be called before first call to save*

Parameters:

numSimulations

void createDatasets(int numberOfSimulations = 1)
void saveSimulationResults(const amici::ExpData *edata, const amici::ReturnData *rdata, int simulationIdx)

Save results for a single simulation to HDF5 file.

Parameters:
  • edata

  • rdata

  • simulationIdx – If >= 0: write results in the selected position of the result data sets (-> createDatasets)

void saveTimepoints(gsl::span<const double> timepoints, int simulationIdx) const
void saveMeasurements(gsl::span<const double> measurements, int nt, int nytrue, int simulationIdx) const
void saveModelOutputs(gsl::span<const double> outputs, int nt, int nytrue, int simulationIdx) const
void saveStates(gsl::span<const double> states, int nt, int nx, int simulationIdx) const
void saveParameters(gsl::span<const double> parameters, int simulationIdx) const
void saveLikelihood(double llh, int simulationIdx) const
H5::H5File reopenFile()

Public Members

bool saveX = false
bool saveLlh = false
bool saveYSim = false
bool saveYMes = false
bool save_parameters_ = false
std::string yMesPath
std::string ySimPath
std::string xPath
std::string llhPath
std::string timePath
std::string parametersPath