Python scripting interface of MOOSE Simulator (https://moose.ncbs.res.in)
Project description
MOOSE
MOOSE is the Multiscale Object-Oriented Simulation Environment. It is designed to simulate neural systems ranging from subcellular components and biochemical reactions to complex models of single neurons, circuits, and large networks. MOOSE can operate at many levels of detail, from stochastic chemical computations, to multicompartment single-neuron models, to spiking neuron network models.
MOOSE is multiscale: It can do all these calculations together. For example it handles interactions seamlessly between electrical and chemical signaling. MOOSE is object-oriented. Biological concepts are mapped into classes, and a model is built by creating instances of these classes and connecting them by messages. MOOSE also has classes whose job is to take over difficult computations in a certain domain, and do them fast. There are such solver classes for stochastic and deterministic chemistry, for diffusion, and for multicompartment neuronal models.
MOOSE is a simulation environment, not just a numerical engine: It provides data representations and solvers (of course!), but also a scripting interface with Python, graphical displays with Matplotlib, PyQt, and VPython, and support for many model formats. These include SBML, NeuroML, GENESIS kkit and cell.p formats, HDF5 and NSDF for data writing.
This is the core computational engine of MOOSE
simulator. This repository
contains C++ codebase and python interface called pymoose
. For more
details about MOOSE simulator, visit https://moose.ncbs.res.in .
Installation
See docs/source/install/INSTALL.md for instructions on installation.
Examples and Tutorials
-
Have a look at examples, tutorials and demo scripts here https://github.com/MooseNeuro/moose-examples.
-
A set of jupyter notebooks with step by step examples with explanation are available here: https://github.com/MooseNeuro/moose-notebooks.
v4.1.1 – Incremental Release over v4.1.0 "Jhangri"
This version builds upon the v4.1.0 (Jhangri) release and includes important internal improvements, documentation enhancements, and binding support.
ABOUT VERSION 4.1.1, Jhangri
Jhangri
is an Indian sweet
in the shape of a flower. It is made of white-lentil (Vigna mungo)
batter, deep-fried in ornamental shape to form the crunchy, golden
body, which is then soaked in sugar syrup lightly flavoured with
spices.
This release has the following changes:
Installation
Installing released version from PyPI using pip
This version is now available for installation via pip
. To install the latest release, run
pip install pymoose
Post installation
You can check that moose is installed and initializes correctly by running:
$ python -c "import moose; ch = moose.HHChannel('ch'); moose.le()"
This should show
Elements under /
/Msgs
/clock
/classes
/postmaster
/ch
Now you can import moose in a Python script or interpreter with the statement:
>>> import moose
New Features
- Formula-based versions of HH-type channels
- Added
HHChannelF
andHHGateF
for formula-based evaluation of Hodgkin-Huxley type gating parameters - Added a formula interface for
HHGate
: Users can now assign string formula inexprtk
syntax toalphaExpr
,betaExpr
,tauExpr
andinfExpr
to fill up the tables. These can take eitherv
for voltage orc
for concentration as independent variable names in the formula.
- Added
- Added
moose.sysfields
to display system fields likefieldIndex
,numData
etc. - Reintroduced
moose.neighbors()
function to retrieve neighbors on a particular field. This allows more flexibility thanelement.neighbors[fieldName]
by allowing the user to specify the message type ("Single", "OneToOne", etc.) and direction (1 for incoming 0 for outgoing, otherwise both directions).
API Updates
- API changes in
moose.vec
andmoose.element,
including updated documentation. moose.showfields
updated to- skip system fields like
fieldIndex
,numData
etc. These can now be printed usingsysfields
function. - print common but informative fields like
name
,className
,tick
anddt
at the top. - return
None
instead of the output string to avoid cluttering the interactive session.
- skip system fields like
moose.pwe()
returnsNone
to avoid output clutter. Usemoose.getCwe()
for retrieving the current working element.children
field of moose elements (ObjId) now return a list of elements instead of vecs (Id). This brings consistency betweenparent
andchildren
fields.moose.le()
returnsNone
to avoid output clutter. Useelement.children
field to access the list of children.path
field for elements (ObjId) now includes the index in brackets, as in the core C++. This avoids confusion with vec (Id) objects.moose.copy()
now accepts eitherstr
path orelement
orvec
forsrc
anddest
parameters.- Attempt to access paths with non-existent element now consistently raises RuntimeError.
moose.delete
now accepts vec (Id) as argument.
Bug Fixes
bool
attribute handling added tomoose.vec
- More informative error message for unhandled attributes in
moose.vec
- Fixed issue #505
moose.setCwe()
now handles str, element (ObjId) and vec (Id) parameters correctly- fixed
moose.showmsg()
mixing up incoming and outgoing messages.
Documentation
- Updated
Ubuntu
build instructions for better clarity. - Enhanced documentation for
HHGate
, including additional warnings. - Updated documentation for
Stoich,
with improved code comments and clarifications.
LICENSE
MOOSE is released under GPLv3.
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 Distributions
Built Distributions
File details
Details for the file pymoose-4.1.2-cp313-cp313-win_amd64.whl
.
File metadata
- Download URL: pymoose-4.1.2-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
fdc3a9dad493309ec13bf97775f5992710281513bc57ef2f75f2a615f075159e
|
|
MD5 |
0d58665b50aefbc1038d2a2891ca94ab
|
|
BLAKE2b-256 |
57fa0e19aa56b7f114c7cc9c5da83332b5bf1c22c4f30024adf702c98d673f11
|
File details
Details for the file pymoose-4.1.2-cp313-cp313-manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: pymoose-4.1.2-cp313-cp313-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 8.9 MB
- Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
7a0d33aca94a340ff67fdfd4c645a0755fba2d8990affc02f6083047a598f65e
|
|
MD5 |
5b625eedcb267760b50ddbf0903424b6
|
|
BLAKE2b-256 |
da91ab9583eb0b6dc6954d8d1a6cb22ad452ebdbfdda8856238b0a372e863425
|
File details
Details for the file pymoose-4.1.2-cp313-cp313-macosx_15_0_arm64.whl
.
File metadata
- Download URL: pymoose-4.1.2-cp313-cp313-macosx_15_0_arm64.whl
- Upload date:
- Size: 5.8 MB
- Tags: CPython 3.13, macOS 15.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
601203199e2a58316e901abbc021dbea77cb640ce06fefe8be971498281061f4
|
|
MD5 |
661a97a52729d21ece306f84909ccefa
|
|
BLAKE2b-256 |
f7312abed4132194ee18c872f4b149f536539ee566cc0d58ded8736c28dbfb27
|
File details
Details for the file pymoose-4.1.2-cp313-cp313-macosx_14_0_arm64.whl
.
File metadata
- Download URL: pymoose-4.1.2-cp313-cp313-macosx_14_0_arm64.whl
- Upload date:
- Size: 5.9 MB
- Tags: CPython 3.13, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
99dca5e027675e0f920afab8213d60125b92c9a4bc9142f0b02dc7203d94dc9c
|
|
MD5 |
acf7d0b1f998c8ca859e8e220dd94232
|
|
BLAKE2b-256 |
9d57f372fe8d05d7a89d8e83d42e33b4ca4c7c10cd5fde22fb28953aceffa4ff
|
File details
Details for the file pymoose-4.1.2-cp312-cp312-win_amd64.whl
.
File metadata
- Download URL: pymoose-4.1.2-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
fe2ce62cae66fb0b22d3241c5e6d92484bad40d65d050e188caf8ae06cdee1e6
|
|
MD5 |
7de543d8eca5dec5f396d248c7ffecf5
|
|
BLAKE2b-256 |
3859d6cdd0881621f0f841bbb60cbe43f1cb94f62560d4fbe201c0097620e323
|
File details
Details for the file pymoose-4.1.2-cp312-cp312-manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: pymoose-4.1.2-cp312-cp312-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 8.9 MB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
6904b3fbea100cada354bf5952699610598270efff469a182743f69dc86f334f
|
|
MD5 |
5245d10812b885b6829dae795e9a184f
|
|
BLAKE2b-256 |
bb36e0f7240b074dfaff46b820776b3900b2dbb3e5288a3ccfa06e2143a8f786
|
File details
Details for the file pymoose-4.1.2-cp312-cp312-macosx_15_0_arm64.whl
.
File metadata
- Download URL: pymoose-4.1.2-cp312-cp312-macosx_15_0_arm64.whl
- Upload date:
- Size: 5.8 MB
- Tags: CPython 3.12, macOS 15.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
ff1aa35e4ebd05ae785ff587a692a920d541c5f0b43dddedef479a4644b710c7
|
|
MD5 |
910315ebc4dfaccbbcccc200d878f95e
|
|
BLAKE2b-256 |
73d0bc523159fa2f1138910211b18c6bafb8d0953b60006e3190c22d7763af85
|
File details
Details for the file pymoose-4.1.2-cp312-cp312-macosx_14_0_arm64.whl
.
File metadata
- Download URL: pymoose-4.1.2-cp312-cp312-macosx_14_0_arm64.whl
- Upload date:
- Size: 5.9 MB
- Tags: CPython 3.12, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
b1f22f3e3d5157b55e8eb5b786d036022a25a95fc12727b7256c8803d31c2222
|
|
MD5 |
71ecf2a26bf12a54aff956bab1485625
|
|
BLAKE2b-256 |
95605ddb1238f06f0f7d73d40e0c797fe6d43c7990040c1eb6eb269953e1ce55
|
File details
Details for the file pymoose-4.1.2-cp311-cp311-win_amd64.whl
.
File metadata
- Download URL: pymoose-4.1.2-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
a5ea142d23d0db60c674ca451f76f13f566dfb06b43272c07f0e38a89bbb27ac
|
|
MD5 |
52398312143ae91984111c9b910dd475
|
|
BLAKE2b-256 |
ad7ae9e1cbf04714f8ddd5072ff11686ea0899bb183fafba1d173ff0a374334a
|
File details
Details for the file pymoose-4.1.2-cp311-cp311-manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: pymoose-4.1.2-cp311-cp311-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 8.9 MB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
234180c1bf29eac9288947c92ff871745cb0415a6b913c10a816e02e0e8c4ce0
|
|
MD5 |
d09fa296604d3df1bc0355cbd3a82b52
|
|
BLAKE2b-256 |
06e92507f49ea6adbb46946b8fcd4d27e85edf041dd66cd90136e730d04f8c14
|
File details
Details for the file pymoose-4.1.2-cp311-cp311-macosx_15_0_arm64.whl
.
File metadata
- Download URL: pymoose-4.1.2-cp311-cp311-macosx_15_0_arm64.whl
- Upload date:
- Size: 5.8 MB
- Tags: CPython 3.11, macOS 15.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
25c684f85c45f0fc77fa025904397d5839690d4f74613508548a18bdbe8f4539
|
|
MD5 |
f00cabdb897cca34e042d28cbc781786
|
|
BLAKE2b-256 |
79defdb30a6c35f3d0164ca875ded75420837f33b0514015b4b6859d2142c95b
|
File details
Details for the file pymoose-4.1.2-cp311-cp311-macosx_14_0_arm64.whl
.
File metadata
- Download URL: pymoose-4.1.2-cp311-cp311-macosx_14_0_arm64.whl
- Upload date:
- Size: 5.9 MB
- Tags: CPython 3.11, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
e6b7a0fd9bb2728c6fc82b20c87a3846bb41b3bfca1fcdb0864aa906156c1f5f
|
|
MD5 |
87bfac54a3d03eedc8e36fb3e5c2a652
|
|
BLAKE2b-256 |
a57ad6c8ffaa706a04b8d13c9cf1aed5db6be26ad42bc774f7721e6cebd7ea3b
|
File details
Details for the file pymoose-4.1.2-cp310-cp310-win_amd64.whl
.
File metadata
- Download URL: pymoose-4.1.2-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
61eb8b4e46377bc58a0495193399ccd2d5c060e7a3933b40cd4769883ec150b8
|
|
MD5 |
fa2031f05e0998952ee98b5baf300d3c
|
|
BLAKE2b-256 |
42e8e76e03f547b1206596c131b9a6e560dc7cacb857032d602eeca6ca48c2c7
|
File details
Details for the file pymoose-4.1.2-cp310-cp310-manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: pymoose-4.1.2-cp310-cp310-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 8.9 MB
- Tags: CPython 3.10, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
0f497354aebe7df429e395dd6c55cc9ab1c35065626d5a495b43741f4f441231
|
|
MD5 |
5341d95d703df670443a42fb2e5ca620
|
|
BLAKE2b-256 |
56510aecde9e0805d8798fe775bdd5f4e322c37d52b9e5501f774be6ea1dfc11
|
File details
Details for the file pymoose-4.1.2-cp310-cp310-macosx_15_0_arm64.whl
.
File metadata
- Download URL: pymoose-4.1.2-cp310-cp310-macosx_15_0_arm64.whl
- Upload date:
- Size: 5.8 MB
- Tags: CPython 3.10, macOS 15.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
91966218c5be5df8c751a969e8e2812e832a627d6255394f3c0acd0135fbfb90
|
|
MD5 |
a45e39d267040ff7e97a80165221024b
|
|
BLAKE2b-256 |
1b4cfdbd4ffed9c8fc2e15193eb8d7f7fd5818c57c9bdde251040efeadbf4236
|
File details
Details for the file pymoose-4.1.2-cp310-cp310-macosx_14_0_arm64.whl
.
File metadata
- Download URL: pymoose-4.1.2-cp310-cp310-macosx_14_0_arm64.whl
- Upload date:
- Size: 5.9 MB
- Tags: CPython 3.10, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
2521aeaba04733c187bca8b580e42ea70fe0dff5923481c2c818f99148e4a0a7
|
|
MD5 |
cbdc8a49cf3b96622f3b5e817c9ca3e0
|
|
BLAKE2b-256 |
760af507721ecd13b57e14ed65f0c32acc97f49e1d02437cba73f506c38d0418
|
File details
Details for the file pymoose-4.1.2-cp39-cp39-win_amd64.whl
.
File metadata
- Download URL: pymoose-4.1.2-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
a715b33cc4e8cc3ece36dd887a133c93e8c028aead3d8ecd34dadfcfffb7a0aa
|
|
MD5 |
bc3105140f4e0f77f43a3a38f185e899
|
|
BLAKE2b-256 |
dbe3137e766f69157a36177bd38faec8d62021326c15c134ba4a64706ab72c23
|
File details
Details for the file pymoose-4.1.2-cp39-cp39-manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: pymoose-4.1.2-cp39-cp39-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 8.9 MB
- Tags: CPython 3.9, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
8e8f7763c1536568702841fa15c424e90e59df17b770ff96ae78d3e84fa6fb8a
|
|
MD5 |
5104df2c26ddfd46d67a3a0338d912e4
|
|
BLAKE2b-256 |
9727a5597e3494843221e8b2e087bbe5c6384be7452e617601151cd24873960e
|
File details
Details for the file pymoose-4.1.2-cp39-cp39-macosx_15_0_arm64.whl
.
File metadata
- Download URL: pymoose-4.1.2-cp39-cp39-macosx_15_0_arm64.whl
- Upload date:
- Size: 5.8 MB
- Tags: CPython 3.9, macOS 15.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
d108f76004391c14d0a03587703b0c8e302b2fce616386002e8df6b7a9490747
|
|
MD5 |
76ba9da2e86d842dc0d8f80c9646beef
|
|
BLAKE2b-256 |
35d0e7505e853302c6d2078493a3b2b77042f0a1bdf61abd3f81105a2537f64b
|
File details
Details for the file pymoose-4.1.2-cp39-cp39-macosx_14_0_arm64.whl
.
File metadata
- Download URL: pymoose-4.1.2-cp39-cp39-macosx_14_0_arm64.whl
- Upload date:
- Size: 5.9 MB
- Tags: CPython 3.9, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
dbbf2d0982cb1475fc248bbb064e68b0ee84372c0f03cd3297cfa283cc578352
|
|
MD5 |
220199eac128b994ec645ae3026b2e77
|
|
BLAKE2b-256 |
d971c79a851c971eed221ac3e13c217683a0e19dbd3d7686227033f27182c043
|
File details
Details for the file pymoose-4.1.2-cp38-cp38-win_amd64.whl
.
File metadata
- Download URL: pymoose-4.1.2-cp38-cp38-win_amd64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.8, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
3a4586f2e9f7485dd9b0fb73e4a2c4af97bad6ebf8a78d963360780f74268ce6
|
|
MD5 |
b9f39819efa3dfb2ca920590a3f5413c
|
|
BLAKE2b-256 |
55d47237cb8c441cfcd110f38ac651253806a9c86fefeccdf4d7a3466efb6545
|
File details
Details for the file pymoose-4.1.2-cp38-cp38-manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: pymoose-4.1.2-cp38-cp38-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 8.9 MB
- Tags: CPython 3.8, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
f4327fbe8845e280194e608cf89657663b9081618cfa8f9f9b3f1b6556bc82ed
|
|
MD5 |
2cd5675a9c81ed8acefe4b17f2ba236c
|
|
BLAKE2b-256 |
87f2101226e9f75874276366a7e17806263f49e56bbe7dbb1c625b9ee2d17730
|