GSoC Week 6

Hi,


This week was mainly focused on working to solve the issues of the SBML L3V2 encountered while simulating the SBML Test Suite using SBSCL. Out of 1809 tests from the SBML Test Suite (containing all the types and all the SBML levels and versions), about 57 SBML L3V2 tests fail. Here’s the complete summary of last week’s meeting with the work update during the week.


  • In the meeting, mentors suggested making a pull request to the main SBSCL repository with all the information of work done till now, so they can review the work properly. As discussed, I made the PR #48 last Thursday. With this, the requested changes from the mentors have also been updated. 
  • Mentors also suggested working on resolving the current SBML L3V2 issues this week rather than starting the work on support for FBC V3.
  • We discussed adding the delay functionality to the rateOf function. I worked on adding this feature, and we had many discussions on this, but due to the problems in getting the delayed values of derivatives, this property is not yet added to SBSCL.
  • We discussed the issue of triggering the events before time, but there is no clue for this until now. Issue #44 has been created to discuss this issue.
  • Mentors advised writing more efficient and quality code, like not involving repetitive computation in for loop and others. They also suggested making GitHub issues for failing models even if I don’t get any reason so that they can take a look and give some advice. Issue #47 is created for this.
  • Some code in the SBMLinterpreter class seems to be repetitive, which has to be refactored by investing the effects after their removal on the simulation.
  • In the init method, the methods processRules() and processInitialAssignments() are called until the Y array remains unchanged on calling them further. This solved some of the failed tests of the SBML Test Suite. Commit is linked here.
  • In the SBML Test Suite, there are models where species have amount units, but the initial values are given in the concentration units. This created issue in RuleValue class, which worked as per the units of the initial values. This has been now updated to work by checking whether the species has amount units or concentration units rather than their units of initial values.
  • The nodes with type FUNCTION were not considering the delay. Now, this has been updated in the FunctionValue class, which now considers the delay given.
  • There were some issues in the conversion factors like they do not apply to the rate rules. This has been solved now.
  • In the SBMLinterpreter, while calculating the values for the nodes defined for the events, compileBoolean has now been updated to compileDouble which passed some of the failing tests of the SBML Test Suite. Commit link.
  • All these discussed changes are added to the PR stated above, which will update the main SBSCL repository once merged.


All the updates changes can be viewed at the testrunner branch in my forked repository. The code changes of the issues which I resolved above can be found in the commits linked to issue #47.


Regards!

Comments

Popular posts from this blog

GSoC Week 10

GSoC Week 11

Starting Google Summer of Code 2020