Skip to main content

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

Project description

Python package

Installation

This repository is sufficient for using MOOSE as a python module. We provide python package via pip.

$ pip install pymoose --user 

To install nightly build:

$ pip install pymoose --user --pre --upgrade

Have a look at examples, tutorials and demo here https://github.com/BhallaLab/moose-examples.

Build

To build pymoose, follow instructions given here at https://github.com/BhallaLab/moose-core/blob/master/INSTALL.md


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 .

ABOUT VERSION 4.0.0, Jalebi

Jalebi is an Indian sweet involving a golden twisting tube like a hyper-pretzel, of crunchy batter soaked in sugar syrup lightly flavoured with spices and sometimes lemon.

This release has the following major changes:

  1. A major under-the-hood change to numerics for chemical calculations, eliminating the use of 'zombie' objects for the solvers. This simplifies and cleans up the code and object access, but doesn't alter runtimes.

  2. Another major under-the-hood change to use pybind11 as a much cleaner way to interface the parser with the C++ numerical code.

  3. Addition of a thread-safe and faster parser based on ExprTK

  4. Resurrected objects for handling simulation output saving using HDF5 format. There is an HDFWriter class, an NSDFWriter, and a new NSDFWriter2. The latter two implement storage in NSDF, Neuronal Simulation Data Format, Ray et al Neuroinformatics 2016. NSDF is built on HDF5 and builds up a specification designed to ensure ready replicability as well as self- description of model output.

  5. Multiple enhancements to rdesigneur, including vastly improved 3-D graphics output using VPython.

  6. Various bugfixes

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

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

Built Distributions

pymoose-4.0.0.dev20240411-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.5 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pymoose-4.0.0.dev20240411-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.5 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pymoose-4.0.0.dev20240411-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pymoose-4.0.0.dev20240411-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.5 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

File details

Details for the file pymoose-4.0.0.dev20240411-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pymoose-4.0.0.dev20240411-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 46ecdb722eb360807bc9af10f692f8a7810696b6cff1f09d1f24ff908457c181
MD5 8d9872b22bd9f4558fc91a6137510ea0
BLAKE2b-256 436d5763d9acc0151e55774eafa23a3ebe68eadf93d4442a9ea9e08be2b2abdd

See more details on using hashes here.

File details

Details for the file pymoose-4.0.0.dev20240411-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pymoose-4.0.0.dev20240411-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9397b1ad7df34adbeef97e35420a03bde528a6f3d267d13f5d15031674b13827
MD5 0698d3b78441b63393a57c116cfbfa9c
BLAKE2b-256 1e4ead41f8b7a27aaf8a8f229639d4e49814dcd8ec1a32ae60207757230d002e

See more details on using hashes here.

File details

Details for the file pymoose-4.0.0.dev20240411-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pymoose-4.0.0.dev20240411-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 90d84ec4d76c52a50df38780dcc59886c4c123635cd0cb2751dfa09aaa3e18c3
MD5 805b5bff4e07b2dd4c1bb30f46982e4f
BLAKE2b-256 39d2c987e0b72c11f0937facb3b857aafb580f67eee465f82121745f5aee8d8a

See more details on using hashes here.

File details

Details for the file pymoose-4.0.0.dev20240411-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pymoose-4.0.0.dev20240411-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a39aa544632adf77d3a3390a950f70ea500035decd5fcce0604b24dd1c8cb1ab
MD5 76e9134105a2f079842ddc097cc863cc
BLAKE2b-256 f79c7290a983ae744dfde338052ae910866f5578e9889878f03de1024e5754ce

See more details on using hashes here.

Supported by

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