A few months ago my friend and former Millennium colleague Barb Bryant submitted a manuscript on “Chromatin Computing” for publication. She sent me a preprint, and we started thinking about what we could do together with the ideas she had put forward. Barb and I have since worked together on early versions of these problems, and today we (strictly speaking, Barb) gave a talk at ISMB on some of the results.
What Barb did in her paper was very imaginative: she showed, formally, that modifications of chromatin could serve as a universal computing engine following a set of string rewriting rules. Seeing chromatin dynamics in this way is refreshing. One begins to think about what rules underlie chromatin mark changes that actually occur in cells, and how those rules affect biological outcome. In principle, chromatin states could potentially be engineered to solve real problems and thus form a novel type of synthetic biological computer.
There’s a lot more to it, but what we’ve been doing in the last few months is not building biological systems, but extending the ideas using in silico implementation of a chromatin computer. We have a simulator that we can use to understand how rule sets can be used to solve different problems. We’ve solved the original Hamiltonian path problem of Leonard Adelman (recapitulated in Barb’s paper) in a number of different ways. These include several non-deterministic solutions (my student Li Chenhao developed a compact and elegant representation) and a deterministic approach that performs a depth-first search of the graph but requires rules that operate on several regions of chromatin at once (like real complexes that form loops).
Barb’s talk was packed, and we both answered questions. We showed several animations of different solutions to the Hamiltonian path problem using a chromatin computer. The original and modified stochastic solutions animations are fun to watch, but the multi-site rule solution comes with a soundtrack if you use Google Chrome.
There are a bunch of ways we’d like to take this work. One clear challenge is to understand better how chromatin dynamics can be represented in a chromatin computer, starting with mining data available on real chormatin modifying complexes. Another is to implement learning systems using chromatin computers, and apply them to a range of problems. A third is to scour the details of chromatin dynamics for biological inspiration to real problems in computation (Ziv Bar-Joseph’s work is a good model for this).
Finally, there are obvious synthetic biology applications, such as building a biological chromatin computer to solve problems on a dish instead of on a chip. That’s a tall order, but something we can explore first by simulation.
Update: slides are posted on SlideShare