Biologically Detailed Brain Cell Modeling in JAX
Project description
Biologically Detailed Brain Cell Modeling in JAX
braincell provides a unified interface for modeling single-compartment and multi-compartment Hodgkin-Huxley-styled neuron models. It is built on top of JAX and brainstate, offering a highly parallelized and efficient simulation of biophysically detailed brain cell models.
Quick start
Here is an example to model the single-compartment thalamus neuron model by using the interface of braincell.SingleCompartment:
import braincell
import brainstate
import braintools
import brainunit as u
class HTC(braincell.SingleCompartment):
def __init__(self, size, solver: str = 'ind_exp_euler'):
super().__init__(size, V_initializer=braintools.init.Constant(-65. * u.mV), V_th=20. * u.mV, solver=solver)
self.na = braincell.ion.SodiumFixed(size, E=50. * u.mV)
self.na.add(INa=braincell.channel.INa_Ba2002(size, V_sh=-30 * u.mV))
self.k = braincell.ion.PotassiumFixed(size, E=-90. * u.mV)
self.k.add(IKL=braincell.channel.IK_Leak(size, g_max=0.01 * (u.mS / u.cm ** 2)))
self.k.add(IDR=braincell.channel.IKDR_Ba2002(size, V_sh=-30. * u.mV, phi=0.25))
self.ca = braincell.ion.CalciumDetailed(size, C_rest=5e-5 * u.mM, tau=10. * u.ms, d=0.5 * u.um)
self.ca.add(ICaL=braincell.channel.ICaL_IS2008(size, g_max=0.5 * (u.mS / u.cm ** 2)))
self.ca.add(ICaN=braincell.channel.ICaN_IS2008(size, g_max=0.5 * (u.mS / u.cm ** 2)))
self.ca.add(ICaT=braincell.channel.ICaT_HM1992(size, g_max=2.1 * (u.mS / u.cm ** 2)))
self.ca.add(ICaHT=braincell.channel.ICaHT_HM1992(size, g_max=3.0 * (u.mS / u.cm ** 2)))
self.kca = braincell.MixIons(self.k, self.ca)
self.kca.add(IAHP=braincell.channel.IAHP_De1994(size, g_max=0.3 * (u.mS / u.cm ** 2)))
self.Ih = braincell.channel.Ih_HM1992(size, g_max=0.01 * (u.mS / u.cm ** 2), E=-43 * u.mV)
self.IL = braincell.channel.IL(size, g_max=0.0075 * (u.mS / u.cm ** 2), E=-70 * u.mV)
Here is an example to model the multi-compartment neuron model by using the interface of braincell.MultiCompartment:
import braincell
import brainstate
import brainunit as u
class HTC(braincell.MultiCompartment):
def __init__(self, size, solver: str = 'staggered'):
morphology = braincell.Morphology.from_swc(...)
super().__init__(size,
morphology=morphology, # the only difference from SingleCompartment
V_initializer=brainstate.init.Constant(-65. * u.mV),
V_th=20. * u.mV,
solver=solver)
self.na = braincell.ion.SodiumFixed(size, E=50. * u.mV)
self.na.add(INa=braincell.channel.INa_Ba2002(size, V_sh=-30 * u.mV))
self.k = braincell.ion.PotassiumFixed(size, E=-90. * u.mV)
self.k.add(IDR=braincell.channel.IKDR_Ba2002(size, V_sh=-30. * u.mV, phi=0.25))
Installation
You can install braincell via pip:
pip install braincell --upgrade
Alternatively, you can install BrainX, which bundles braincell with other compatible packages for a comprehensive brain modeling ecosystem:
pip install BrainX -U
Documentation
The official documentation is hosted on Read the Docs: https://braincell.readthedocs.io
See also the ecosystem
BrainCell is one part of our brain modeling ecosystem: https://brainmodeling.readthedocs.io/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file braincell-0.0.8.tar.gz.
File metadata
- Download URL: braincell-0.0.8.tar.gz
- Upload date:
- Size: 5.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c7b28689b1c0ab34d3ecc006fa21de90aa1c7a8028465df4b0ad193f5f081ee
|
|
| MD5 |
aec3d091f39ec6f4a17d04e28b2656bc
|
|
| BLAKE2b-256 |
bc887fa3d0b3be35a77c08acab764dd7372c4315a51e5e0fb75363c6463bb10b
|
File details
Details for the file braincell-0.0.8-py3-none-any.whl.
File metadata
- Download URL: braincell-0.0.8-py3-none-any.whl
- Upload date:
- Size: 153.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
abd45f293dd80e1f06f73cf704fb3a3061ab9eb34a2278789ab2147a063c8bf1
|
|
| MD5 |
b9d6f7e12d49c835c306fba69bc78fea
|
|
| BLAKE2b-256 |
2c66e24bdb0cf87d2a06346c0675f569613571355756b64f1f17d562c1dbe23e
|