Skip to content

GSoC Ideas 2025

Austin E. Soplata edited this page Feb 3, 2025 · 13 revisions

About HNN-core

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.

Discussion Forum: https://github.com/jonescompneurolab/hnn-core/discussions

Resources


Project ideas


1. Develop Python API for new cell types in HNN-core network models

Difficulty

Intermediate

Duration

350 hours (full time)

Skills needed

  • Experience with Python programming
  • Experience with Git version control
  • Optional: Experience with Pytest or software testing
  • Optional: Experience in neuroscience data analysis

Possible mentors

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

Goal

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

  • 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.

Tech keywords:

  • Python
  • computational neuroscience
  • open-source
  • simulation
  • neuron

Related issues:


2. Develop Python API for multi-network simulations in HNN-core

Difficulty

Intermediate

Duration

350 hours (full time)

Skills

  • Experience with Python programming
  • Experience with Git version control
  • Optional: Experience with Pytest or software testing
  • Optional: Experience in neuroscience data analysis

Possible mentors

Austin Soplata, Dylan S. Daniels, Nicholas Tolley

Goal

The current codebase for HNN-core assumes that only one model Network is being simulated at a time. However, there is strong scientific motivation for simulating multiple distinct cortical networks which interact with each other (such as primary sensory cortex versus an association cortex). HNN-core needs the ability to create multiple distinct networks, create connections both within and between networks, and simulate them all.

Subgoals

  • Develop the Network API to be able to add long-range connections to other Network objects.
  • Develop the fundamental simulation API to support multiple networks, including Dipole etc. output tied to each individual network.
  • Develop existing or new analysis and plotting functions for analyzing the output of multiple networks, including inter-network communication.

Tech keywords:

  • Python
  • computational neuroscience
  • open-source
  • simulation
  • neuron