GSoC Week 10

This week I mainly worked on adding the support of the stochastic simulation to SBSCL. And, it is excellent that the simulation is giving great results with most tests passing. This addition of stochastic simulation has improved SBSCL supporting most of the simulation types now, which makes it a fully-featured simulation library. Now, here’s the summary of the work done this week with the topics discussed in the meeting:


  • Mentors suggested writing the work done overview of the week before some hours of the meeting so that they can go through and provide their views in the meeting properly.
  • We then mainly discussed the stochastic simulation implementation (using FERN) and the runtime due to simulating many times to get the mean and standard deviation.
  • We decided to test all the models from the stochastic test suite and update the result format according to the test suite results.
  • I worked on this mainly, and now the output format of the result is updated. The new test file StochasticTestSuiteTest.java has been added, which simulates all the models and calculates the mean and standard deviation useful for comparing the pre-defined results from the SBML Test Suite.
  • We have compared the mean and standard deviation according to the metric defined in the SBML Test Suite for passing or failing the models. Below is the complete description of the comparison inequalities (from SBML Test Suite repository):



  • On testing the models, there were some issues which are now resolved in my forked repository. The issues were:
    • To check that the species has the substance units, FERN used getHasOnlySubstanceUnits() instead of isSetHasOnlySubstanceUnits(), which failed some of the test cases.
    • And another issue was in the method getSpecies() in the MathTree class that provides the indices of the species present in the math function. This method just ran a loop over the node instead of recursively going through all the children. So, I updated this now by running a depth-first search (using Stack) checking all the children nodes and getting the species' indices correctly.
  • After making these updates, 36 out of 39 models are now simulating successfully from the stochastic test suite. The three models that are yet not simulating are due to the following reasons:
    • One model (Test case 19) has rules defined. But, FERN, which we are using for the stochastic simulation, currently does not support rules.
    • Two other models (Test case 10 & 11) do not have the substance units field. While FERN now requires substance units field, so they are not simulating.
  • Out of 36 remaining models, about 25 are passing fine on simulating each model 1000 times. Other failing are having some deviation in the mean and standard deviation on which I am currently working (will discuss in the next blogpost).
  • Also, the main SBSCL repository is now updated with the new classes of FERN. I made a pull request PR #53, which has now been merged.


These are the main updates I did this week by adding support for the stochastic simulations. The updated code can be found at the fern branch of my forked repository.


Regards!

Comments

Popular posts from this blog

GSoC Week 11

Starting Google Summer of Code 2020