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 (http://lems.github.io/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.7.tar.gz (72.5 kB view details)

Uploaded Source

Built Distribution

PyLEMS-0.6.7-py3-none-any.whl (67.1 kB view details)

Uploaded Python 3

File details

Details for the file PyLEMS-0.6.7.tar.gz.

File metadata

  • Download URL: PyLEMS-0.6.7.tar.gz
  • Upload date:
  • Size: 72.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for PyLEMS-0.6.7.tar.gz
Algorithm Hash digest
SHA256 b82b66dbe51206b6c3db915651aadfeb6e8eeb5a95d3114ca8b97725f2fafce6
MD5 532eb2117d511501a5839609788ff3c3
BLAKE2b-256 70dcf010fbb278f30f0486c0642b8acad2b11c501c4589cd2bcc00d22965897b

See more details on using hashes here.

File details

Details for the file PyLEMS-0.6.7-py3-none-any.whl.

File metadata

  • Download URL: PyLEMS-0.6.7-py3-none-any.whl
  • Upload date:
  • Size: 67.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for PyLEMS-0.6.7-py3-none-any.whl
Algorithm Hash digest
SHA256 ba066a3406c5cba264e758338c7143571f3157323566208b3f3c10a3be32e7d4
MD5 f067ed592b7d5f2243293b1c6d5f7180
BLAKE2b-256 51a3b99cb300a8964be2eb7752c86b773b9c2a6f7c0a3803065e72390efcdeda

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