Package: pyNeuroML
pyNeuroMLA single package in Python unifying scripts and modules for reading, writing, simulating and analysing NeuroML2/LEMS models.Builds on:libNeuroML&PyLEMSand wraps functionality fromjNeuroML.InstallationDependenciespyNeuroML relies on additional software to carry out its functions:Java Runtime environment (JRE)dot (fromGraphviz)lxmlOn most Linux systems, these can be installed using the default package manager.
On Ubuntu based distributions:sudo apt-get install python-lxml graphviz openjdk-11-jdkPippyNeuroML can be installed with pip (preferably in avirtual environment):pip install pyneuromlFedoraTheNeuroFedoracommunity initiative provides pyNeuroML for use on theFedora Linux Distribution.
Fedora users can install pyNeuroML using the following commands:sudo dnf copr enable @neurofedora/neurofedora-extra
sudo dnf install python3-pyneuromlThis will also pull in all the necessary dependencies (Java, lxml, graphviz).
Please see theproject documentationfor more information.Installation from sourceClone the repository:git clone https://github.com/NeuroML/pyNeuroML.git
cd pyNeuroMLIt should be possible to install pyNeuroML using just:pip install .To develop pyNeuroML, you can use thedevextra and thedevelopmentbranch:git clone https://github.com/NeuroML/pyNeuroML.git
cd pyNeuroML
git checkout development
pip install .[dev]Current/planned features1) Single Python package for NeuroML2/LEMSOne Python package which can be installed using pip & a user has everything they need to work with NeuroML2/LEMS files:libNeuroMLPyLEMSA bundled version of jNeuroML which can be used to run simulations2) Run models using jNeuroML or PyLEMSAbility to run NeuroML2/LEMS models using jLEMS/jNeuroML (withbundled jar) or PyLEMS (todo...)Uses similar command line interface to jNeuroML, i.e. based on jnmlTry:pynml -hto list current options.3) Access to export & import options of jNeuroMLAll export & import options of jNeuroML available through easy command line interface (seeherefor progress) & through Python methods.Example of export of NeuroML2/LEMS to NEURON and execution of generated code using single method ishere.4) Helper Python scriptsLots of helper scripts for commonly used functions, e.g.generating a firing frequency vs injected current plot,generating a LEMS file for use with a NeuroML2 file,5) Analysis of ion channelsGeneration of plots of activation rates for ion channels from NeuroML2 channel file (example):pynml-channelanalysis NaConductance.channel.nmlGeneration of plots of activation rates for ion channels from NEURON mod file (example):pynml-modchananalysis NaConductance -modFile NaConductance.modSeeherefor more.6) Home for existing functionality distributed in various placesIncorporate ChannelML2NeuroML2beta.xsl for updating ChannelML (coming soon...)7) NEURON to NeuroML2Scripts for converting NEURON to NeuroML2Export morphologies (plus channels, soon). Seehere.mod files - make best guess at initial NeuroML2 form (todo)8) Export of images/movies from cell/networksFiles can be generated forPOV-Raywhich can be used to generate high resolution images and even sequences of images for creating movies. try:pynml-povray -h9) Tuning cell models in NeuroML 2Builds onNeurotuneandpyelectro. Seeherefor example.9) Planned functionalityBuilt in viewer of cells in 3D? Mayavi?
More closely tied to PyNN?ContributorsPadraig Gleeson🐛💻🖋🔣📖🎨📋🤔🚇🚧🧑‍🏫📦📆💬🔬👀🔧✅📢📓Ankur Sinha🐛💻🖋🔣📖🎨📋🤔🧑‍🏫📦💬🔬Boris Marin🐛💻🖋🔣📖🎨📋🤔🚇🚧📦💬🔬👀🔧📓Richard C Gerkin🐛💻🤔🚧📦🔬👀🔧📓David Lung🐛💻🚧🔧📓Mark Watts🐛💻Chaitanya Chintaluri🐛💻34383c🐛💻Johannes Rieke🐛💻András Ecker🐛💻Rokas Stanislovas🐛💻Robert Vickerstaff💻⚠️Add your contributions