Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Produce Behavioral Figure A + simulated match #229

Open
slarson opened this issue Feb 3, 2017 · 21 comments
Open

Produce Behavioral Figure A + simulated match #229

slarson opened this issue Feb 3, 2017 · 21 comments

Comments

@slarson
Copy link
Member

slarson commented Feb 3, 2017

Forward Reverse with Tap on Wild Type.

Can do a speed graph showing a positive and negative direction. Involves Sibernetic combined with c302, with Tap Withdrawal Circuit enabled.

@slarson
Copy link
Member Author

slarson commented Feb 13, 2017

  • Run Sibernetic with c302 in the loop
  • Parse the results from Sibernetic about body position that came out
  • Transform results into a line graph
  • Identify movies in database where a tap withdrawal occurs
  • Parse out the behavioral activity
  • Transform results into a line graph
  • Merge both graphs into the same figure with same axes overlaid
  • Calculate the delta between the two graphs

@tarelli
Copy link
Member

tarelli commented Feb 13, 2017

@slarson What variables do we want to plot in the graphs? If we add more details to how we we want to compare the "body position" then we can start looking at how to produce those variables in both Sibernetic and Movement Validation cc @gidili @cheelee

@slarson
Copy link
Member Author

slarson commented Feb 13, 2017

@tarelli OK here's a first cut of how the plot should look. Also want to loop in @rgerkin here to see if he could help with producing this, in particular doing the comparison between the real and simulated time series.

@MichaelCurrie @JimHokanson What would it take to get this kind of time series out of Movement Validation?

@a-palyanov @skhayrulin What would it take to get this kind of time series out of Sibernetic?

cc: @raminmh @lungd

tap withdrawal speed chart

Dynamic version link

@slarson
Copy link
Member Author

slarson commented Feb 13, 2017

Geppetto could be used to produce this if openworm/org.geppetto.simulator.sph#40 can be done.

@JimHokanson
Copy link
Collaborator

JimHokanson commented Feb 16, 2017

Rex has some experimental tap data (@Ichoran GitHub handle)

@slarson
Copy link
Member Author

slarson commented Feb 24, 2017

Sibernetic will be supporting outputting a graph like this as an option, per this issue: openworm/sibernetic#119

@slarson
Copy link
Member Author

slarson commented Feb 24, 2017

@Ichoran @cheelee Would it be possible to get a hold of the data as a line chart for tap withdrawal that @JimHokanson mentioned above?

@Ichoran
Copy link

Ichoran commented Feb 24, 2017

@slarson - Sure! Do you want the average, or do you want a bunch of trials? How many? How accurate does the timing need to be (sync between video and tap delivery) for this to be valuable?

@slarson
Copy link
Member Author

slarson commented Mar 17, 2017

@Ichoran Thanks! Took us a little while to get back to this, but I think it will be best if @raminmh @lungd weigh in on this, as they have been taking the lead on our efforts with Tap Withdrawal. Thanks again for all your contributions and help!

@cheelee
Copy link
Contributor

cheelee commented Mar 20, 2017

Summary of discussions at the Movement Validation hangout with @Ichoran.

The data is in a format outside of WCON, but has no problems converting it. The issue is what we'd want ... apparently the behavior patterns of experiments involving the worms don't cluster as much as form some kind of continuous manifold.

There are terabytes of that data ... so we get to pick a sample.

@Ichoran
Copy link

Ichoran commented Mar 20, 2017

More pertinent than the data size on disk is that we have a library of about 80,000 initial tap withdrawals (i.e. the first time that worm has ever seen a tap). So you can get pretty much whatever you ask for. For instance, if you want the worm to be traveling between 0.08 and 0.12 mm/s forwards pre-tap, I can select out that data. And I can save the cut-out examples as WCON, or generate some sort of summary data.

@slarson
Copy link
Member Author

slarson commented Jul 21, 2017

Updating the roadmap:

The following points can proceed in parallel:

Sibernetic

  • Show pilot example of parsing output from Sibernetic about body position (@a-palanov)
  • Transform results into a line graph

c302

  • Come up with any circuit that generates sinusoidal output in muscles
  • Do first test of plugging that output into Sibernetic
  • Model the effect of stretch receptors from Sibernetic into c302
  • Do second test of running c302 in loop with Sibernetic

Experimental data

  • Identify movies in database where a tap withdrawal occurs
  • Parse out the behavioral activity
  • Transform results into a line graph

This must happen once the above points are completed:

Combination

  • Merge both graphs into the same figure with same axes overlaid
  • Calculate the delta between the two graphs

@slarson
Copy link
Member Author

slarson commented Jul 21, 2017

@a-palyanov Can we run a simulation now where the worm crawls forward, simulate fake "tap" reversal, and then goes backwards for a time to get a starting "rig" going that begins to close the loop with real data?

@Ichoran Can we start with a small # of representative, average responses encoded in WCON so we can make 1-4 initial graphs? Eventually we are going to want to pull hundreds of average responses but we need to prime the pump with a small number to begin with.

@pgleeson @raminmh I know we are proceeding well on making traveling waves in muscles. Is it time to think about a very dead simple way to generate sinusoids in muscle cells just for the purpose of integration and closing the loop at first, which then lays a foundation for the more accurate / correct version?

@Ichoran
Copy link

Ichoran commented Jul 21, 2017

@slarson - Sure. How long do you want before and after the tap? (Note: you can't have more than 10s after the tap before the next tap arrives.) I assume you want data from the first tap per recording only?

@slarson
Copy link
Member Author

slarson commented Jul 21, 2017

@Ichoran Since simulation time is expensive, the shorter the better. How about 500 ms before and after the tap?

@Ichoran
Copy link

Ichoran commented Jul 21, 2017

@slarson - Okay, but that's only around 30 frames. I don't think I'll be able to get to it this week but next week should be possible.

@slarson
Copy link
Member Author

slarson commented Jul 21, 2017

@Ichoran Thank you! Its good to know that resolution may be an issue. My thought is that 30 should be enough data points to define the line in the graph we are looking for up above, but this is the kind of thing that we only see when we try.

Next week would be terrific.

@raminmh
Copy link
Member

raminmh commented Jul 22, 2017

@slarson Sure, I think it is a good idea. There are some ways to do so:

  • One can activate sinusoidal muscle waves from the output of the tap-withdrawal circuit, by sinus functions at the motor neurons, (the way you did that before). The difference here is that the TW circuit activates the sin waves.

  • We could continue hand-tuning the parameters of a circuit including A-, B-, and D-type motor neurons together with AVB, to generate muscle waves.

  • It would be great to see how the circuit these guys are suggesting here (https://arxiv.org/pdf/1705.02301.pdf) would work in our simulator.

@slarson @pgleeson @lungd what do you think ?

@slarson Could you please link us once again to the other paper you found about B type motor neurons ?

@slarson
Copy link
Member Author

slarson commented Aug 11, 2017

@Ichoran Any luck with the data for this?

@raminmh In general this plan sounds good. About the paper with the b-type motor neurons ... can you remind me more about it?

@Ichoran
Copy link

Ichoran commented Aug 11, 2017

@slarson - It's near the top of my to-do list but a couple of other things came up. I'll probably have the data in hand on Monday or Tuesday next week.

@slarson
Copy link
Member Author

slarson commented Jun 20, 2018

worm_motion_1.png
worm_motion_2.png
worm_motion_3.png

The OpenWorm Simulation stack is beginning to be able to produce this kind of simulated data as shown in these figures.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment