Data for reports and plots of simulation results should be saved in HDF5 according to the following conventions:
time_course_results in a SED-ML file
located at ./path/to/experiment.sedml should be saved to
the path path/to/experiment.sedml/time_course_results.
Data set shapes: For SED reports, the rows of each HDF5
dataset should correspond to the SED data sets
(sedml:dataSet) specified in the SED-ML definition of
the report (e.g., time symbol, specific model varibles). For SED
plots, the rows of each HDF5 dataset should correspond to the SED
data generators (sedml:dataGenerator) specified in the
SED-ML definition of the plot (e.g., time symbol, specific model
varibles).
sedml:task:
sedml:repeatedTask: The first dimension of each row should represent the iterations
of the tasks that produced its values. The second dimension of
each data set should represent the individual sub-tasks of the
task. The results of sub-tasks should be ordered in the same order
the sub-tasks were executed (in order of their
order attributes). If repeated tasks are nested
within repeated tasks, the next dimensions should alternate
between representing the iterations and sub-tasks of the nested
repeated tasks. The final dimensions of each row should be encoded
as above for sedml:task. For example, non-spatial
time course simulations should have a single additional dimension
of length equal to the number of steps of the time course + 1.
If the rows of an HDF5 data set have different shapes, the data sets
should be reshaped into a consistent shape by right-padding their
values with NaN.
Metadata for reports: The following metadata should be encoded into attributes of the corresponding HDF5 dataset.
Report, Plot2D, Plot3D)
should be encoded into the key _type.
omex-manifest:content/@location) within its
parent COMBINE archive and the SED-ML id of the output
(sed:output/@id)) should be encoded into the key
uri.
sed:output/@id) should be encoded into the key
sedmlId.
sed:output/@name) should be encoded into the key
sedmlName.
sedmlDataSetIds. The value of this key should be an
array of the ids of the data sets, in the order in which the data
sets were defined in their parent SED document. For plots, the ids
of the data generators should be encoded into the key
sedmlDataSetIds. The value of this key should be an
array of the ids of the data generators, in the order in which the
data generators were defined in their parent SED document.
sedmlDataSetNames. For plots, the names of the data
generators should be encoded into the key
sedmlDataSetNames. The value of this key should be an
array of the ids of the data sets, in the order in which the data
sets were defined in their parent SED document.
sedmlDataSetLabels. For plots, the id of the data
generators should be encoded into the key
sedmlDataSetLabels. The value of this key should be
an array of the labels of the data sets, in the order in which the
data sets were defined in their parent SED document.
sedmlDataSetDataTypes. The value
of this key should be an array of the data types of the data
sets/generators, in the order in which the data sets/generators
were defined in their parent SED document. The data type of each
data set should be described using a NumPy dtype (e.g.,
int64) to indicate a data set whose value is non-null
or __None__ to indicate a data set whose value is
null.
sedmlDataSetShapes. The value of this key
should be an array of comma-separated lists of the shapes of the
data sets/generators. The shapes of the data sets/generators
should be listed in the order in which the data sets/generators
were defined in their parent SED document.
Metadata for SED-ML files: The following metadata should be encoded into attributes of the parent groups of HDF5 datasets which represent SED-ML files and their parent directories within their parent COMBINE archives.
omex-manifest:content/@location) should be encoded
into the keys uri and
combineArchiveLocation.
Several example reports are available here.
Below is a graphical illustration of the organization of a HDF5 file for
a SED report with id report-1 defined in a SED-ML file
located at experiment-1/batch-1/simulation-1.sedml within a
COMBINE/OMEX archive.
experiment-1/batch-1/simulation-1.sedml/report-1
| time | 0.0 | 1.0 | 2.0 | 3.0 | 4.0 | 5.0 | 6.0 | 7.0 | 8.0 | 9.0 | 10.0 | 11.0 | 12.0 | 13.0 | … |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| metabolite_a | 4 | 8 | 9 | 4 | 8 | 9 | 4 | 8 | 9 | 4 | 8 | NaN | NaN | NaN | … |
| metabolite_b | 3 | 1 | 5 | 4 | 3 | 6 | 7 | 5 | 4 | NaN | NaN | NaN | NaN | NaN | … |
| sum_metabolite_a_b | 7 | 4 | 3 | 3 | 3 | 4 | 5 | 6 | 6 | NaN | NaN | NaN | NaN | NaN | … |
| ratio_flux_c_d | 1.0 | 6.0 | 5.0 | 5.0 | 5.0 | 5.0 | 6.0 | 6.0 | 6.0 | 5.0 | 5.0 | 5.0 | 4.0 | 4.0 | … |
| … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … |
_type: Reporturi:
experiment-1/batch-1/simulation-1.sedml/report-1
sedmlId: report-1sedmlName: Report 1sedmlDataSetIds: time,
metabolite_a, metabolite_b,
sum_metabolite_a_b,
ratio_flux_c_d
sedmlDataSetLabels: Time,
Metabolite A, Metabolite B,
Sum of metabolites A and B,
Flux ratio of reactions C and D
sedmlDataSetDataTypes: float64,
int64, int64, int64,
float64
sedmlDataSetShapes: 14, 9,
11, 9,
14
experiment-1 HDF5 group for the grandparent directory of
the SED-ML file
uri: experiment-1combineArchiveLocation: experiment-1
experiment-1/batch-1 HDF5 group for the parent directory
of the SED-ML file
uri: experiment-1/batch-1combineArchiveLocation:
experiment-1/batch-1
experiment-1/batch-1/simulation-1.sedml HDF5 group for
the SED-ML file
uri:
experiment-1/batch-1/simulation-1.sedml
combineArchiveLocation:
experiment-1/batch-1/simulation-1.sedml
Below are helpful tools for building reports of simulation results: