Skip to content

Instantly share code, notes, and snippets.

@slarson
Created November 7, 2012 18:41
Show Gist options
  • Save slarson/4033515 to your computer and use it in GitHub Desktop.
Save slarson/4033515 to your computer and use it in GitHub Desktop.
OpenWorm Office Hours 11/7/12
["Welcome to OpenWorm office!"]
[09:27] == OpenWorm [6cd86e7a@gateway/web/freenode/ip.108.216.110.122] has joined #openworm-office
[09:28] <OpenWorm> hi tarelli
[09:31] <@tarelli> sup
[09:32] == mode/#openworm-office [+o OpenWorm] by tarelli
[09:32] == tarelli changed the topic of #openworm-office to: "Welcome to OpenWorm office!"
[09:36] == lambdanaut [~lambdanau@rrcs-70-63-207-139.midsouth.biz.rr.com] has joined #openworm-office
[09:36] <lambdanaut> Hello!
[09:36] <lambdanaut> You guys need better advertising. There needs to at LEAST be a hundred people in here right now.
[09:37] <@tarelli> agreed:)
[09:37] == Savannah [56294e42@gateway/web/freenode/ip.86.41.78.66] has joined #openworm-office
[09:37] <@OpenWorm> Hi there!
[09:37] <lambdanaut> Welcome, Savannah! (:
[09:37] <Savannah> Hey there
[09:37] <@OpenWorm> Haha thanks @lamdanaut
[09:38] == Jeff1 [~Adium@cpc1-cmbg14-2-0-cust156.5-4.cable.virginmedia.com] has joined #openworm-office
[09:38] <@OpenWorm> a hundred, eh?
[09:38] <@OpenWorm> that would be awesome
[09:38] <@tarelli> how did you get to know about this?
[09:38] <@tarelli> twitter?plus?
[09:38] <lambdanaut> Me? I think it was hacker news.
[09:39] <@tarelli> Hi Jeff1
[09:39] <lambdanaut> It was a very inspirational project so I followed it on google plus.
[09:39] <@OpenWorm> nice
[09:39] <@tarelli> thanks! we really believe in it :)
[09:39] == komsjer [54354926@gateway/web/freenode/ip.84.53.73.38] has joined #openworm-office
[09:39] <@tarelli> hi komsjer
[09:39] <@OpenWorm> How can we help explain the project?
[09:39] <Savannah> What does the worm do? :)
[09:40] <komsjer> oh hi
[09:40] <lambdanaut> Good question!
[09:40] <@OpenWorm> It has all sorts of behaviors
[09:40] <@OpenWorm> it finds food and mates
[09:40] <@OpenWorm> it avoids toxins and predators
[09:40] <@OpenWorm> it lays eggs
[09:40] <Savannah> do you simulate all that?
[09:41] <@OpenWorm> it crawls and there are a bunch of different crawling motions
[09:41] <@OpenWorm> we've started from a cellular approach
[09:41] <@OpenWorm> so we are building behavior of individual cells
[09:41] <@OpenWorm> and we are trying to get the cells to perform those behaviors
[09:41] <@OpenWorm> we are starting with simple crawling
[09:42] <@tarelli> the main point is that we want emergent behavior
[09:42] <@OpenWorm> but we are doing all the neurons -- so the different behaviors are captured in there
[09:42] == TRestOne [8028ff9a@gateway/web/freenode/ip.128.40.255.154] has joined #openworm-office
[09:42] <@OpenWorm> welcome TRestOne
[09:42] <@OpenWorm> makes sense?
[09:43] <Savannah> IT does
[09:43] <@tarelli> we want the behavior to emerge from low level description of the cells as opposed to enforce it
[09:43] == TRestOne [8028ff9a@gateway/web/freenode/ip.128.40.255.154] has left #openworm-office []
[09:43] <Savannah> sounds complicated
[09:43] <@OpenWorm> I get the impression not everyone has seen this video which has been our starting point: http://www.youtube.com/watch?feature=player_embedded&v=3uV3yTmUlgo
[09:44] <@tarelli> which turns out to be much harder obviously
[09:44] <@OpenWorm> Our talented team members in Siberia built this and it gives a quick and easy way to get a sense of what we mean
[09:44] <@OpenWorm> here you see individual cellular components (muscles in red, neurons in blue) driving the crawling of the worm
[09:45] == johnidol [56294e42@gateway/web/freenode/ip.86.41.78.66] has joined #openworm-office
[09:45] <@OpenWorm> We published a paper recently that explains this: http://iospress.metapress.com/content/p61284485326g608/?p=5e3b5e96ad274eb5af0001971360de3e&pi=4
[09:46] <@OpenWorm> if you want to dig into the details
[09:46] <Savannah> cool!
[09:46] <@OpenWorm> This has been our starting point
[09:46] <@tarelli> komsjer, Jeff1 any curiosity we can try to address? :)
[09:46] <@OpenWorm> and we have been fleshing out the biological details and the software stack to enable this to scale up
[09:46] <@OpenWorm> Hi johnidol :)
[09:47] <johnidol> YO how goes it
[09:47] <@OpenWorm> More questions?
[09:47] <komsjer> ah well I didn't really come here to ask questions more so to see what other people ask, I really just found out about this yesterday so I havent read everything yet
[09:48] == adamjc [c6ca448a@gateway/web/freenode/ip.198.202.68.138] has joined #openworm-office
[09:48] <@OpenWorm> that's ok -- no expertise needed to ask questions :)
[09:48] <@tarelli> that's cool, just hang out with us :)
[09:48] <adamjc> wow it's been a long time since i've used irc
[09:48] <@OpenWorm> welcome adamjc
[09:48] <@tarelli> adamjc same here!
[09:48] <@OpenWorm> us too
[09:48] <@OpenWorm> seems like the lowest barrier to an online chat
[09:48] <adamjc> alright now I need to go find some mp3z and warez
[09:48] <@tarelli> I think it was 15 yrs ago last time
[09:48] <@OpenWorm> haha
[09:48] <johnidol> yeah - old school still kicking it
[09:49] <@OpenWorm> Still used by open source projects pretty extensively
[09:49] <@tarelli> bots the used to send you warez were the best lol
[09:50] <lambdanaut> So say it lays eggs. Are the eggs intended to be new, viable openworms, or is fertilization not a goal?
[09:50] <@OpenWorm> Ah that would be awesome
[09:50] <lambdanaut> aha!
[09:50] <@OpenWorm> Right now we aren't addressing the egg laying capacity
[09:51] <@OpenWorm> however, the worm does have the best known developmental history of any organism
[09:51] <@OpenWorm> so it would be really interesting to work on a computational development model
[09:51] <lambdanaut> very interesting!
[09:51] <@OpenWorm> The project is very much driven by what volunteers want to work with
[09:51] <@tarelli> closing the life loop with reproduction is definitely one of our long term goals
[09:52] <@OpenWorm> And in fact we will be planning our next 6 month release cycle in the next month
[09:52] <@OpenWorm> So ideas like this can be driven by motivated folks
[09:52] <Savannah> when do you think the simulation will be "complete", and which behaviors would that include?
[09:53] <@OpenWorm> Completion is a functional standard -- so it is complete when it fits all available data about worm behavior
[09:54] <@tarelli> at the moment we are focusing on integrating an electrophysoological simulation of the nervous system with a fluid dynamics simulation for how the body of the worm interacts with the environment
[09:54] <@OpenWorm> We are going to build a validation system that allows data from real worms to be compared with the behavior of the simulation
[09:54] <@OpenWorm> both external behavior and cellular behavior
[09:55] <@OpenWorm> Before we have 100% correspondance though, we will be making measurements of completion along the way
[09:56] <@OpenWorm> Its hard for us to target 100% right now, but as tarelli is saying, we are seeking to have a correspondance to real data about basic crawling in the next year
[09:57] <Savannah> I am confused, isn't that video you posted above already showing crawling behavior?
[09:57] <@OpenWorm> Good question
[09:57] <@OpenWorm> Its important to make the distinction between what is in that video and what we are working towards now
[09:58] <@OpenWorm> The level of crawling there looks good
[09:58] <@OpenWorm> but it isn't yet fit to the biological reality
[09:58] <@OpenWorm> not to mention it isn't easy for folks to play with it online
[09:58] <@OpenWorm> but fitting to the biological reality is important to us
[09:58] <@OpenWorm> Both the cellular biology
[09:58] <@OpenWorm> and the behavior of the real worm
[09:58] <@OpenWorm> for example
[09:59] <@OpenWorm> the real worm will do a bend where it will put its head next to its tail to turn around
[09:59] <@OpenWorm> and it can steer
[09:59] <@OpenWorm> Also, the real worm is driven by neurons that have much more dynamism than the ones in the video
[09:59] <@OpenWorm> also the muscles are more realistic
[10:00] <@OpenWorm> so its hard to go to biologists with that video and make predictions they can use to better understand the worm
[10:00] <@OpenWorm> So when we say we are targeting basic crawling -- our standard is one of fitting closely to the known biological definition of that
[10:00] <@OpenWorm> rather than what to a casual observer is crawling
[10:00] <@OpenWorm> make sense?
[10:00] <Savannah> yes, thanks
[10:00] <@tarelli> that goes back to what I was saying earlier
[10:01] <@tarelli> about emerging behavior
[10:02] <@OpenWorm> By the way, back to lamdanaut's question
[10:02] <@OpenWorm> Check out this PDF: https://www.dropbox.com/s/28kp30y67on28dy/Circular_Cell_Lineage.pdf
[10:02] <@OpenWorm> Download it and zoom in on it
[10:02] <@OpenWorm> in the center is the c. elegans egg
[10:02] <@tarelli> it's easy to make a crawling worm, we want it to crawl for the right reason though, i.e. because there is a biologically accurate model which responds to stimuli according to the laws of physics and this causes the crawling
[10:02] <@OpenWorm> and radiating outwards, the links show every known division of the egg into the cells of the worm
[10:03] <@OpenWorm> the outermost circle are all the known cells in the worm
[10:03] <@OpenWorm> So you could use this as a map to help grow a new model worm
[10:03] <@OpenWorm> very doable
[10:04] <@OpenWorm> Other questions?
[10:05] <@tarelli> also suggestions guys
[10:05] <@OpenWorm> Yeah
[10:05] <@tarelli> things you would improve even in terms of communication etc
[10:06] <@tarelli> we try to do ur best but nothing is as helpful as a fresh look from the outside
[10:08] <@OpenWorm> Has everybody seen the worm browser? http://browser.openworm.org
[10:09] <@tarelli> you're gonna need a WebGL enabled browser
[10:09] <@tarelli> so no Internet Explorer :)
[10:09] <johnidol> I certainly have :)
[10:09] <johnidol> what it Internet Explorer? lol ;)
[10:09] <johnidol> *is
[10:10] <@tarelli> u'd be amazed at how many people still use it
[10:12] <@OpenWorm> We have several points of contact, including a public mailing list. More info here: http://www.openworm.org/index.html#/contacts
[10:12] <Jeff1> Hello, all. I have a few questions.
[10:12] <Jeff1> Thank you very much for your work!
[10:13] <Jeff1> The first one is regarding the computational complexity of what you're trying to do.
[10:13] <Jeff1> What is the level of granularity of these models (ie. cells, subcellular, etc.), and how does that play out in terms of computational requirements?
[10:14] <Jeff1> This answer very well may vary depending on the physiological system.
[10:14] <@OpenWorm> Thanks for the question
[10:15] <@OpenWorm> In order to make this work we have to make use of abstraction in the computer science sense
[10:15] <@OpenWorm> so something that is less complex today can be swapped in for something more complex tomorrow
[10:15] <@OpenWorm> This is inherent in the design of the simulation engine we are building
[10:15] <@OpenWorm> Right now our model of the electrical activity neurons is based on the hodgkin huxley equations
[10:16] <@OpenWorm> A system of differential equations
[10:16] <@OpenWorm> The muscles and the physical body of the worm are governed by an algorithm known as "smoothed particle hydrodynamics"
[10:17] <@OpenWorm> So our initial complexity estimates are based on asking how much CPU horsepower do we need for these algorithms
[10:17] <@OpenWorm> These algorithms operate over a discretised model of the system they simulate
[10:17] <@OpenWorm> For neurons, we break up each of the 302 into smaller compartments
[10:17] <@OpenWorm> each compartment gets its hodgkin huxley equation system
[10:18] <@OpenWorm> Approx 10 per neuron
[10:18] <@OpenWorm> For SPH, we have been debating just how many particles we want to use
[10:19] <@OpenWorm> I need to look up the exact numbers we used in our initial estimate
[10:19] <Jeff1> How do the various options shake out in terms of computational requirements? It should be possible to estimate within several orders of magnitude.
[10:19] <@OpenWorm> But we came up with 5 Tflops to do this much in real time
[10:19] <johnidol> 10 per neuron per 302 neurons + 40something muscle cells described in a way similar to neurons
[10:20] <johnidol> (I work on the project too)
[10:20] <Jeff1> Ok. Is that leaving any notable out?
[10:20] <@tarelli> some cells have > 1000 compartments btw
[10:21] <johnidol> well it's just the motor system
[10:21] <johnidol> so everything else basically is left out initially
[10:21] <@OpenWorm> Here's a spreadsheet in which we've worked out the initial estimates: https://docs.google.com/spreadsheet/ccc?key=0Avt3mQaA-HaMdDYtdk5XMjF4NlN2WUQzQ2tzdThkV2c#gid=0
[10:21] <@OpenWorm> That should be public
[10:22] <@OpenWorm> When we go into the subcellular simulation, which is crucial, it will be more costly
[10:23] <@OpenWorm> A single cell in the Whole Cell computational model takes 1 desktop CPU to run (https://simtk.org/home/wholecell)
[10:23] <@OpenWorm> And we have been thinking a lot about how to adapt that into this project
[10:23] <@OpenWorm> This model captures other aspects of biological reality than the physics and the electrical activity we are doing now
[10:24] <@OpenWorm> they are orthogonal biological aspects, and so these are pretty complimentary
[10:24] <@tarelli> what level of details we can leave out is still an open question
[10:26] <Jeff1> Thanks for the information. Has there been previous modeling work on various subsystems illustrating what level of simulation is necessary to produce observed behaviors?
[10:26] <@OpenWorm> Having this subcellular simulation lets you capture aspects of molecular signaling between cells that aren't mediated by neurons
[10:27] <@OpenWorm> Jeff1 -- there really hasn't been this kind of integrative effort before, so no.
[10:27] <Jeff1> I meant in terms of a single subsystem's behavior.
[10:27] <@OpenWorm> That's exactly one of the things we want to be able to show here
[10:27] <@tarelli> that is why this project is so important! :)
[10:27] <Jeff1> For example, the oscillatory behavior of a given subset of neurons.
[10:28] <@OpenWorm> Part of the problem is how to define the boundaries between the systems
[10:28] <@OpenWorm> Previous modeling work has sort of declared a subsystem based on a paradigm of "sensory neurons / interneurons / motor neurons" and then again based on a particular kind of behavior
[10:28] <Jeff1> Indeed
[10:29] <@OpenWorm> For example, there is modeling work on "chemotaxis" for the c. elegans which means how a worm moves towards a chemical
[10:30] <@OpenWorm> these models frequently just pick a few neurons to model, but make no sufficiency claims about what you need to capture the behavior relative to the rest of the worm anatomy and nervous system
[10:30] <@OpenWorm> So these findings are hard to integrate into a big picture
[10:30] <Jeff1> Fair enough.
[10:30] <@OpenWorm> At the core, we have chosen to focus on getting the cellular activity right
[10:31] <Jeff1> What is the level of detail of the wiring diagram for the non-neuron elements?
[10:31] <@OpenWorm> Rather than dividing up a list of what seem to be "behaviors" but don't really have the right 'joints' for us to decompose the system into
[10:31] <Jeff1> (The published wiring diagrams)
[10:31] <@OpenWorm> Non-neuron element wiring diagram?
[10:32] <@OpenWorm> There is a map between motor neurons and muscle cells in the published wiring diagram
[10:32] <@OpenWorm> There isn't much of a wiring diagram that touches other cell types beyond that
[10:32] <@OpenWorm> There is an anatomical atlas for where they are located
[10:32] <@OpenWorm> And you can work out the influence between cells based on molecular signals (known as peptides)
[10:33] <@OpenWorm> but i don't think its been formalized into a wiring diagram equivalent to the one that is there for neurons
[10:33] <@OpenWorm> Did I answer your question?
[10:34] <@OpenWorm> The wiring between motor neurons and muscles is at the level of synapses, like the neuron wiring diagram is
[10:34] <@OpenWorm> Any last questions from others in this session? We'll probably wrap up soon
[10:35] <Jeff1> Thank you very much to all who answered.
[10:35] <Jeff1> Cheers!
[10:35] == Jeff1 [~Adium@cpc1-cmbg14-2-0-cust156.5-4.cable.virginmedia.com] has left #openworm-office []
[10:36] <@OpenWorm> Cheers, Jeff1 -- thanks for the questions
[10:36] <@tarelli> too late :)
[10:37] <@OpenWorm> It'll be in the log :)
[10:39] <@OpenWorm> Okay all -- thanks for your questions. I think this was great and we'll be endeavoring to have more of these in the future!
10:40] == komsjer [54354926@gateway/web/freenode/ip.84.53.73.38] has quit [Quit: Page closed]
[10:40] <@tarelli> thanks everyone for joining!
[10:40] == tarelli was kicked from #openworm-office by tarelli [tarelli]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment