The evaluation of semantic and stochastic test results is done by comparing the numerical output produced by a simulation system to expected outputs.
Format of results data
The expected (or reference) results stored in the file NNNNN-results.csvNNNNN
are simply organized as a table of values. The values will be slightly different depending on whether a TimeCourse or FluxBalanceSteadyState test was requested.
Results data format for TimeCourse tests
The expected (or reference) results stored in the file NNNNN-results.csvvariables: line in the NNNNN-settings.txt
time,S1,S2 0,1.5e-15,0 0.1,1.357256127053693e-15,1.427438729463058e-16 0.2,1.228096128602129e-15,2.719038713978695e-16 0.3,1.111227330205311e-15,3.887726697946884e-16 0.4,1.005480064513687e-15,4.945199354863119e-16 0.5,1.005480064513687e-15,4.945199354863119e-16
The first line of the file lists the columns, and the rest are numerical data. The total number of lines of data in the file is X + 1, where X is the value of the steps: line in the NNNNN-settings.txt
It is possible for some values to be Not a Number (indicating the result is not mathematically defined, such as attempting to divide by zero or perform an operation involving infinity). It is also possible for values to be +∞ or -∞. There does not appear to be an agreed-upon standard way of expressing these values in comma-separated files, so the SBML Test Suite uses the following convention:
| Value | Symbol used |
|---|---|
| NaN | NaN |
| +∞ | INF |
| -∞ | -INF |
These symbols are treated in a case-insensitive manner by the SBML Test Suite.
Results data format for FluxBalanceSteadyState tests
As for the ‘TimeCourse’ results, FluxBalanceSteadyState test results are stored in the file NNNNN-results.csv
R01,R26,R10,R07,OBJF 1.0,1.0,0.5,0.5,1.0
As for the TimeCourse results, it is also possible for FluxBalanceSteadyState results to contain Not a Number, +∞ and -∞, reported as described in the table above.
Interpreting tolerances and errors
The NNNNN-settings.txt file defines the tolerances allowed on the results of each test case. There are two values: an absolute tolerance, and a relative tolerance. The absolute and relative tolerances are used in the following way.
Let
Ta = the absolute tolerance for this test case
Tr = the relative tolerance for this test case
Cij = the correct value for row i, column j, of the result data
Uij = the value actually obtained by the user
then a data point Uij is considered to be within tolerances if and only if the following holds: