Skip to main content

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

Project description

PyLEMS

Documentation Status

A LEMS (http://lems.github.io/LEMS) simulator written in Python which can be used to run NeuroML2 (http://neuroml.org/neuroml2.php) models.

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

To install as root:

sudo 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
sudo python setup.py 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.

Travis integration

pylems is integrated with the the Travis Continuous Integration service.

Build Status

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.5.5.tar.gz (66.4 kB view details)

Uploaded Source

Built Distribution

PyLEMS-0.5.5-py3-none-any.whl (63.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: PyLEMS-0.5.5.tar.gz
  • Upload date:
  • Size: 66.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/52.0.0.post20210125 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.7

File hashes

Hashes for PyLEMS-0.5.5.tar.gz
Algorithm Hash digest
SHA256 ea1050e348b7072c8e1e64e8d8ac266da7723baef9d4ec0744110eb3fdc32279
MD5 e4fac2153cef68b2040fdc9751a578b9
BLAKE2b-256 dffc548731e295e531c7c40244eaaa508ddf188a4d5c69b0acc777e794b9ca5d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: PyLEMS-0.5.5-py3-none-any.whl
  • Upload date:
  • Size: 63.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/52.0.0.post20210125 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.7

File hashes

Hashes for PyLEMS-0.5.5-py3-none-any.whl
Algorithm Hash digest
SHA256 fef3c3da056dc7778b8c859039511fb4d18ad98d8cec946c6bf2e6e406ed4103
MD5 83c1633962ecfcdc2db3ce573430a443
BLAKE2b-256 4e056aa22f481d0f2dc0e2862abfe39faba798b6f38cd5ef97a285466c5d001d

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