Closed 0u812 closed 3 years ago
Initial testing returns with at least 298 tests passing (~53%) for SBML test suite 3.3.0. The result below is for future reference when we tackle each issue.
3.2.0 test result for reference:
3.3.0 test result for reference:
elements without child elements
rateOf
max, min, rem, quotient, and implies
Boolean values in numeric contexts
csymbols with names that shadow other parameters or functions
(assignmentRule specific issue)hierarchical models
(IGNORE - AlgebraicRule)combinations of fast reactions
(IGNORE - FastReaction)rateOf and delay csymbols
(IGNORE - CSymbolDelay)single reactions that have multiple speciesReferences
delay csymbol and the VolumeConcentrationRates
(IGNORE - CSymbolDelay)rateOf csymbol with compartments having volumes other than 1
rateOf csymbol that points to a parameter
rateOf csymbol with VolumeConcentrationRates
assigned stoichiometries with no MathML
volume concentration rates with a function definition
csymbol avogadro
stoichiometry math with the delay csymbol
(IGNORE - CSymbolDelay)rateOf csymbol in an algebraic rule
(IGNORE - AlgebraicRule)combinations of uncommon MathML
combination of species references in MathML with volume concentration rates
algebraic rules with conversion factors and uncommon MathML
(IGNORE - AlgebraicRule)volume concentration rates in concert with events of various types
volume concentration rates in concert with initial assignments
uncommon MathML in rate rules and with assigned stoichiometries
csymbol delay with various types of events
(IGNORE - CSymbolDelay)rateOf csymbol with various types of events
csymbol delay when assigning to stoichiometries, with boundary species, and with fast reactions
(IGNORE - CSymbolDelay)rateOf csymbol with boundary species and with assigned stoichiometries
conversion factors in reactions that have a fast attribute value of true
reactions that have fast="true" with function definitions having various kinetic laws
assigning to stoichiometries, but with missing MathML
assigning to boundary species, but with missing MathML
referencing a species reference from a fast reaction
(IGNORE - FastReaction)uncommon MathML used to assign to kinetic laws of normal and fast reactions
(IGNORE case 01565 - FastReaction)fast reactions with algebraic rules, assignment rules, rate rules, and initial assignments
(IGNORE - FastReaction)fast reactions with assigned stoichiometries
(IGNORE - FastReaction)assigned stoichiometries for boundary species
algebraic rules with various types of events and event elements
(IGNORE - AlgebraicRule)random events with initial assignments, algebraic rules, rate rules, delayed events, and the csymbol delay
(IGNORE - AlgebraicRule/CSymbolDelay)missing MathML in delayed events
random events with additional event assignments with no MathML
random events with stoichiometries and volume-concentration rates
species reference with an empty assignment rule
function definitions and various events, including ones that fire at t0, and those affected by assignment-time or trigger-time settings
initial assignments with various types of events, especially those that fire at time = 0
Thanks for getting all this set up! The tests that are l3v2-specific have the tags:
CSymbolRateOf BoolNumericSwap L3v2MathML NoMathML
If you manage to pass those as you would expect (i.e. pass the ones for which you also support all the other tags in that test), let me know. And if any of them are confusing, let me know about that, too--part of the spec approval process is making sure implementors both understand and can implement the new spec, so if you find anything weird, we still have a chance to fix it.
Also, a handful of the tests have been updated based on feedback from Chris Myers's group, so make sure you grab the latest version.
libRoadRunner has been updated with partial support for new SBML L3V2 features including min, max, rem, and quotient.
Can you make a list of what's missing for the student who will work on roadrunner in the summer?
H
I think the list above is good enough to start. Feature-wise, there's not much to add (we need implies
and rateOf
). Most of the failing tests are probably due to some bugs or edge cases, which need detailed inspection of the code and the test files.
Looks like the top things would be:
Other things may be one-offs that are odd combinations of different features.
I am also constantly updating the list here. I marked down certain tests because it tests either algebraicRule, Csymbol delay, or fast reactions.
I think that will be a good starting point for the student to begin to understand the backend.
Support for AST_LOGICAL_IMPLIES added via commit 3bb092f6e3e9c099c6ea8efb72cd043fa34998ee.
With https://github.com/sys-bio/roadrunner/pull/866 we now run every last one of the SBML Test Suite tests. We check that we pass every test that doesn't have a tag we don't support, and we test that we load the model (and perhaps complain) for every test that does have a tag that we don't support, to check that nothing crashes.
The remaining list of tags we don't support are:
badtags.push_back("AlgebraicRule"); badtags.push_back("CSymbolDelay"); badtags.push_back("fbc"); badtags.push_back("FastReaction"); badtags.push_back("VolumeConcentrationRate"); badtags.push_back("RateOf"); badtags.push_back("AssignedVariableStoichiometry");
We should, eventually, support those last three, and I actually have initial code to support RateOf. But apart from that, the other tags aren't l3v2-only, so I'm going to close this issue and open others for those specific issues. Thanks again to Kiri for doing so much on this back in the day.
Need to implement:
rateOf
(only applies to floating species or anything with a rate rule, evaluates to zero otherwise)min
/max
- return the min or max value of the arguments