Monday, April 30, 2012

The Long March on Characterization

My synthetic biology work, like that of many other computer science-ish folks who have entered the field, sometimes feels like it's entirely a matter of recursion and yak-shaving.

Let's review the motivation: I got into synthetic biology from spatial computing, as a potentially really interesting and important application area. Cells, you see, can be viewed as computing devices, and a tissue, colony, or biofilm is a collection of locally interacting cells that clearly may be viewed as a spatial computer.  That's one of the original drivers behind the amorphous computing project, where I did my graduate work, alongside synthetic biology pioneers like Tom Knight and Ron Weiss.  They went down into cells, while I went up into the abstractions.


Spending time around the synthetic biology folks, I naturally got interested, and eventually realized there's a tight match between the computational models in Proto and the semantics of genetic regulatory networks. Wonderful! Now all we need are some well-characterized parts, and we can apply compiler technology and automatically generate designs for multicellular organisms and the whole shebang...

All we need...

All we need is something that the field of synthetic biology has been struggling with since its inception. What exactly does it mean for a part to be well-characterized, and how do you use a well-characterized part to predict the behavior of a composite circuit? Hell, what is this "part" thing of which you speak, young padawan?

When we started the TASBE project in Fall of 2010, working with Ron's lab, we quickly realized that the existing data wasn't up to the standards we needed, and set about improving the methodology. You biologists in the audience should begin to laugh knowingly at this point.

It's been a long, long march, but we're seeing things that (to the best of our knowledge) nobody's ever seen before, and modeling things that nobody's ever needed to model before. We've had preliminary results better than anybody else has ever seen, then been convinced by the higher resolution data that we needed to study things yet more. And maybe, just maybe, we're finally there...

The long march continues, but the destination is in sight. And if we get there, then it will be a big step forward for synthetic biology.

And maybe then we can start thinking about the cells as spatial computers again as well...


Monday, April 23, 2012

The Power of Visualization

One of the really important steps I made recently in the Zome project wasn't really a technical step at all. Or at least, not as I usually think of as being technical. You see, I changed how we graph our simulations.

Big deal, right? Well, Old Me, that's a very math-chauvinist way of thinking. Spending a lot of time with my colleague Aaron Adler at BBN, I've come to appreciate just how important a good user interface is. In fact, I'm coming to think that even just calling it "user interface" is inappropriately dismissive. How we visualize things is how we think about them, and any good AI researcher will tell you that representation is everything.

Enough beating around the bush. When we're visualizing how power is getting managed using the ColorPower algorithm I'm working on with Zome, I now show it like this:


There's three classes of power there: green is really flexible, yellow is less flexible, and red is not very flexible at all. We always want to turn off green appliances before yellow appliances and yellow before red. I'm stacking the power on top of each other, so you can see how much is being used by area. Solid colors are currently enabled, pale colors are currently being restricted by the algorithm, in order to meet the goals showed by the black dashed line. The blue line under it (hard to see it's so close!) is how our algorithm is actually performing in simulation. The cross-hatched areas are devices that recently switched on or off and so can't be changed again for a while.

This simulation is a "hot summer day" scenario, when we're being asked to curtail power. The thing to notice here: we're doing damned well!

Now, here's the old visualization:

Horrible, ain't it? Even I have a hard time telling what's going on, and I wrote the thing!  I rest my case, and thanks to Aaron for his suggestions and also to Kyle Usbeck for being my independent test subject.

Monday, April 16, 2012

Tech Report on Biological Part Characterization

Last year in synthetic biology, my TASBE project spent a lot of time sprinting hard in the lab and producing new results.  This year, we should finally finish writing up a lot of this material and hope to end up with some nice articles reporting it all and laying down the foundations for a new and more integrated approach to predictive design of DNA circuits for controlling cell behavior.

Perhaps the biggest effort over the past year has been improving the characterization of DNA parts: in order to design cellular controls effectively, we need to be able to quantify fairly precisely how gene expression (the output of our computing devices) is regulated by the concentration of transcription factors or other such input signals.  We started out without this as a goal, as there have been excellent claims with nice looking curves for years, but we quickly found out that the prior methods just weren't up to our requirements.  (You see, suitability for computer automated design is actually a much stricter test than ability to pass even the most stringent peer review, since the computer doesn't know a damned thing about the field and can't fill in any gaps from experience).  And thus began a long and magical journey that I'll probably say more about in a future post...

Bottom line: we've got a new and better methodology, which combines a little more experimental work with a lot better analytic methods, and it's giving us the data we need.  And now, in this Characterization Tech Report, we're sharing that method with the rest of the world, since we want other people to produce usable data as well...

Soon, we should have a web service up that lets people use our whole suite of software tools as well... stay tuned...

Monday, April 09, 2012

Spatial Computing Workshop 2012: June 5th at AAMAS in Spain!


This year is the fifth anniversary of the Spatial Computing Workshop, and it's first year at AAMAS---the big multi-agent systems conference.  Previously, the workshop was always at IEEE SASO, the self-adaptive and self-organizing system conference, and it was a good home, but a relatively small conference.  We're hoping that AAMAS's order-of-magnitude larger attendance will attract a larger group of attendees and be a good next step toward eventually setting up an independent Spatial Computing conference.  The preliminary list of talks has just been announced, and I'm excited to hear the stuff that my colleagues have submitted.  I think it's going to be a damned good program... come to Spain and join us at SCW'12 on June 5th!

Monday, April 02, 2012

Zome!

One of the threads of research that's really got me excited these days it my Zome work. That's Zome as in Zome Energy Networks, a company that I helped get started, based on the distributed energy management work I did at MIT during my postdoc.

The thing that really sets Zome apart from the rest of my work is that it's about this far from actually changing the goddamned world. The other things I'm working on I think are really cool and important, but the path to getting out into the field is much longer. With Zome on the other hand, we're talking about possible pilot projects in the next year or two. And "pilot" seems to mean a huge lot more houses to the energy industry than I would have thought when I was but a poor postdoc proposing to wire a couple dozen appliances to radio-controlled switches.

So, in a nutshell, the big idea of the Zome work is this: we put a vast number of energy-consuming appliances under distributed control, using an algorithm and architecture that I developed. The elegant thing is that, because of how the algorithm operates, even though the electrical utility gets a knob to adjust up and down the amount of power that's being consumed, individual consumers like you and me never have to feel like Big Brother is breathing down our necks. You see, the appliances never give up power unless we're willing, we always get an override, and all the most sensitive information stays inside the house. The aggregate information that goes upstream has all sorts of appliances from lots of different houses combined together---because otherwise it's just too hard to ship bits fast enough---and that gives security by obscurity. It's an idea that I learned to appreciate from my friend Rachel Greenstadt's thesis, where she showed that distributed constraint optimization could be made more secure through aggregation of information. What we're doing is similar thematically, though it's different in pretty much every way technically.

In any case, Zome's been really cooking along recently, and we've had some big results that I'm writing up now---hopefully for publication in the not too distant future. And that's why it's one of the things that's got me really excited... expect to hear more about it soon.