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