Posts

Showing posts from August, 2020

End of GSoC 2.0

    My second innings of Google Summer of Code comes to an end. I have learned a lot of things. There is still some work left which I will complete after my exams. The link to my summer internship report is https://gist.github.com/debashish05/e1ec288a81d77e0fe61cbf336d147109 . I have learned a lot of things from my mentors and develop an inclination towards research. Works Done during this period: 1) RRPlugins have been integrated with Libroadrunner. So we don't require a separate build for rrplugins. Earlier this task was achieved in my last year project. But the problem is the change in roadrunner will force the plugins to need to rebuild, which is not the case now. 2) Build time will reduce since the plugins and roadrunner are not interdependent. Updated all the plugins (https://github.com/sys-bio/rrplugins/tree/master/plugins/released), in the current system. Earlier these plugins were not working due to outdated wrapper and some minor bugs. 3) Updated Python wrapper for rrplug

Monte Carlo Bootstrap

Image
 The main work of Monte Carlo is to " Get some confidence   estimates".   The Monte Carlo plugin is used to obtain estimates of the confidence limits for a model’s parameters. This is in the context where experimental data exists and a parameter minimization method, such as Levenberg-Marquardt or Nelder-Mead has already been used in order to find a parameter minimum. The Monte Carlo algorithm is used subsequently at this minimum and will give an estimate of parameter confidence limits corresponding to the variance in the original experimental data. The plugin has properties such as the size of the Monte Carlo population, minimization algorithm to use (e.g. Nelder-Mead or Levenberg-Marquardt), and on output, confidence limits for each involved parameter. With some past updates, Monte Carlo is not working mainly due to the modifications in rrplugins and change of python version from 2.x to 3.x. I have modified the wrapper to let it work. Majorly the problem was with the passing

Update old plugins to Work in the current system

Image
 I have updated all the plugins ( https://github.com/sys-bio/rrplugins/tree/master/plugins/released ) working in the old system. Mostly they are not working because of the wrapper. When we pass a python string to C through CPython we need to it the format ctypes.c_char_p(String.encode('utf-8')) where String is the "string" we need to pass. Currently, the optimizer is not working if we need to fit the data by skipping any species. It is the first bad design I have seen in rrplugins. Now I am trying to port all the plugins from the old system to the new system.  One of the optimization example where I have to fit rate K1 and K2 based on species S1, S2, and S3 is:  Model: antimony_str = """ J1: S1 -> S2; k1*S1 J2: S2 -> S3; k2*S2    S1 = 1; S2 = 0; S3 = 0;  k1 = 0; k2 = 0;  """ The exact fitted value is k1 =0.45 and k2=0.15.  My output comes out to be  ChiSquare =  1.6501935363049038 Reduced ChiSquare =  0.017555250386222382 k1

Moved addNoise plugin to the new architecture

Image
 So finally I have moved on to the architecture system that I have developed. Where a change in the host doesn't need to rebuild plugins and change in the plugin didn't need to rebuild host. It is supposed to be the same but the earlier host consist of two different projects and one project has a dependency over others. Let's denote it by two projects A and B with plugin C. Now B is dependent on A and if the functionality of A is used by plugin and A gets changed then the whole system needs to rebuild. The main problem was to maintain backward compatibility and not to break anything.  We need to remove this dependency thing and made it simple between hosts and plugins. I also modified some plugins to work in the new architecture.  Now I looking to port old plugins to the new system. Around 3 weeks are left for the final submission and I am also left with the optimizer and moving old plugins to the new architecture.  One of the examples of plugin added to the new system.  &g