GSoC 2025 Project #36 EBrains :: Generating Realistic Cell Models from Experimental Data with Arbor and L2L (175/350h)

Mentors: Thorsten Hater <t.hater@fz-juelich.de>; Sandra Diaz s.diaz@fz-juelich.de

Skill level: Depending on how far the contributor wants to take the plan of designing high-level, neuroscience-specific features, some domain knowledge is beneficial, but most of it can be provided by the mentors

Required skills:

  • Good knowledge of Python3
  • Working with Git
  • Basic understanding of classical machine learning (GA, MCMC, …)

Welcome, but not required:

  • Working with Python packaging
  • Some knowledge of basic neuroscience
  • Working with Git Forges like GitHub and GitLab

Time commitment: Medium (175h) to Large (350h), depending on working speed and optional features

Forum for discussion

About: Building neural networks from tissue recordings, e.g. patch-clamp experiments, requires finding a set of parameters for ion channels and passive cell properties that best fit single cell recordings for a given cell model. Recordings are collected as timeseries data of the membrane potential for multiple stimuli. This is a high-dimensional optimisation problem which needs to be accessible to end-users, i.e. scientists without software development background. Ideally, the problem should be described in terms of abstract features — like inter-spike interval, resting potential, etc — instead of fitting directly onto the membrane potential.

We propose such a pipeline built from existing software fit to address simulating the cell model — Arbor — and driving the optimiser — L2L — based on existing publications. This software should be written in Python, open source under BSD3/MIT, expose a high-level interface (possibly including graphics), and designed to address the needs of scientists.

Aims:

  • A software library in Python3 using L2L and Arbor to derive optimal parameter set fitting a given set of recordings, an abstract cell model, and a list of high-level features
  • Milestones
    • Prototype connecting Arbor simulations and L2L optimisers
    • Fitting on known models using pure membrane potentials
    • Implementing high-level features as a second API layer on top
    • Re-fining the interface/API targeting scientific users
    • Packaging and publicly releasing the library
    • Optional: adding graphical feedback

Website: Arbor documentation

Tech keywords: Python, ML/AI

Dear @sdiazpier @Thorsten Hater
I hope you are doing well. I am Khushi, a 2nd year student pursuing BTech in Computer Science and Engineering at A.B.V IIITM Gwalior. I came across this project and found it highly exciting, as it aligns with my interests in machine learning and neuroscience simulations.
I have experience with Python3 and Git, and a good understanding of deep learning and machine learning techniques.
I would love to get started by understanding the current integration of Arbor and L2L and discussing how I can best contribute. It would be a great help if you could suggest some initial tasks that would help me get started.

Dear @sdiazpier and @Thorsten Hater,

My name is Bernardo Boatini, and I hold a Bachelor’s and a Master’s degree in Physics from the Federal University of Rio Grande do Sul (Brazil). My research focuses on biological physics, where I have experience with both simulations and experiments. This background naturally drew my attention to this project.

After reading the referenced Nature Communications article, I became even more interested in the topic. I have previously worked with neuronal stimulation devices and related experimental setups, which I believe align well with the objectives of this project.

Additionally, I have experience working with machine learning in Brazilian startups. Based on this, I am confident that my skills will contribute to achieving the project’s expected outcomes.

I look forward to hearing your thoughts and discussing how I can contribute. Thank you for your time and consideration!

Best regards,
Bernardo Boatini

Dear @Khushi_Singh, dear @bboattini,

Thank you for your interest in our GSoC project idea! To help you get started, please familiarize yourself with the Arbor tutorials, which you can find here: Tutorials - Arbor documentation
We are planning on using the Allen DB cell as the primary driving example in particular. You can find it here: A single-cell model from the Allen Brain Atlas - Arbor documentation
For this example, we have multiple stimuli and their response as reference from the Allen website as well as experience on how to port the example.

For interfacing with L2L, you can consult the documentation here L2L — L2L 1.0.0-beta documentation
and an older experiment of mine that is working directly on the membrane potential here GitHub - thorstenhater/l2l-arbor. Note that both L2L and Arbor have changed quite a bit since then, so some updates are needed.

We look forward to receiving your proposal and will try to help with any questions.

Best regards,

And since I cannot send more than four links in one message, here the link to the L2L version containing the Arbor optimizee: GitHub - thorstenhater/L2L: Learning to Learn: Gradient-free Optimization framework

Dear @ThorstenHater @sdiazpier
I have reviewed the repositories you shared and successfully completed the Arbor tutorials. I’ve also implemented the cell model, explored the L2L documentation, and set up the initial environment on my system. I have started with the initial programming part. Could you please guide me on the next steps to move forward?

Hi @Khushi_Singh,

that sounds excellent. I was just notified of the formal application, so all is in order there, sorry for the
confusion. The decision is being made by Google though and will be shared on their timeline. I’ll be out
of office until Tuesday, but we can set up a shared workspace and a video call early next week.

However, I am a bit lost, since I did not receive a formal application yet.
Possibly that is stuck in the works somewhere due to Easter holidays. I am sure things will be
sorted out next week, post festivities.

Have a nice weekend and looking to hear more from the project next week!

Hi @Khushi_Singh

Thanks for your continued interest in pursuing GSOC with INCF. I would just like to add a small clarification. Your proposal has been received in our portal. But please note, results will be declared as per Google’s official GSOC timelines. In the meantime, you’re welcome to contribute to the project but please note that the final decision will be based on the proposal only and not on the contributions/work post deadline.

Thanks

Hi @ThorstenHater @arnab1896
Thank you for the update!

I’m glad to hear that the formal application has been received on your end, and I’ll await Google’s decision as per their timeline.

I’d be happy to set up a shared workspace and schedule a call early next week once you’re back. Just let me know what time works best for you!

I completely understand that the final decision will be based solely on the submitted proposal, as per Google’s official GSoC timelines. I’m grateful for the opportunity and look forward to the results.

In the meantime, I’ll continue exploring the project and familiarizing myself with the codebase.

Best regards,
Khushi Singh