Skip to content

BenjiJack/neuronal-analysis

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Join the chat at https://gitter.im/openworm/neuronal-analysis Stories in Ready

neuronal-analysis

Tools to produce, analyse and compare both simulated and recorded neuronal datasets

This repository is intended to capture the results of both performing analysis on the dynamics of c. elegans neurons that have been recorded, as well as analyzing the results of simulations of c. elegans neurons, and making the two comparable to each other. While our current simulations of c. elegans neurons still leave out many important details and tuning, there is a lot to be learned from even making coarse grained comparisons between real dynamics and dynamics that can come from imprecise models.

Analysis

In a separate repo, progress was reported by @lukeczapla and @theideasmith in reproducing analysis via python code on existing data sets recorded from real c. elegans neurons:

Sample fluorescence heatmap for 107 neurons zimmer-scaled.

PCA on Derivatives derivative-manifolds

They wrote:

We also have some code to deal with the Kato data, which you can access at the link provided, in the folder wbdata. In that directory, if you import transform.py as tf, you can access a dictionary containing all of Katos data with tf.wormData. The dictionary contains calcium imaging data for five worms and is keyed by the original matlab file names as they were sent by Kato himself :). Each worm's data's contains timevector ‘tv’, neural activity traces uncorrected (‘deltaFOverF') and corrected for bleaching (‘deltaFOverF_bc’) as well as derivatives (‘deltaFOverF_deriv'). The identity of neurons is in the same order in the cell array ‘NeuronIds'.

Simulation

The same approach taken for recordings of real neurons can be applied to simulations. While the real neurons were reporting a fluorescence change over time, and the simulations are outputting membrane potential (voltage), at the level of gross dynamics, because those two variables are known to be related, they are comparable.

Bottom-up

The OpenWorm project has been following a bottom-up approach to modeling the nervous system for some time. The c302 project has been a rallying point for this.

c302 structure

Using the libNeuroML library, combined with information about the name and connectivity of c. elegans neurons, we have built up a data structure that represents the nervous system of th ec. elegans, with details like the kinds of synapses, neurotransmitters, gap junction relationships it may have. Specifically, you can see how this is built in this script and this script.

Then we can run the network as a simulation and see how the membrane potential might change over time.

Simulation in jNeuroML

The project of identifying and modeling the dynamics of all the ion channels has been the work of the ChannelWorm project. From there, the muscle model has been our rallying point for a highly detailed single cell model that would use our detailed ion channel models first. Beyond this, we have begun doing some work to improve the motor neurons and get the dynamics of the synapse between motor neurons and muscles corect. At each level, we have endeavored to constrain the model with data. Thus ion channel models are constrained by and tuned with I/V curve information mined from the literature. The same can begin to be done with the muscle model. While this is important infrastructure, there are still many gaps that are remaining.

Top-down

With the advent of new experimental techniques to image hundreds of neurons at the same time, we now have another important kind of data to use to constrain the nervous system model. We can begin to explore what are the minimum dynamical conditions that are necessary to produce, in broad strokes, the same kinds of high-level dynamics. Even simplistic models of neurons hooked together with the c. elegans connectome will likely produce interesting investigations.

Merging the Bottom-up with the Top-down

It is critical that the work of improving the nervous system model use all approaches, and result in a single unified model rather than a disconnected collection of models. While it is acceptable to have different versions of the models temporarily, eventually these must all converge on a single picture of the nervous system. To facilitate this, we have begun with modeling and computational infrastructure that is capable both of representing high-level and low-level aspects of the biophysics of neurons.

The future

Next steps for this exciting endeavor will be described in the issues on this repo. As we collect scripts and code that are relevant to putting these pieces together, we will incorporate them here and make sure the community can execute them.

About

Tools to produce, analyse and compare both simulated and recorded neuronal datasets

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 99.3%
  • Other 0.7%