Skip to main content

A Python library for working with the Low Entropy Model Specification language (LEMS)

Project description

PyLEMS

Build Check LEMS examples Documentation Status PyPI

A LEMS simulator written in Python which can be used to run NeuroML2 models (see here).

For more about PyLEMS see:

Michael Vella, Robert C. Cannon, Sharon Crook, Andrew P. Davison, Gautham Ganapathy, Hugh P. C. Robinson, R. Angus Silver and Padraig Gleeson, libNeuroML and PyLEMS: using Python to combine procedural and declarative modeling approaches in computational neuroscience Frontiers in Neuroinformatics 2014, doi: 10.3389/fninf.2014.00038

PLEASE CITE THE PAPER ABOVE IF YOU USE PYLEMS!

For more details on LEMS see:

Robert C. Cannon, Padraig Gleeson, Sharon Crook, Gautham Ganapathy, Boris Marin, Eugenio Piasini and R. Angus Silver, LEMS: A language for expressing complex biological models in concise and hierarchical form and its use in underpinning NeuroML 2, Frontiers in Neuroinformatics 2014, doi: 10.3389/fninf.2014.00079

Installation

A stable version of PyLEMS is available on PyPI using pip:

pip install pylems

Alternatively, you can obtain the latest version with

git clone https://github.com/LEMS/pylems.git
cd pylems
git checkout development   # optional
pip install .

Usage as a LEMS model simulator

pylems [options] LEMS_file

Options

  • -I/-include path - Adds a directory to the model file include search path

Examples

NeuroML examples (from https://github.com/NeuroML/NeuroML2/tree/development/NeuroML2CoreTypes)

  • Example 0 -- Working
  • Example 1 -- Working
  • Example 2 -- Working
  • Example 3 -- Working
  • Example 4 -- Not working (Unsupported in PyLEMS: KSChannel)
  • Example 5 -- Working
  • Example 6 -- Working
  • Example 7 -- Working
  • Example 8 -- Working
  • Example 9 -- Working
  • Example 10 -- Working
  • Example 11 -- Working
  • Example 12 -- Not working (Unsupported in PyLEMS: Property)
  • Example 13 -- Working
  • Example 14 -- Not working (Unsupported in PyLEMS: Property)
  • Example 15 -- Working
  • Example 16 -- Working (apart from spikeArray)
  • Example 17 -- Working
  • Example 18 -- Working

LEMS examples (in directory examples)

  • example1.xml -- Working
  • example2.xml -- Working
  • example3.xml -- Working
  • example4.xml -- Not working (Unsupported in PyLEMS: KSChannel)
  • example5.xml -- Not working (Unsupported in PyLEMS: KSChannel)
  • example6.xml -- Working

TODO: Rest of examples require an update to the <Simulation> element, i.e. use <Simulation...> not <SimulationSet...>, to work in PyLEMS

LEMS elements that do not work

  • KSChannel
  • Property
  • XPath based parameters - PathParameter
  • Assertions

Tasks TODO

  • Implement flattening
  • Decouple events from runnables
  • Improve dimension-checking on expressions.

This code is distributed under the terms of the GNU Lesser General Public License.

Project details


Download files

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

Source Distribution

pylems-0.6.9.tar.gz (72.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pylems-0.6.9-py3-none-any.whl (67.6 kB view details)

Uploaded Python 3

File details

Details for the file pylems-0.6.9.tar.gz.

File metadata

  • Download URL: pylems-0.6.9.tar.gz
  • Upload date:
  • Size: 72.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for pylems-0.6.9.tar.gz
Algorithm Hash digest
SHA256 01b47e60ec1fc4896e9cf69c15160012148202547a9cf6759a93828abdcd738a
MD5 61815e9b4be88a62e2ce59621114dc8c
BLAKE2b-256 b40bb5d0800c3ae8aecf4ac0ab415537643e8a1fff138f6a282409f23e4906cd

See more details on using hashes here.

File details

Details for the file pylems-0.6.9-py3-none-any.whl.

File metadata

  • Download URL: pylems-0.6.9-py3-none-any.whl
  • Upload date:
  • Size: 67.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for pylems-0.6.9-py3-none-any.whl
Algorithm Hash digest
SHA256 2c4346da61f1e312c7eeb6d3f98922854b6674391648aaf4c9c5c8d0e3977beb
MD5 16fdf798556d9e1de18130ead496fe62
BLAKE2b-256 f7c524fa6d73081f592b7008806c3e20ad6633ae12c8e2d56bc78f14a19d68c2

See more details on using hashes here.

Supported by

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