sys-bio / roadrunner

libRoadRunner: A high-performance SBML simulator
http://libroadrunner.org/
Other
39 stars 25 forks source link

Support SBML L3V2 #379

Closed 0u812 closed 3 years ago

0u812 commented 7 years ago

Need to implement:

kirichoi commented 7 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:

luciansmith commented 6 years ago

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.

kirichoi commented 6 years ago

libRoadRunner has been updated with partial support for new SBML L3V2 features including min, max, rem, and quotient.

hsauro commented 6 years ago

Can you make a list of what's missing for the student who will work on roadrunner in the summer?

H

kirichoi commented 6 years ago

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.

luciansmith commented 6 years ago

Looks like the top things would be:

Other things may be one-offs that are odd combinations of different features.

kirichoi commented 6 years ago

I am also constantly updating the list here. I marked down certain tests because it tests either algebraicRule, Csymbol delay, or fast reactions.

hsauro commented 6 years ago

I think that will be a good starting point for the student to begin to understand the backend.

kirichoi commented 6 years ago

Support for AST_LOGICAL_IMPLIES added via commit 3bb092f6e3e9c099c6ea8efb72cd043fa34998ee.

luciansmith commented 3 years ago

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.