LEMS interpreter implemented in Python
Python Other
Latest commit 2d753af Jan 24, 2017 @pgleeson pgleeson Minor update to logging of debug info
Update to v0.4.9
Permalink
Failed to load latest commit information.
examples Added option to add <Include> to generated model Jun 7, 2016
lems Minor update to logging of debug info Jan 24, 2017
.gitignore Ignoring... Jul 26, 2016
.travis.yml
LICENSE.lesser Adding license information: LGPL Sep 16, 2014
MANIFEST.in Minor changes to make easy_install-able PyLEMS Feb 21, 2014
Makefile Removing unused files, tidying up Makefile Feb 21, 2014
README.md
pylems Defaulting to whichever is the local install of python Dec 10, 2013
setup.py Updated name of licence in setup.py Nov 16, 2015
testpy2.sh
testpy3.sh Moving exportsom into main source; renaming exportdlems Sep 23, 2013

README.md

PyLEMS

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.