pyrho

A virtual optogenetics laboratory

https://github.com/projectpyrho/pyrho

Science Score: 75.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 6 DOI reference(s) in README
  • Academic publication links
    Links to: frontiersin.org
  • Committers with academic emails
  • Institutional organization owner
    Organization projectpyrho has institutional domain (www.imperial.ac.uk)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.5%) to scientific vocabulary

Keywords

brain brainweb brian2 computational-neuroscience jupyter-widget neuron neuroscience opsin optogenetics python
Last synced: 6 months ago · JSON representation ·

Repository

A virtual optogenetics laboratory

Basic Info
  • Host: GitHub
  • Owner: ProjectPyRhO
  • License: bsd-3-clause
  • Language: Python
  • Default Branch: master
  • Size: 3.8 MB
Statistics
  • Stars: 37
  • Watchers: 2
  • Forks: 9
  • Open Issues: 1
  • Releases: 0
Topics
brain brainweb brian2 computational-neuroscience jupyter-widget neuron neuroscience opsin optogenetics python
Created about 10 years ago · Last pushed over 2 years ago
Metadata Files
Readme License Citation

README.md

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!

Owner

  • Name: Project PyRhO
  • Login: ProjectPyRhO
  • Kind: organization
  • Email: projectpyrho@gmail.com
  • Location: Imperial College London

Computational tools for Optogenetics

Citation (citation.cff)

cff-version: 1.2.0
message: "If you use this software, please cite the accompanying article."
preferred-citation: 
  type: article
  authors:
  - family-names: "Evans"
    given-names: "Benjamin D."
    orcid: "https://orcid.org/0000-0002-1734-6070"
  - family-names: "Jarvis"
    given-names: "Sarah"
    orcid: "https://orcid.org/0000-0003-1818-6088"
  - family-names: "Schultz"
    given-names: "Simon R."
    orcid: "https://orcid.org/0000-0002-6794-5813"
  - family-names: "Nikolic"
    given-names: "Konstantin"
    orcid: "https://orcid.org/0000-0002-6551-2977"
  doi: "10.3389/fninf.2016.00008"
  journal: "Frontiers in Neuroinformatics"
  month: 3
  start: 1 # First page number
  end: 19 # Last page number
  title: "PyRhO: A Multiscale Optogenetics Simulation Platform"
  issue: 8
  volume: 10
  year: 2016

GitHub Events

Total
  • Watch event: 3
  • Fork event: 2
Last Year
  • Watch event: 3
  • Fork event: 2

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 650
  • Total Committers: 3
  • Avg Commits per committer: 216.667
  • Development Distribution Score (DDS): 0.003
Past Year
  • Commits: 58
  • Committers: 1
  • Avg Commits per committer: 58.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Ben Evans b****s@g****m 648
Andrew Davison a****n@u****r 1
Ryan Yang p****6@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 3
  • Total pull requests: 5
  • Average time to close issues: over 2 years
  • Average time to close pull requests: 9 days
  • Total issue authors: 3
  • Total pull request authors: 4
  • Average comments per issue: 2.33
  • Average comments per pull request: 0.0
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Turkeywobbling (1)
  • bdevans (1)
  • mariakesa (1)
Pull Request Authors
  • bdevans (2)
  • AdrianBeersingVasquez (1)
  • Turkeywobbling (1)
  • apdavison (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 6 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 1
  • Total maintainers: 1
pypi.org: pyrho

Fit and characterise rhodopsin photocurrents

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 6 Last month
Rankings
Dependent packages count: 10.0%
Stargazers count: 11.1%
Forks count: 12.5%
Average: 17.4%
Dependent repos count: 21.7%
Downloads: 31.5%
Maintainers (1)
Last synced: 6 months ago

Dependencies

environment.yml conda
  • bokeh
  • brian2
  • brian2tools
  • cython
  • h5py
  • matplotlib
  • nose
  • numexpr
  • numpy
  • pandas
  • pip
  • python
  • scipy
  • seaborn
  • sympy
.devcontainer/dev-requirements.txt pypi
  • brian2 * development
  • brian2tools * development
  • cython * development
  • ipympl * development
  • jupyterlab * development
  • matplotlib-base * development
  • neuron * development
  • nose * development
  • numpy * development
  • pandas * development
  • pytest * development
  • scipy * development
  • seaborn * development
  • sympy * development
requirements.txt pypi
  • brian2 >=2.0
  • cython >=0.23
  • ipython >=4.1
  • ipywidgets >=4.1,<5
  • jupyter >=1.0
  • lmfit >=0.9.3
  • matplotlib >=1.3
  • notebook >=4.1
  • numpy >=1.8
  • pandas >=0.17
  • scipy >=0.15
  • seaborn >=0.7
setup.py pypi
  • brian2 >=2.0
  • lmfit >=0.9.3,<1.0.3
  • matplotlib >=1.3
  • numpy >=1.8
  • scipy >=0.15
.github/workflows/python-package.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
.devcontainer/Dockerfile docker
  • mcr.microsoft.com/vscode/devcontainers/python 0-${VARIANT} build