Skip to main content

Week 10

Progress this Week

Last week I had almost finished working on RateRules but I was having some trouble with models where the compartment size was being changed through a RateRule. Species in SBML models can be expressed in terms of their concentrations or their amounts. This is an issue that the SBML reference describes in great detail, so I had taken appropriate care to distinguish between the two while developing the simulator, however, there were still a few issues that caused the error I described above.

In our weekly meeting, we spent some time discussing this and the mentors suggested that I try an alternative approach, where the AST nodes will be modified before running the simulator. So, wherever a species occurs in an AST in concentration units, it is changed to (species / compartment). This allows the simulator to substitute amount values while evaluating mathematical expressions and makes integration easier and more accurate.

While doing this, I found another error, where I had stored the initial value of the compartment in an ODE object, and that was never being updated. I have since fixed both these issues and RateRules are now working as expected, even on Compartments.

Moreover, I tested some more models and fixed bugs in the simulator and added support for minor MathML constructs like Rational and exponential-notation numbers. 

As the GSoC coding period has drawn to a close, I will be working on the final report in the next few days with a description of progress so far, next steps and test coverage.

Plan for the Coming Week

Submit the final report.

Comments