Complete cell examples, synapse communication, and network runtime APIs#105
Merged
Conversation
Add frozen Cav2p1 aliases for BC2025 and SC2021 variants and register tests for those aliases. Align BrainCell channel defaults and numerical behavior with the cerebellum NEURON comparisons, including GoC/BC Cav1p2 and Cav1p3 conductance defaults, CaHVA continuous rate formulas, Nav1p1 BC solver defaults, and precision-aligned Kv4p3/HCN constants. Update channel_no_conc configs to match the revised conductance defaults and add the PC Kca2p2 dep_o1 comparison config.
Remove TABLE interpolation from cerebellum channel and ion mechanisms so rates are computed from continuous formulas. Align selected integration and initialization paths, including cnexp rate placement, derivimplicit-to-cnexp gate updates, and Markov steady-state initializers for PC and SC mechanisms. Document TABLE conversion status, integration-method status, rate-update placement, and numeric default precision notes for Cerebellum_mod.
Add BC2025 single-cell NEURON and BrainCell debug builders, parameter definitions, debug tests, and notebooks. Include the BC2025 notes and default morphology/mechanism wiring for the cerebellum cell comparison examples.
Add SC2021 single-cell NEURON and BrainCell debug builders, parameter definitions, debug tests, and notebooks. Encode the SC2021 region mapping, conductance parameters, morphology defaults, and diagnostic comparison entry points.
Add PC and GoC convergence-analysis notebooks and extend the PC debug workflow with Kca2p2 coupling diagnostics. Expose the PC BrainCell ion channel update order option for diagnostic runs and document the expanded PC, GoC, BC, and SC cell comparison entry points.
Refresh the cable, channel_no_conc, and PC top-level comparison notebooks to match the updated cerebellum channel and cell comparison workflows.
Add generated convergence-analysis plots and metrics for GoC and PC debug comparisons. Include PC Kca2p2 coupling diagnostic JSON and CSV outputs for the analyzed channel-isolation and update-order cases.
Add population-shaped runtime state for multi-compartment cells and update point-space buffers, clamp evaluation, probes, ion geometry, and voltage state to use pop_size-prefixed shapes. Separate independent ion/channel updates through ind_update and make staggered stepping choose family or integration ordered post-voltage updates via ion_channel_update_order. Route placed synapses through sparse pre_spike buffers with discrete event application, add NetStim and ExpSyn/Exp2Syn support, and move multi-compartment external current injection to placed point clamps.
Add braincell.network declarations for populations, reusable edge sets, projections, lowered sparse connections, and fixed-step network execution. Expose Network at the package root and add network design docs, demos, and comparison helpers for placed synapse delivery.
Refresh README, TODO notes, design pointers, notebooks, and comparison examples for the unified CurrentClamp constructor, point-clamp external current path, population-shaped cells, and network/synapse workflow updates.
Keep whitespace-only formatting churn separate from the runtime, network, and docs changes.
- add ASC-only and full manual-morphology GrC debug builders - add GrC debug notebooks, parameters, summaries, probes, and tests - model full GrC morphology with hilock, AIS, AA, and PF chains - switch GrC Nav/NaFHF MOD initialization to steady-state solves - align BrainCell GrC Nav/NaFHF init/reset with steady-state initialization
# Conflicts: # braincell/_compute/runtime.py # examples/neuron_compare/cell/pc_ma2024/debug/run_debug.ipynb # examples/neuron_compare/cell/pc_ma2024/pc_braincell.py # examples/neuron_compare/cell/pc_ma2024/run.ipynb # examples/neuron_compare/channel_no_conc/tests/_helpers.py # examples/neuron_compare/channel_no_conc/tests/test_workflow_api.py # examples/neuron_compare/channel_no_conc/workflows/workflow.ipynb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR integrates a broad set of multi-compartment modeling updates across cells, synapses, runtime scheduling, and network APIs.
The main goal is to make BrainCell more complete for end-to-end workflows: build biologically detailed cells, validate them against NEURON
references, connect them through synapses, and run small recurrent/network simulations through a first-class
braincell.networkinterface.Cell and mechanism updates
channel implementations.
Synapse and communication updates
Network runtime and APIs
braincell.networkpackage with first-class APIs for:braineventintegration.Docs, examples, and organization
examples/neuron_compare.How Has This Been Tested
Tested locally with targeted and module-level regression runs.
Targeted regression for the recent network delay and implicit solver fixes: