The tests in this directory are of two types: tests that check that a stochastic simulation of the reactions in the SBML models are correct (with the testType StochasticTimeCourse
), and tests that check that assignments drawn from distributions (from the 'Distributions' package) are correct (with the testType StatisticalDistribution
).
The first 39 tests are all of type StochasticTimeCourse
and were drawn from the SBML Discrete Stochastic Model Test Suite (DSMTS), developed and contributed by Thomas Evans, Colin Gillespie and Darren Wilkinson. Each test case consists of an SBML model intended for simulation in a discrete stochastic regime; the models have been solved either analytically or using numerical methods, and the expected time course data, together with expected means and standard deviations of model species quantities, are provided for each test case. The combination of models and known results may be used to test the behavior of SBML-compatible stochastic simulation systems.
The StatisticalDistribution
tests were developed by Lucian Smith to test implementations of the Distributions package. They are included here because the same basic testing structure (repeated tests where the means and standard deviations are compared to expectations) is required.
Main Authors: Thomas W. Evansa, Colin S. Gillespieb, Darren J. Wilkinsonb, Lucian P. Smithc,d
Institutions:
a University of Liverpool, Liverpool, UK
b Newcastle University, Newcastle, UK
c California Institute of Technology, Pasadena, CA, US
d University of Washington, Seattle, WA, US
Repository: https://github.com/sbmlteam/sbml-test-suite
Bug tracker: https://github.com/sbmlteam/sbml-test-suite/issues
Developers' discussion group: https://groups.google.com/forum/#!forum/moccasin-dev
Pivotal tracker: https://www.pivotaltracker.com/n/projects/68714
If you use this test suite, please cite the following paper:
- Evans, T. W., Gillespie, C. S., Wilkinson, D. J. The SBML discrete stochastic models test suite, Bioinformatics, 24:285-286, 2008.
Please also indicate the specific version of the SBML Test Suite you use, to improve other people's ability to reproduce your results.
The directories and files have been renamed from their original versions according to the conventions used elsewhere in the SBML Test Suite, but many of the files in each subdirectory are still named as they were originally so that the correspondences between this and the DSMTS should be easy to identify.
Here are the files in each directory (where N
, Y
and Z
are digits):
NNNNN-model.m
– model descriptionNNNNN-plot.html
– interactive plot of simulation resultsNNNNN-plot.jpg
– image of plot of simulation resultsNNNNN-results.csv
– SBML Test Suite-style results fileNNNNN-sbml-l2v1.xml
– SBML Level 2 Version 1 model fileNNNNN-sbml-l2v2.xml
– SBML Level 2 Version 2 model fileNNNNN-sbml-l2v3.xml
– SBML Level 2 Version 3 model fileNNNNN-sbml-l2v4.xml
– SBML Level 2 Version 4 model fileNNNNN-sbml-l2v5.xml
– SBML Level 2 Version 5 model fileNNNNN-sbml-l3v1.xml
– SBML Level 3 Version 1 model fileNNNNN-sbml-l3v2.xml
– SBML Level 3 Version 2 model fileNNNNN-settings.txt
– SBML Test Suite settings filedsmts-YYY-ZZ.mod
– original model definitiondsmts-YYY-ZZ-mean.csv
– means of the simulation resultsdsmts-YYY-ZZ-sd.csv
– standard deviations of the results
The files NNNNN-sbml-l3v1.xml
are renamed versions of the original
model files, which had names of the form dsmts-YYY-ZZ.xml
. One
slight change was made for each: all compartments were given a
spatialDimensions
attribute so that they could be translated to SBML
Level 2.
The files NNNNN-sbml-l2vN.xml
are translated versions of the original SBML Level 3 version of the model.
The file NNNNN-results.csv
is a new file added for the purposes of the SBML Test Suite. NNNNN-results.csv
is simply a combination of the mean and standard deviation results files that are separated in the DSMTS; the other parts of the SBML Test Suite use a single results file, so we simply combined the DSMTS results into one file.
The file NNNNN-model.m
is a new file added for the purposes of the SBML Test Suite. It mirrors the model file in the semantic test suite, with the same overall format, same suite of component tags and test tags, and same overall description. The only difference is that the testType
listed for all stochastic test suite models is StochasticTimeCourse
.
The file NNNNN-settings.txt
is a new file added for the purposes of the SBML Test Suite. It mirrors the settings files in the semantic test suite, with a few differences:
-
The
absolute
andrelative
settings are unused, as the method used to calculate a stochastic test success or failure is very different from that of a normal semantic test suite simulation. -
A new
output
setting is used, which lists all theX-mean
andX-sd
entries present in theNNNNN-results.csv
file. The relevant output model variables are still listed in thevariables
andamount
settings –output
appends both-mean
and-sd
to those variables. -
New
meanRange
andoutputRange
settings are included, to be used in assessing a stochastic run's success or failure (see below).
The files NNNNN-plot.*
are plots of the simulation results. The HTML version of the file is interactive; mousing over the plot lines brings up a dynamic display of the value at that point in the plot. The JPG image is a static version of the plot.
Finally, the files whose names begin with dsmts-
are the original files from the DSMTS created by Evans, Gillespie and Wilkinson.
For all tests, the stochastic simulations of these models should be run n times, where n is at a minimum 1,000, but more reasonably set to 10,000 for repeated tests, and which will need to be 100,000 or 1,000,000 to detect more subtle implementation errors. Once the tests have been run, the NNNNN-settings.txt
file will contain one or more of the following entries, where X
is the name of the variable in question:
- X-mean: The average value of X for each time point t (Xt)
- X-sd: The standard deviation of the set of X values for each time point t (St)
- ln(X)-mean: The average value of the natural log of X for each time point t (ln(X)t)
- X-sd: The standard deviation of the set of the natural log of X values for each time point t (Sln, t)
Any requested calculated values are then compared with expected values found in the NNNNN-results.csv
files, with the same column titles as above. If we designate the expected means as mut, and the expected standard deviations as sigmat, we then calculate Z (if X-mean
or ln(X)-mean
are in the expected output):
Zt = sqrt(n) * (Xt - mut)/sigmat
and Y (if X-sd
or ln(X)-sd
are in the expected output):
Yt = sqrt(n/2) * (St2/sigmat2 - 1)
Zt should fall in the range meanRange
from the settings file (often the range (-3,3)).
Yt should fall in the range sdRange
from the settings file (often the range (-5,5)).
Due to the nature of stochastic simulation, a correct simulator will still occasionally fail a test or two here or there, especially when multiple tests are being performed. Z or Y failing 0-1 times per test is great, and failing 2-3 times should probably be checked to see if this is consistent, and/or at the same time points.
Note that for some tests, X-sd
is provided in XXXX-results.txt
but not requested in XXXXX-settings.txt
. This is because the expected standard deviations (sigmas) are requried to calculate Z, but the distribution in question has no expected range for the standard deviations themselves.
More details about the first 39 tests are included in the document DSMTS-userguide-31v2.pdf included in this directory.
As of this writing, the DSMTS is not integrated into the SBML Test Suite Test Runner or the database of test results at http://sbml.org/Facilities/Database. The DSMTS is distributed with the SBML Test Suite in order to encourage developers to begin investigating how they might be able to use it, but users and developers need to develop their own approaches to running the tests in software.
Please see the user guide in the file DSMTS-userguide-31v2.pdf in this directory for more information about the DSMTS.
Originally developed circa 2007-2010. The SBML Level 3 Version 1 version of DSMTS (dated October 21, 2010) was added to the SBML Test Suite distribution in 2015.
The DSMTS is licensed under the GNU LGPL by the original authors (Evans, Gillespie, Wilkinson).
More information about the SBML Test Suite is available online at http://sbml.org/Software/SBML_Test_Suite.