GSoC 2023 - INCF: Integration of Automated Model Testing and Parameter Fitting Tools for Neuroscience Applications
This project aims to develop seamless integration between HippoUnit (a software tool for the automated testing and systematic comparison of detailed models of hippocampal neurons) and Neuroptimus (formerly known as Optimizer), which is designed to enable advanced parameter optimization methods, such as evolutionary algorithms and swarm intelligence, for various problems in neuronal modeling. This integration will allow the construction of detailed biophysical models of hippocampal neurons, ultimately optimizing a broader range of neuronal behaviors and enhancing biophysical models of hippocampal neurons. The project is an extension of the work carried out by Martin Blazsek during GSoC 2022, where he laid the foundation for the integration between HippoUnit and the previous version of Neuroptimus (Optimizer).
My primary task is to integrate Martin's prototype solution with the latest version of Neuroptimus for both CLI and GUI modes and add support for the remaining HippoUnit tests that were not integrated in the previous GSoC.
Here is a list of the main tasks completed during the GSoC period:
- Porting the old Neuroptimus-HippoUnit integration to the latest version of Neuroptimus, testing, and ensuring that the previously integrated tests still function in the new version.
- Testing the compatibility between Neuroptimus and Neuroptimus's feature-based optimization functionality.
- Preparing the graphical interface of Neuroptimus for integration with HippoUnit, which includes:
- Transforming the Qt based GUI of Neuroptimus into a scalable one as the old GUI was not scalable.
- Enhancing the user experience of the GUI by reorganizing the GUI elements, adding new ones, and resolving blocking issues that occur during the optimization process.
- Adding HippoUnit's specific GUI elements to the Neuroptimus GUI and optimizing the GUI logic to make it more user-friendly.
- Implementing a penalty mechanism for missing features in HippoUnit-based optimization to guide the optimization process in the right direction.
- Integrating ObliqueIntegrationTest, BackpropagationAPTest, and PathwayInteraction tests.
The following pull request contain all the changes to HippoUnit:
The following is a link to a Fork of the new version of Neuroptimus available in my Github page:
-
Scalable Neuroptimus GUI with HippoUnit integrated:
Before:
There is one more thing left to do, which is finalizing the results display in the GUI for HippoUnit-based optimization. The current version of Neuroptimus only displays results for Neuroptimus's native optimization. HippoUnit's results are not yet handled, but I will work on this after the GSoC period.