GSoC 2025 Project #21 HNN Projects :: Develop Python API for new cell types in Human Neocortical Neurosolver (HNN)-core network models (350h)

Mentors: Austin Soplata <austin_soplata@brown.edu>, Dylan S. Daniels <dylan_s_daniels@alumni.brown.edu>, Nicholas Tolley, Katharina Duecker <katharina_duecker@brown.edu>

Skill level: Intermediate

Required skills: Experience with Python programming, experience with Git version control, experience with Pytest or software testing (optional), experience in neuroscience data analysis (optional)

Time commitment: Full time (350 hours)

Forum for discussion

About: Human Neocortical Neurosolver (HNN) is a software for interpreting the neural origin of macroscale magneto-/electro-encephalography (MEG/EEG) data using biophysically-detailed microcircuit simulations. HNN-core can be run through a user-friendly graphical user interface (GUI) or through a Python API as a library.

Resources:

Aims: The current codebase for HNN-core frequently assumes that the model Network being simulated is extremely similar to the default model. For example, this includes using explicit “cell type” names which are hard-coded in the codebase, such as “L5_pyramidal”. HNN-core needs to be refactored such that it can support additional or alternative cell type names and characteristics, while still supporting the default model use-case. The project also involves the implementation of a newly developed network such that it can be used with HNN-core. Subgoals include:

  • Identify and refactor any code that assumes cell types have given names, or are given such names.
  • For example: Change the implementation of basket and pyramidal cells in cells_default.py such that cells can be created more dynamically.
  • Identify and refactor any code that assumes cell types of a given length (such as the canonical 4).
  • Identify what are the minimum attributes needed for simulation if a user wants to introduce a new celltype, and help write guiding documentation for it.
  • Identify if the standard network configuration format requires upgrading to support more generic cell type characteristics.

Website: https://hnn.brown.edu/

Tech keywords: Python, computational neuroscience, open-source, simulation, neuron

1 Like

hi @asoplata ,@ Nicholas Tolley ,@ Dylan S. Daniels and @katharina Duecker
this side dikshant jha ,I am a machine learning enthusiasts and would like to contribute in the project #21 of HNN-CORE ;which demands to develop an api to achieve the following funtionality .It would be great if we can discuss regarding this and can you provide me some references of different cell types in neuroscience.

Hi everyone,

I am Peicheng Li, an sophemore student majoring in Computer Science & Mathematics at the University of Minnesota. I am very interested in the GSoC 2025 Project #21 regarding the development of a Python API for new cell types in the HNN-core network models.

I have experience in Python programming, Git version control, and have worked on various data analysis projects. My interest in computational neuroscience, especially in understanding neural modeling and its applications in brain-machine interfaces (BCI), aligns well with this project.

I’m particularly interested in learning how to refactor code to support additional cell types in HNN-core and help make the simulation process more dynamic. I’d also love to contribute to improving the flexibility of cell type attributes for more diverse simulations.

Could you provide more details on the existing codebase and any specific challenges you foresee with refactoring cell types? Additionally, is there a preferred structure or template for implementing new cell types, and how much flexibility is there in modifying the network configuration?

I look forward to the possibility of contributing to this exciting project! Thanks for your time and consideration.

Email: li003347@umn.edu

Hello Dikshant and Peicheng, we thank you both for your interest. I have responded to your questions and messages directly via email.

Hello!

My name is Vincent Ho, and I am a first-year Data Science major at the University of California, Irvine. I have a strong interest in leveraging software and statistical methods to improve healthcare outcomes. Currently, I am involved in research on mobile health data and stress escalation at my university’s lab, as well as developing maternal health risk prediction models for CareTech at UCI.

I am particularly interested in contributing to the refactoring project for HNN-core to support more flexible cell type configurations. This work aligns with my programming experience and interest in creating more adaptable software systems for clinical impact.

Through my coursework and projects, I’ve gained experience with Python programming and machine learning/data visualization library development, Git version control for collaborative projects, and data analysis and visualization techniques.

I would love the opportunity to learn more about this project and how I could contribute to making HNN-core more flexible for researchers working with diverse neural models.

Best,
Vincent Ho
vincenntho@gmail.com

Hello Vincent, please see my response in Project 22.

Hello everyone! My name is Prabhat Kumar, and I am an undergraduate student at MNNIT Allahabad, pursuing Electronics and Communication Engineering. I am excited about the opportunity to contribute to open-source projects through GSoC 2025 and am particularly interested in Project 21: Developing Python API for Multi-Network Simulations in HNN. While I have experience with Python programming and Git, I am new to API design. However, I am eager to learn and contribute effectively to the project. I am highly motivated to contribute to this project and would greatly appreciate your insights on how I can best prepare for my proposal. Looking forward to your guidance and feedback!

Hi @asoplata , @katduecker

I’m Anushka Sharma, an engineering student interested in the GSoC 2025 project to support new cell types in HNN-core. I’m excited about contributing and would love to start exploring the codebase.

Could you please share the GitHub repo link for HNN-core, or any files you’d recommend reviewing first?

Thanks and looking forward to your guidance!

Best,
Anushka Sharma
anushka.care@gmail.com

Hi @asoplata , Dylan S. Daniels, @katduecker

Thank you for the opportunity and the detailed guidance on contributing to HNN-Core!

I’m excited to be working on this project as part of my GSoC 2025 application. As a first contribution, I’ve submitted a pull request that improves the docstrings across most functions in the visualization module. The aim was to enhance clarity, consistency, and overall documentation quality.

Here’s the link to the PR: [AnuzkaSharma-docstring-viz.py]

Please let me know if there’s anything else I should improve or update. Looking forward to your feedback and continuing to contribute!

Best regards,
Anushka

Dear Austin Soplata,
Dear Dylan S. Daniels,
Dear Katharina Duecker,
Dear Nicholas Tolley,

Good Morning,
I am Luca Pulga, a Bachelor’s student in Computer Science & Engineering at the University of Bologna, in Italy. I am very interested in the GSoC 2025 Project #21 regarding the development of a Python API for new cell types in the HNN-core network models.

I have experience in Python programming and Git.
My interest in computational neuroscience, especially in understanding neural modeling and its applications in brain-machine interfaces (BCI), aligns well with this project, in fact I’d like to pursue my Master Degree in Computational Neuroscience in the future.

I’m interested in refactoring code to support additional cell types in HNN-core and help make the simulation process more dynamic and optimized.

Could you provide more details on the existing codebase and any specific challenges you foresee with refactoring cell types?

I look forward to your response and, eventually, the possibility of contributing to this project.

Thanks for your time and consideration.

Your faithfully,

Luca Pulga