openworm / neuronal-analysis

Tools to produce, analyse and compare both simulated and recorded neuronal datasets
MIT License
4 stars 4 forks source link

Implement network with simpler dynamics #14

Open slarson opened 8 years ago

slarson commented 8 years ago

Following on this paper, it may make sense to try to build a simpler dynamics model just to see if we can generate similar plots mapping topology to dynamics.

The candidate is the S-E-R model described in this paper.

cc: @theideasmith @lukeczapla

theideasmith commented 8 years ago

I'm going to try to start this over the weekend.

lukeczapla commented 8 years ago

It seems any connection from neuron A to B (of any number of connections) means that it is considered neighboring to that neuron in this model. What kind of conductance do the gap junctions have? I see in their methods section that they left them in as included in the connections but took out 25 neurons - listed as removed are the pharyngeal ring neurons, AIBL, AIYL, and SMDVL. I will look into generating the same results so we can compare ours and also compare to the paper.

lukeczapla commented 8 years ago

I'm having a lot of errors with PyOpenWorm though, ran a lot of the examples and test_bgp.py basically reported blank data:

STARTING WITH AVAL

STARTING WITH PVCL

NEURONS

NEIGHBORS of PVCL

NEURONS and their RECEPTORS

Then gap_junctions.py caused an error:

Traceback (most recent call last):
  File "gap_junctions.py", line 12, in <module>
    aval = net.aneuron('AVAL')
AttributeError: 'NoneType' object has no attribute 'aneuron'

Several other problems like having to run PyOpenWorm code with "sudo" because the database is apparently installed in the wrong spot. But the gap_junctions.py error shows that it's also something else going on and I just cloned and reinstalled PyOpenWorm from Github (and the earlier pip package did the same thing)

theideasmith commented 8 years ago

I've been able to get a preliminary vectorized version of the algorithm in the Linow et. al paper we have been looking at. The original code was written by @lukeczapla. Check out the notebook. Note these timeseries are already clustered.

Running it on a particular p probability yields this image, in which you can clearly discern some patterns. If you zoom in you can see the individual neurons. Whether this compares strongly to the empirical datasets is a good question – we'll need to ask the question of what the similarities actually mean.

Time runs across Neurons run down Yellow = Refractory Red = Excited Blue = Susceptible timeseries0 timeseries1 timeseries2 timeseries3 timeseries4

Play around with this, maybe run some analysis on it. We aren't so far from reproducing the diagrams in the paper.

theideasmith commented 8 years ago

This paper http://arxiv.org/pdf/1510.05033v1.pdf, Dynamic Information Routing in Complex Networks could be relevant to us in building the analysis pipeline.

theideasmith commented 8 years ago

Just thinking about this model, it struck me that different clusterings might belie the fact that similar computations are happening in this simulated network.

The other side is that the same network connectivity can give rise to different dynamics under different model parameters – of course, we know this. Going forward, I think while our model should remain focused (and simple), it should mimic the degree of complexity in the real C Elegans nervous system. From how I understand it, there are many layers of interactions between neurons – we could model C Elegans nervous system as a a multilayered network, each layer superimposed above the others and describing a particular side to dynamics. Starting from direct interactions between neurons, we can go on to the complexities of different neurotransmitters used, and then start thinking about plasticity, and finally about neuromodulators (which @lukeczapla mentioned in his post on the Better Comparison issue).

slarson commented 8 years ago

Excellent work.

As we discussed today, the question is can we combine the two pieces that have been built? Can we feed the results of the simpler model into the pipeline for taking PCA and plotting dynamics to see if we can observe "Limited Sustained Activation" or "Criticality" (equivalent to the global periodic rhythm in the Kato et al., paper) in our simpler model? If not, what is the simplest model where we can observe this?

Once we have plugged these together, these references may help us in modifications to the simpler model to get the kind of activity out that we are looking for: