All Projects → ProjectPyRhO → PyRhO

ProjectPyRhO / PyRhO

Licence: BSD-3-Clause license
A virtual optogenetics laboratory

Programming Languages

python
139335 projects - #7 most used programming language
AMPL
153 projects
shell
77523 projects
Jupyter Notebook
11667 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to PyRhO

NEURON-UI
NEURON User Interface
Stars: ✭ 14 (-53.33%)
Mutual labels:  neuroscience, neuron, brain
brian2cuda
A brian2 extension to simulate spiking neural networks on GPUs
Stars: ✭ 46 (+53.33%)
Mutual labels:  neuroscience, computational-neuroscience, brian2
syncopy
Systems Neuroscience Computing in Python: user-friendly analysis of large-scale electrophysiology data
Stars: ✭ 19 (-36.67%)
Mutual labels:  neuroscience, computational-neuroscience, brain
Awesome Neuroscience
A curated list of awesome neuroscience libraries, software and any content related to the domain.
Stars: ✭ 734 (+2346.67%)
Mutual labels:  neuroscience, brain
clinica
Software platform for clinical neuroimaging studies
Stars: ✭ 153 (+410%)
Mutual labels:  neuroscience, brainweb
Fieldtrip
The MATLAB toolbox for MEG, EEG and iEEG analysis
Stars: ✭ 481 (+1503.33%)
Mutual labels:  neuroscience, brain
MIRACL
Multi-modal Image Registration And Connectivity anaLysis
Stars: ✭ 23 (-23.33%)
Mutual labels:  neuroscience, brain
Open Computational Neuroscience Resources
A publicly-editable collection of open computational neuroscience resources
Stars: ✭ 234 (+680%)
Mutual labels:  neuroscience, brain
Visbrain
A multi-purpose GPU-accelerated open-source suite for brain data visualization
Stars: ✭ 172 (+473.33%)
Mutual labels:  neuroscience, brain
neuroexpresso
📊 Gene expression in neuroexpresso database
Stars: ✭ 15 (-50%)
Mutual labels:  neuroscience, neuron
Pyllusion
A Parametric Framework to Generate Visual Illusions using Python
Stars: ✭ 35 (+16.67%)
Mutual labels:  neuroscience, brain
CCN Association
认知计算神经联盟 讨论会
Stars: ✭ 49 (+63.33%)
Mutual labels:  neuroscience, computational-neuroscience
ColeAnticevicNetPartition
Public release of The Cole-Anticevic Brain-wide Network Partition (CAB-NP)
Stars: ✭ 48 (+60%)
Mutual labels:  neuroscience, brain
BrainPy
Brain Dynamics Programming in Python
Stars: ✭ 242 (+706.67%)
Mutual labels:  neuroscience, computational-neuroscience
bg-atlasapi
A lightweight python module to interact with atlases for systems neuroscience
Stars: ✭ 54 (+80%)
Mutual labels:  neuroscience, brain
Brayns
Visualizer for large-scale and interactive ray-tracing of neurons
Stars: ✭ 232 (+673.33%)
Mutual labels:  neuroscience, brain
computational-neuroscience
Short undergraduate course taught at University of Pennsylvania on computational and theoretical neuroscience. Provides an introduction to programming in MATLAB, single-neuron models, ion channel models, basic neural networks, and neural decoding.
Stars: ✭ 36 (+20%)
Mutual labels:  computational-neuroscience, neuron
neuronunit
A package for data-driven validation of neuron and ion channel models using SciUnit
Stars: ✭ 36 (+20%)
Mutual labels:  neuroscience, computational-neuroscience
cyclops
Precision current source, with optional optical feedback, for driving LEDs and laser diodes
Stars: ✭ 38 (+26.67%)
Mutual labels:  neuroscience, optogenetics
brainreg
Automated 3D brain registration with support for multiple species and atlases.
Stars: ✭ 73 (+143.33%)
Mutual labels:  neuroscience, brain

PyRhO

A Virtual Optogenetics Laboratory


PyRhO is a Python module to fit, characterise and simulate (rhod)opsin photocurrents.

PyPI GitHub image PyPI - Python Version GitHub stars

Background

Optogenetics has become a key tool for understanding the function of neural circuits and controlling their behaviour. An array of directly light driven opsins have been genetically isolated from several families of organisms, with a wide range of temporal and spectral properties. In order to characterize, understand and apply these rhodopsins, we present an integrated suite of open-source, multi-scale computational tools called PyRhO.

PyRhO enables users to:

  1. Characterize new (and existing) rhodopsins by automatically fitting a minimal set of experimental data to three, four or six-state kinetic models,
  2. Simulate these models at the channel, neuron & network levels and
  3. Gain functional insights through model selection and virtual experiments in silico.

The module is written in Python with an additional IPython/Jupyter notebook based GUI, allowing models to be fit, simulations to be run and results to be shared through simply interacting with a webpage. The seamless integration of model fitting algorithms with simulation environments for these virtual opsins (including NEURON and Brian2) will enable (neuro)scientists to gain a comprehensive understanding of their behaviour and rapidly identify the most suitable variant for application in a particular biological system. This process may thereby guide not only experimental design and opsin choice but also alterations of the rhodopsin genetic code in a neuro-engineering feed-back loop. In this way, we hope PyRhO will help to significantly improve optogenetics as a tool for transforming biological sciences.

Architecture

PyRhO
architecture

PyRhO is composed of several abstraction layers, including the Model layer, Protocol layer and Simulator layer (shown in the architectural schematic below). Choices in each layer are independent or one another, giving a large number of possible combinations to suit many needs for in silico experiments. Additionally, parameters may be fit to each type of kinetic model from experimental data or loaded from the default options of popular opsins.

Prometheus

If you would like to try PyRhO before installing it, go to try.projectpyrho.org to launch a fully configured Jupyter notebook in your browser.

Docker

If you wish to use PyRhO in a Docker container, a Dockerfile is provided in the accompanying Prometheus repository: https://github.com/ProjectPyRhO/Prometheus

The Dockerfile will build a full installation including the NEURON and Brian2 simulators and the Jupyter notebook GUI. See the repository's README file for instructions.

Installation

To install PyRhO (including the GUI) from PyPI use the command: :

pip install pyrho[full]

Alternatively, to install the latest code from GitHub (including the GUI) use the command: :

pip install git+https://github.com/ProjectPyRhO/PyRhO.git#egg=PyRhO[full]

To use PyRhO with the NEURON simulator in a Python 3 environment, NEURON must be compiled from its source code. An installation script is provided for doing this on Mac OS X or Linux. The resultant installation will also work with Python 2. If you only wish to use PyRhO/NEURON with Python 2 however, a standard NEURON installation should be sufficient. The shell script may be called after importing PyRhO with the following function: :

from pyrho import *
setupNEURON('/installation/path/for/NEURON/')

This will attempt to compile NEURON from source, copy the supplied mod and hoc files into place (the current working directory by default) finally compiling the mod files describing the opsin models ready for inclusion in simulations.

The Brian simulator is included with the PyRhO installation for modelling networks of optogenetically transfected spiking neurons.

Further Information

If you use PyRhO please cite our paper:

Evans, B. D., Jarvis, S., Schultz, S. R. & Nikolic K. (2016) "PyRhO: A Multiscale Optogenetics Simulation Platform", Frontiers in Neuroinformatics, 10 (8). doi:10.3389/fninf.2016.00008

@ARTICLE{pyrho,
    AUTHOR={Evans, Benjamin D. and Jarvis, Sarah and Schultz, Simon R. and Nikolic, Konstantin},
    TITLE={PyRhO: A Multiscale Optogenetics Simulation Platform},
    JOURNAL={Frontiers in Neuroinformatics},
    VOLUME={10},
    YEAR={2016},
    NUMBER={8},
    URL={http://journal.frontiersin.org/article/10.3389/fninf.2016.00008/full},
    DOI={10.3389/fninf.2016.00008}
}

The PyRhO project website with additional documentation may be found here: www.imperial.ac.uk/bio-modelling/pyrho

Finally, don't forget to follow us on twitter for updates: @ProjectPyRhO!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].