
Security News
Meet Socket at Black Hat and DEF CON 2025 in Las Vegas
Meet Socket at Black Hat & DEF CON 2025 for 1:1s, insider security talks at Allegiant Stadium, and a private dinner with top minds in software supply chain security.
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 .
See docs/source/install/INSTALL.md for instructions on installation.
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.
This version builds upon the v4.1.0 (Jhangri) release and includes important internal improvements, documentation enhancements, and binding support.
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:
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
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
HHChannelF
and HHGateF
for formula-based evaluation of Hodgkin-Huxley type gating parametersHHGate
: 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.moose.sysfields
to display system fields like fieldIndex
, numData
etc.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).moose.vec
and moose.element,
including updated documentation.moose.showfields
updated to
fieldIndex
, numData
etc. These can now be printed using sysfields
function.name
, className
, tick
and dt
at the top.None
instead of the output string to avoid cluttering the interactive session.moose.pwe()
returns None
to avoid output clutter. Use moose.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 between parent
and children
fields.moose.le()
returns None
to avoid output clutter. Use element.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 either str
path or element
or vec
for src
and dest
parameters.moose.delete
now accepts vec (Id) as argument.bool
attribute handling added to moose.vec
moose.vec
moose.setCwe()
now handles str, element (ObjId) and vec (Id) parameters correctlymoose.showmsg()
mixing up incoming and outgoing messages.Ubuntu
build instructions for better clarity.HHGate
, including additional warnings.Stoich,
with improved code comments and clarifications.MOOSE is released under GPLv3.
FAQs
Python scripting interface of MOOSE Simulator (https://moose.ncbs.res.in)
We found that pymoose demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Meet Socket at Black Hat & DEF CON 2025 for 1:1s, insider security talks at Allegiant Stadium, and a private dinner with top minds in software supply chain security.
Security News
CAI is a new open source AI framework that automates penetration testing tasks like scanning and exploitation up to 3,600× faster than humans.
Security News
Deno 2.4 brings back bundling, improves dependency updates and telemetry, and makes the runtime more practical for real-world JavaScript projects.