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 Distribution

pymoose-4.0.0.dev20240410-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

File details

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

File metadata

File hashes

Hashes for pymoose-4.0.0.dev20240410-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 387f4596f4c2bb0b704dbb2821223ed71a0d821f7f7d642efd9311fe17b0a13b
MD5 96df1e67e4e5f361bfb947903a97c022
BLAKE2b-256 526c62cb8e47e262b52054619498047a8047223c00214f64e4d6248742178853

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