Saturday, December 13, 2008

Planter brickwork completed


I finished the brickwork on the planter this morning. All that's left is acid washing, filling with dirt, and planting. I think it took me something on the order of 40-60 hours over about 3-4 months -- but that's a guess, I don't keep track.

Friday, December 12, 2008

Fretview


Today I worked on updating an old project of mine "fretview" that is used by Rick Russell's Lab to do analysis for single molecule kinetics. We had recently improved the capture program to permit pixel binning, but the analysis code did not yet take this into account with the result that it tended to incorrectly sub-sample binned pixels resulting in rounding errors when coordinates were mapped from side to side.

Wednesday, December 10, 2008

Pattern formation phase experiments

Today I played around with trying to understand where the patterns come from in simple oscillators. In the following picture, the center region is exactly 180 phase shifted relative to the outside (circular "boundaries" as always). Note the cool reconnection events about 1/3 and 2/3 the way up from the bottom (t=0).



The interesting thing here is that the boundaries begin to oscillator faster than the surrounding regions. The center goes through 6 cycles in the time it takes the boundary to go through 7. At 7 edge-cycles versus 6 center-cycles there's a disconnection event where the two regions become disjoint and then reconnect one cycle later. These discontinuities are where interesting patterns emerge.

Why should it be that the boundary oscillates faster than the center? This is a bit counter-intuitive. Imagine two oscillators sitting next to each other and diffusing some of their energy into each other. Consider the moment when the first oscillator is at its maximum value and the second is at its minimum. At this moment the first oscillator is dumping a lot of its material into its neighbor. In other words, right when the second should be at its minimum value it is instead being "pullled forward" by the incoming flux. Conversely, by dumping flux into its neighbor, the first never quite makes it to maximum value and thus sort of short-cuts it way to the downward part of the cycle. Half a wavelength later the reverse is true. Thus, both oscillators act to pull the other one ahead and thus they both run a little faster as their amplitudes are reduced.

As noted before, work on coupled oscillators is as old as Huygens 1665 paper. Here's a more recent synthetic biological investigation from Garcia-Ojalvo, Elowitz, and Strogatz. What I haven't found yet (probably because I haven't looked hard yet) is a paper showing the spatial dynamics of such coupled oscillators as demonstrated here.

So what happens when the two regions are not started exactly 180 out of phase? Yet another interesting instability forms. Here's the same thing at 170 degrees:



This time the boundary between the two regions begins to wobble around as the two sides compete for control of the boundary space. This instability also creates interesting disconnection / reconnection events around 7 cycles. And what if we symmetry break the size of the two areas? Here's 180 degree separation with the center region being a bit smaller than the outer:



Now you see the unstable edge oscillation like above case after the perturbations travel all the way around and end up interacting with the center during the second reconnect event. Clearly such patterns are all reminiscent of diffraction scattering and other sorts of complicated spatial pattern-forming phenomena where waves are bouncing around inside of closed spaces -- I find all such phenomena hard to intuit and these examples are no different. Where things get fun IMHO is to see how noise plus such simple oscillators generates interesting formations as the ones I posted a few days ago.

Several people have asked me what is the relationship is between these simulations I'm showing here and cellular automata? I argue that these systems are analog, memoryless versions of CAs. While CAs are very logically simple, they aren't nearly as hardware simple as the systems I'm working on here. For example, Wolfram's lovely illustration of all 256 binary 1D CA rules are simple rules, but their implementation presupposes both memory and an a priori defined lattice that includes left/right differentiation. However, as Wolfram points out on page 424 of NKS, the symmetric 1D rules do generate interesting short-term random patterns when initialzied with random state so these are a good binary model for the analog systems pre-supposed here.

Meanwhile, my friend Erik Winfree's lab has very cleverly built DNA crystaline structures that have do define a lattice and thus can implement the Turing comple rules at molecular scales. But on the scale of complexity, I'd argue that these amorphous analog systems are "simpler" in the sense that I can more easily imagine them evolving from interacting amplifiers that would have independent precursor functionality and without imposing a lattice. Erik might disagree, but anyway, it's this idea of evolving-interacting-amplifiers that I'm going work on as I continue this.

Tuesday, December 9, 2008

Pattern formation sanity check



I ran a test where I changed the spatial resolution of the ring oscillator system (changing the number of spatial buckets while also changing the capacitance and conductance variables accordingly) to make sure that the pattern formation is not an artifact of the integration technique. These images show a 32, 64, and 128 bucket integration in each. It is clear that the spatial resolution matters in the sense that you can see a few small changes (features look temporally sharper, not just spatially), but I don't think that the pattern formation is an artifact. As always, thanks to JHD for help in working out the right parameter transformation -- which he knows like the back of his hand because its equivilent to a transmission line / heat equation.

Saturday, December 6, 2008

Planter progress


A little progress on the top of the planter this morning.

Friday, December 5, 2008

More AC experiments





I'm starting to have fun exploring the possibilities of this AC simulator. Above are spatially stable patterns using a bi-stable latch and small random initial conditions (approximating the noisy conditions of uninitialized amps). In the first picture, there is no diffusion so each parcel of space commits to one of the two states randomly. In the second picture, with diffusion, larger areas that by chance share a state tend to recruit their neighbors into that state. But, all of this recruitment must happen early because the gain on the latches eventually wins at which point there's no changing anyone's state (like an election). Thus, by dialing the ratio of diffusion to latch gain, you can choose the mean size of the features which is a cool phenotype all by itself. For example, imagine that this was a self-organized filter -- that one parameter could allow the construction of different kinds of mechanical particle filters.



In this picture I've stated to combine features. The left and center are two independent ring-oscillators with noisy initial conditions which create these interesting patterns as I've shown previously. (Although I'm still not positive they aren't artifacts, I'm starting to get a theory about how they form, and I'm going to be testing those ideas with controlled experiments tomorrow.) On the right is product of the two in oscillators which results in interesting spatio-temporal patterns. Like the latches above, these patterns are uncontrollable in all but gross properties because the pattern's position is the result of what amounts to "fossilized noise". In other words, the asymmetries at t=0 are amplified/converted into patterns at later time. That said, the form of the patterns is inspirational -- it hints at what is possible in potentially more information-rich initial conditions. For example, I now have an inkling how to partition space into integer sub-divisions (like fingers on a hand) without explicitly putting them there -- I'll be trying that soon.

Wednesday, December 3, 2008

Oscillator + Diffusion + Noise = Pattern


(Ring-oscillator with diffusion; x-axis: space, y-axis: time )

After an incredible multi-day pain-in-the ass getting Matlab installed, I'm able to start to explore some of the amorphous computations possible with this toy model I've been playing with. (Previous results came from running Matlab over X which was painfully slow). The above image is a simple ring-oscillator with diffusion and initialized with small random values. The random initial values seem likely in a molecular implementation whereby the inputs to the molecular amplifiers were un-initialized and therefore small stochastic deviations would dominate.

I know that simple processes can produce complicated structures as Wolfram is wont to repeat, but it's still astonishing when you see it. I mean, this thing has no clock, no memory, no boundaries, no initial conditions (just background noise) and a very simple oscillator; it doesn't get much simpler than that. I think the result is kind of beautiful, sinuous, like a tree made of waves. Maybe I'll do my next door panel like this.

All that said, I'm not positive that the patterns aren't an artifact of the integrator. Since I partition space up uniformly, it might be a result of that. I need to run a test where I reduce the spatial step and proportionately reduce the concentrations but my code isn't set up for that yet.