Skip to content

Commit

Permalink
Further fix for #52: discuss multidimensional output
Browse files Browse the repository at this point in the history
  • Loading branch information
luciansmith committed Jun 11, 2021
1 parent 49fed97 commit a00242b
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 4 deletions.
Binary file modified specification/level-1-version-4/sed-ml-L1V4.pdf
Binary file not shown.
6 changes: 4 additions & 2 deletions specification/level-1-version-4/sources/concepts.tex
Expand Up @@ -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
Expand All @@ -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}).
Expand Down
6 changes: 4 additions & 2 deletions specification/level-1-version-4/sources/dataGenerator.tex
Expand Up @@ -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}
Expand Down

0 comments on commit a00242b

Please sign in to comment.