A Python library for working with the Low Entropy Model Specification language (LEMS)
Project description
PyLEMS
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
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 Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | b82b66dbe51206b6c3db915651aadfeb6e8eeb5a95d3114ca8b97725f2fafce6 |
|
MD5 | 532eb2117d511501a5839609788ff3c3 |
|
BLAKE2b-256 | 70dcf010fbb278f30f0486c0642b8acad2b11c501c4589cd2bcc00d22965897b |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba066a3406c5cba264e758338c7143571f3157323566208b3f3c10a3be32e7d4 |
|
MD5 | f067ed592b7d5f2243293b1c6d5f7180 |
|
BLAKE2b-256 | 51a3b99cb300a8964be2eb7752c86b773b9c2a6f7c0a3803065e72390efcdeda |