diff --git a/specification/level-1-version-4/sed-ml-L1V4.pdf b/specification/level-1-version-4/sed-ml-L1V4.pdf index 4e0a357..282da0e 100644 Binary files a/specification/level-1-version-4/sed-ml-L1V4.pdf and b/specification/level-1-version-4/sed-ml-L1V4.pdf differ diff --git a/specification/level-1-version-4/sources/concepts.tex b/specification/level-1-version-4/sources/concepts.tex index 4d21369..bd0f4a3 100644 --- a/specification/level-1-version-4/sources/concepts.tex +++ b/specification/level-1-version-4/sources/concepts.tex @@ -336,7 +336,7 @@ \subsubsection{HDF5 (Hierarchical Data Format version 5)} \label{sec:dataFormatHDF5} The format \concept{HDF5} is defined at \url{https://portal.hdfgroup.org/display/HDF5/HDF5}. It supports the storage of multidimensional data, and is therefore ideal for storing the SED-ML output of repeated tasks; particularly nested repeated tasks. -Each dimension of SED-ML \RepeatedTask output should be labeled according to the \element{id} of the SED-ML object that describes that dimension, namely: +Each dimension of SED-ML \RepeatedTask output should be labeled according to the relevant \element{id} of the SED-ML object that describes that dimension, namely: \begin{itemize} \item The \element{id} of the top-level \RepeatedTask @@ -346,7 +346,9 @@ \subsubsection{HDF5 (Hierarchical Data Format version 5)} \item The \element{id} of the requested variable, or the infix representation of the \Math from the \DataGenerator. \end{itemize} -When a \DataGenerator contains a \DependentVariable that outputs a matrix, that matrix can also be labeled appropriately (such as with species or reaction ids). +When a \DependentVariable is used to reduce the dimensionality of a set of data, the \element{id}s of whatever dimensions remain should be used (defined by its \RemainingDimension children). The dimensions may by annotated to describe the dimension reduction as well. When a \DataGenerator contains a \DependentVariable that outputs a matrix, that matrix can also be labeled appropriately (such as with species or reaction ids). + +When output from multiple tasks are combined mathematically, their dimensions must match exactly, so the ids from either (or a combination of both) may be used. Again, annotations are recommended to describe how the data was combined. Each dimension may also be annotated in this format, with some ontology such as the 'Semanticscience Integrated Ontology' (SIO, \url{https://bioportal.bioontology.org/ontologies/SIO}). diff --git a/specification/level-1-version-4/sources/dataGenerator.tex b/specification/level-1-version-4/sources/dataGenerator.tex index c1e9ca7..f2e3392 100644 --- a/specification/level-1-version-4/sources/dataGenerator.tex +++ b/specification/level-1-version-4/sources/dataGenerator.tex @@ -3,13 +3,15 @@ \subsection{\element{DataGenerator}} The \concept{DataGenerator} class prepares the raw simulation results for later output (\fig{dataGenerator}). It encodes the post-processing to be applied to the simulation data. The post-processing steps could be anything, from simple normalisations of data to mathematical calculations. It inherits from \Calculation, changing the \element{id} attribute to be required instead of optional. +\sedfig[width=0.3\textwidth]{images/uml/dataGenerator}{The SED-ML DataGenerator class.} {fig:dataGenerator} + \begin{blockChanged} \Variable objects in \DataGenerator elements may be scalar or multidimensional. If the \Math of a \DataGenerator attempts to apply functions to multi-dimensional elements, those functions always apply to the individual scalar values of that data. If multiple multidimensional \Variable ids are used in the same \Math, those ids must each have the same dimensions as each other. No vector or matrix algebra functions such as dot products or cross products are allowed. A \Variable in a \DataGenerator may use the id of a \DataSource as its \element{target}, pre-pended by a \code{`\#'}, i.e. \val{\#dataSourceId}. This \Variable may be multidimensional, and if so, must follow the above strictures. -\end{blockChanged} -\sedfig[width=0.3\textwidth]{images/uml/dataGenerator}{The SED-ML DataGenerator class.} {fig:dataGenerator} +When multidimensional data is output to a \Report, information about the dimensions should be stored in the output format chosen for the report, such as \CSV or \HDF. +\end{blockChanged} \lsttext{dataGenerator}{dataGenerator}