Skip to main content

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 (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](http://journal.frontiersin.org/Journal/10.3389/fninf.2014.00038/abstract), 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](http://journal.frontiersin.org/Journal/10.3389/fninf.2014.00079/abstract), doi: 10.3389/fninf.2014.00079

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**

- XPath based parameters - PathParameter
- Assertions

**Tasks TODO**

- Implement flattening
- Decouple events from runnables
- Perform dimension-checking on expressions.
- Implement LEMS API over lems.model.* (NeuroML API?)
- Interface with libNeuroML and Pyramidal to export Neuron MOD files
- Export C files (Interface? Steve Marsh’s project?)
- Assertions.
- XPath implementation.
- Implement Runnables from Component types instead of expanded typeless Components (Required for efficient C/C++ code generation, but conflicts with flattening)



Travis integration
------------------

pylems is integrated with the the [Travis Continuous Integration service](http://travis-ci.org/).

[![Build Status](https://travis-ci.org/LEMS/pylems.png?branch=master)](https://travis-ci.org/LEMS/pylems)

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

Uploaded Source

File details

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

File metadata

  • Download URL: PyLEMS-0.3.7.tar.gz
  • Upload date:
  • Size: 48.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for PyLEMS-0.3.7.tar.gz
Algorithm Hash digest
SHA256 c6a000bf33e6e4a64b626f0f74791bd43a230d96a1e10ad5566f24f1b1cdb251
MD5 6bd4705c3ea9a36aa30c6f8096deb909
BLAKE2b-256 ec438e6ac2fed4d794b84ff884f99693e81f3d39397a44e2187ab236712c114c

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