Skip to main content

Python scripting interface of MOOSE Simulator (https://moose.ncbs.res.in)

Project description

Python package

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

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

  1. Formula-based versions of HH-type channels
    • Added HHChannelF and HHGateF for formula-based evaluation of Hodgkin-Huxley type gating parameters
    • Added a formula interface for HHGate: Users can now assign string formula in exprtk syntax to alphaExpr, betaExpr, tauExpr and infExpr to fill up the tables. These can take either v for voltage or c for concentration as independent variable names in the formula.
  2. Added moose.sysfields to display system fields like fieldIndex, numData etc.
  3. Reintroduced moose.neighbors() function to retrieve neighbors on a particular field. This allows more flexibility than element.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

  1. API changes in moose.vec and moose.element, including updated documentation.
  2. moose.showfields updated to
    • skip system fields like fieldIndex, numData etc. These can now be printed using sysfields function.
    • print common but informative fields like name, className, tick and dt at the top.
    • return None instead of the output string to avoid cluttering the interactive session.
  3. moose.pwe() returns None to avoid output clutter. Use moose.getCwe() for retrieving the current working element.
  4. children field of moose elements (ObjId) now return a list of elements instead of vecs (Id). This brings consistency between parent and children fields.
  5. moose.le() returns None to avoid output clutter. Use element.children field to access the list of children.
  6. path field for elements (ObjId) now includes the index in brackets, as in the core C++. This avoids confusion with vec (Id) objects.
  7. moose.copy() now accepts either str path or element or vec for src and dest parameters.
  8. Attempt to access paths with non-existent element now consistently raises RuntimeError.
  9. moose.delete now accepts vec (Id) as argument.

Bug Fixes

  1. bool attribute handling added to moose.vec
  2. More informative error message for unhandled attributes in moose.vec
  3. Fixed issue #505
  4. moose.setCwe() now handles str, element (ObjId) and vec (Id) parameters correctly
  5. fixed moose.showmsg() mixing up incoming and outgoing messages.

Documentation

  1. Updated Ubuntu build instructions for better clarity.
  2. Enhanced documentation for HHGate, including additional warnings.
  3. Updated documentation for Stoich, with improved code comments and clarifications.

LICENSE

MOOSE is released under GPLv3.

Project details


Release history Release notifications | RSS feed

This version

4.1.2

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

pymoose-4.1.2-cp313-cp313-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.13Windows x86-64

pymoose-4.1.2-cp313-cp313-manylinux_2_28_x86_64.whl (8.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

pymoose-4.1.2-cp313-cp313-macosx_15_0_arm64.whl (5.8 MB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

pymoose-4.1.2-cp313-cp313-macosx_14_0_arm64.whl (5.9 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

pymoose-4.1.2-cp312-cp312-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.12Windows x86-64

pymoose-4.1.2-cp312-cp312-manylinux_2_28_x86_64.whl (8.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

pymoose-4.1.2-cp312-cp312-macosx_15_0_arm64.whl (5.8 MB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

pymoose-4.1.2-cp312-cp312-macosx_14_0_arm64.whl (5.9 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

pymoose-4.1.2-cp311-cp311-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.11Windows x86-64

pymoose-4.1.2-cp311-cp311-manylinux_2_28_x86_64.whl (8.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

pymoose-4.1.2-cp311-cp311-macosx_15_0_arm64.whl (5.8 MB view details)

Uploaded CPython 3.11macOS 15.0+ ARM64

pymoose-4.1.2-cp311-cp311-macosx_14_0_arm64.whl (5.9 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

pymoose-4.1.2-cp310-cp310-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.10Windows x86-64

pymoose-4.1.2-cp310-cp310-manylinux_2_28_x86_64.whl (8.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

pymoose-4.1.2-cp310-cp310-macosx_15_0_arm64.whl (5.8 MB view details)

Uploaded CPython 3.10macOS 15.0+ ARM64

pymoose-4.1.2-cp310-cp310-macosx_14_0_arm64.whl (5.9 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

pymoose-4.1.2-cp39-cp39-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.9Windows x86-64

pymoose-4.1.2-cp39-cp39-manylinux_2_28_x86_64.whl (8.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

pymoose-4.1.2-cp39-cp39-macosx_15_0_arm64.whl (5.8 MB view details)

Uploaded CPython 3.9macOS 15.0+ ARM64

pymoose-4.1.2-cp39-cp39-macosx_14_0_arm64.whl (5.9 MB view details)

Uploaded CPython 3.9macOS 14.0+ ARM64

pymoose-4.1.2-cp38-cp38-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.8Windows x86-64

pymoose-4.1.2-cp38-cp38-manylinux_2_28_x86_64.whl (8.9 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64

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

Hashes for pymoose-4.1.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 fdc3a9dad493309ec13bf97775f5992710281513bc57ef2f75f2a615f075159e
MD5 0d58665b50aefbc1038d2a2891ca94ab
BLAKE2b-256 57fa0e19aa56b7f114c7cc9c5da83332b5bf1c22c4f30024adf702c98d673f11

See more details on using hashes here.

File details

Details for the file pymoose-4.1.2-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pymoose-4.1.2-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7a0d33aca94a340ff67fdfd4c645a0755fba2d8990affc02f6083047a598f65e
MD5 5b625eedcb267760b50ddbf0903424b6
BLAKE2b-256 da91ab9583eb0b6dc6954d8d1a6cb22ad452ebdbfdda8856238b0a372e863425

See more details on using hashes here.

File details

Details for the file pymoose-4.1.2-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pymoose-4.1.2-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 601203199e2a58316e901abbc021dbea77cb640ce06fefe8be971498281061f4
MD5 661a97a52729d21ece306f84909ccefa
BLAKE2b-256 f7312abed4132194ee18c872f4b149f536539ee566cc0d58ded8736c28dbfb27

See more details on using hashes here.

File details

Details for the file pymoose-4.1.2-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pymoose-4.1.2-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 99dca5e027675e0f920afab8213d60125b92c9a4bc9142f0b02dc7203d94dc9c
MD5 acf7d0b1f998c8ca859e8e220dd94232
BLAKE2b-256 9d57f372fe8d05d7a89d8e83d42e33b4ca4c7c10cd5fde22fb28953aceffa4ff

See more details on using hashes here.

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

Hashes for pymoose-4.1.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fe2ce62cae66fb0b22d3241c5e6d92484bad40d65d050e188caf8ae06cdee1e6
MD5 7de543d8eca5dec5f396d248c7ffecf5
BLAKE2b-256 3859d6cdd0881621f0f841bbb60cbe43f1cb94f62560d4fbe201c0097620e323

See more details on using hashes here.

File details

Details for the file pymoose-4.1.2-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pymoose-4.1.2-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6904b3fbea100cada354bf5952699610598270efff469a182743f69dc86f334f
MD5 5245d10812b885b6829dae795e9a184f
BLAKE2b-256 bb36e0f7240b074dfaff46b820776b3900b2dbb3e5288a3ccfa06e2143a8f786

See more details on using hashes here.

File details

Details for the file pymoose-4.1.2-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pymoose-4.1.2-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 ff1aa35e4ebd05ae785ff587a692a920d541c5f0b43dddedef479a4644b710c7
MD5 910315ebc4dfaccbbcccc200d878f95e
BLAKE2b-256 73d0bc523159fa2f1138910211b18c6bafb8d0953b60006e3190c22d7763af85

See more details on using hashes here.

File details

Details for the file pymoose-4.1.2-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pymoose-4.1.2-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 b1f22f3e3d5157b55e8eb5b786d036022a25a95fc12727b7256c8803d31c2222
MD5 71ecf2a26bf12a54aff956bab1485625
BLAKE2b-256 95605ddb1238f06f0f7d73d40e0c797fe6d43c7990040c1eb6eb269953e1ce55

See more details on using hashes here.

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

Hashes for pymoose-4.1.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a5ea142d23d0db60c674ca451f76f13f566dfb06b43272c07f0e38a89bbb27ac
MD5 52398312143ae91984111c9b910dd475
BLAKE2b-256 ad7ae9e1cbf04714f8ddd5072ff11686ea0899bb183fafba1d173ff0a374334a

See more details on using hashes here.

File details

Details for the file pymoose-4.1.2-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pymoose-4.1.2-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 234180c1bf29eac9288947c92ff871745cb0415a6b913c10a816e02e0e8c4ce0
MD5 d09fa296604d3df1bc0355cbd3a82b52
BLAKE2b-256 06e92507f49ea6adbb46946b8fcd4d27e85edf041dd66cd90136e730d04f8c14

See more details on using hashes here.

File details

Details for the file pymoose-4.1.2-cp311-cp311-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pymoose-4.1.2-cp311-cp311-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 25c684f85c45f0fc77fa025904397d5839690d4f74613508548a18bdbe8f4539
MD5 f00cabdb897cca34e042d28cbc781786
BLAKE2b-256 79defdb30a6c35f3d0164ca875ded75420837f33b0514015b4b6859d2142c95b

See more details on using hashes here.

File details

Details for the file pymoose-4.1.2-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pymoose-4.1.2-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 e6b7a0fd9bb2728c6fc82b20c87a3846bb41b3bfca1fcdb0864aa906156c1f5f
MD5 87bfac54a3d03eedc8e36fb3e5c2a652
BLAKE2b-256 a57ad6c8ffaa706a04b8d13c9cf1aed5db6be26ad42bc774f7721e6cebd7ea3b

See more details on using hashes here.

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

Hashes for pymoose-4.1.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 61eb8b4e46377bc58a0495193399ccd2d5c060e7a3933b40cd4769883ec150b8
MD5 fa2031f05e0998952ee98b5baf300d3c
BLAKE2b-256 42e8e76e03f547b1206596c131b9a6e560dc7cacb857032d602eeca6ca48c2c7

See more details on using hashes here.

File details

Details for the file pymoose-4.1.2-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pymoose-4.1.2-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0f497354aebe7df429e395dd6c55cc9ab1c35065626d5a495b43741f4f441231
MD5 5341d95d703df670443a42fb2e5ca620
BLAKE2b-256 56510aecde9e0805d8798fe775bdd5f4e322c37d52b9e5501f774be6ea1dfc11

See more details on using hashes here.

File details

Details for the file pymoose-4.1.2-cp310-cp310-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pymoose-4.1.2-cp310-cp310-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 91966218c5be5df8c751a969e8e2812e832a627d6255394f3c0acd0135fbfb90
MD5 a45e39d267040ff7e97a80165221024b
BLAKE2b-256 1b4cfdbd4ffed9c8fc2e15193eb8d7f7fd5818c57c9bdde251040efeadbf4236

See more details on using hashes here.

File details

Details for the file pymoose-4.1.2-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pymoose-4.1.2-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 2521aeaba04733c187bca8b580e42ea70fe0dff5923481c2c818f99148e4a0a7
MD5 cbdc8a49cf3b96622f3b5e817c9ca3e0
BLAKE2b-256 760af507721ecd13b57e14ed65f0c32acc97f49e1d02437cba73f506c38d0418

See more details on using hashes here.

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

Hashes for pymoose-4.1.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a715b33cc4e8cc3ece36dd887a133c93e8c028aead3d8ecd34dadfcfffb7a0aa
MD5 bc3105140f4e0f77f43a3a38f185e899
BLAKE2b-256 dbe3137e766f69157a36177bd38faec8d62021326c15c134ba4a64706ab72c23

See more details on using hashes here.

File details

Details for the file pymoose-4.1.2-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pymoose-4.1.2-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8e8f7763c1536568702841fa15c424e90e59df17b770ff96ae78d3e84fa6fb8a
MD5 5104df2c26ddfd46d67a3a0338d912e4
BLAKE2b-256 9727a5597e3494843221e8b2e087bbe5c6384be7452e617601151cd24873960e

See more details on using hashes here.

File details

Details for the file pymoose-4.1.2-cp39-cp39-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pymoose-4.1.2-cp39-cp39-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 d108f76004391c14d0a03587703b0c8e302b2fce616386002e8df6b7a9490747
MD5 76ba9da2e86d842dc0d8f80c9646beef
BLAKE2b-256 35d0e7505e853302c6d2078493a3b2b77042f0a1bdf61abd3f81105a2537f64b

See more details on using hashes here.

File details

Details for the file pymoose-4.1.2-cp39-cp39-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pymoose-4.1.2-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 dbbf2d0982cb1475fc248bbb064e68b0ee84372c0f03cd3297cfa283cc578352
MD5 220199eac128b994ec645ae3026b2e77
BLAKE2b-256 d971c79a851c971eed221ac3e13c217683a0e19dbd3d7686227033f27182c043

See more details on using hashes here.

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

Hashes for pymoose-4.1.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 3a4586f2e9f7485dd9b0fb73e4a2c4af97bad6ebf8a78d963360780f74268ce6
MD5 b9f39819efa3dfb2ca920590a3f5413c
BLAKE2b-256 55d47237cb8c441cfcd110f38ac651253806a9c86fefeccdf4d7a3466efb6545

See more details on using hashes here.

File details

Details for the file pymoose-4.1.2-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pymoose-4.1.2-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f4327fbe8845e280194e608cf89657663b9081618cfa8f9f9b3f1b6556bc82ed
MD5 2cd5675a9c81ed8acefe4b17f2ba236c
BLAKE2b-256 87f2101226e9f75874276366a7e17806263f49e56bbe7dbb1c625b9ee2d17730

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page