top | item 11426957

Cello – a Verilog compiler for transcriptional logic in bacterial cells

145 points| btown | 10 years ago |cidarlab.org | reply

34 comments

order
[+] foota|10 years ago|reply
This seems really cool but I have no idea what it can actually do, does someone that understands this want to give an overview of what this allows us to do?

Edit:

From reading their summary again it sounds like they are using plasmids, which are like mini strands of DNA that float around the cell, to control random bits of the cell. Does the machinery in the cell just randomly bind to plasmids and do what they say?

[+] sndean|10 years ago|reply
They have a pretty extraordinary 102 page Supplementary Materials that I haven't completely gone through (http://science.sciencemag.org/content/sci/suppl/2016/03/30/3...).

If you have access, Figure S5 was helpful for understanding.

As an example, they created a plasmid (circular piece of DNA that's easy to engineer) to be an AND circuit. They added two genes (A and B) with promoters that are activated by two different signals (https://en.wikipedia.org/wiki/Promoter_(genetics)). The also added another gene, C, with two promoters that bind proteins A and B.

When genes A and B are activated, they create proteins that block the production of protein C. But this inhibition only happens if both A and B are present. Thus, you get an "AND".

You can then use the inhibition or production of C to do something else. In this case they used it to block the production of a protein that fluoresces, but you can do whatever you want with that logic. Like targeted treatment of IBD: only produce drug C when gut signals A and B are present, but not before.

Or make more complicated circuits.

[+] leoedin|10 years ago|reply
User berntb posted this as a reply to your comment, but their account seems to have been shadowbanned.

https://news.ycombinator.com/user?id=berntb

--------------

They implement logical gates by turning on/off transcription, so the result of one gene turned on will be that another is turned off (NOT). And so on.

I assume the idea is less to build an adder and an ALU ( :-) ) and more to build behaviour on environmental input. There is a video under the "demo" tab.

Edit: Under the "Publications" you find an abstract and a good explanation. Read that instead of my copy/pasting. :-) Their basic point is "This approach leads to highly repetitive and modular genetics, in stark contrast to the encoding of natural regulatory networks"

[+] btown|10 years ago|reply
From Reddit:

> Cello was designed to allow for logical development of large DNA circuits from a general functional description.

> You could say "I want a cell that can detect arsenic, mercury, and cadmium in water and provide different color output signals. Also, those output signals should correlate to the concentration of metal detected." Cello would look through its database for promoters that detect those metals and genes that produce chromophores or fluorophores. And then it would look for various modulators and feedback loops to make sure the amount of color produced is measurably relative to the signal. It would produce possible combinations of circuits that could have the function requested (different gene order, different orientations, different modulators, etc.) and the assembly plans to build those in the lab so they can be tested.

> It's easy to mix and match a few promoters, even a half dozen or so. But once you start adding a large number of small circuits together, it simply gets too complex to scribble out the permutations on paper.

> Much of the credit for this tool goes to Prashant Vaidyanathan at Boston University, the forth author on the manuscript who did a large portion of the coding. It's a joint initiative between Boston University and MIT, initiated by the CIDAR lab at Boston.

> Source: I just graduated from this group.

https://www.reddit.com/r/science/comments/4dbvmr/mit_develop...

(To clarify, I'm not the author of this summary, just found the post. Reply there if you want to get in touch with him/her!)

[+] eggie|10 years ago|reply
What does this do? Let's break down the description from the site:

> Cello converts electronic design specifications of combinational logic to complete DNA sequences encoding transcriptional logic circuits that can be executed in bacterial cells. A database of transcriptional repressors characterized in the Voigt lab provide genetic NOT gates and NOR gates that can be composed into any logic function.

Transcription is the process by which a cell copies DNA into RNA. The RNA then can be used for many processes, of particular importance as a template for proteins. (This is called the central dogma of biology. DNA->RNA->Protein.)

Transcription is evoked by proteins that bind to the DNA. One protein might bind to a particular motif (a DNA sequence) and recruit (bind with) other proteins that then drive the translation of the DNA sequence into RNA. (Where does the energy for this process come from? From nucleoside triphosphates from which the growing RNA sequence is built.) Meanwhile, another protein may bind to the DNA and block the passage of the translation machinery, thus turning off expression of the gene.

These interactions can be thought of as encoding a logical system. What Cello does is provide a programming language to describe them which can be compiled into the DNA sequences that completely encode the proteins and motifs for the entire system.

> Does the machinery in the cell just randomly bind to plasmids and do what they say?

Basically, yes. At the scales we are thinking about concepts from quantum mechanics may be more apt. If we imagine the proteins classically, we can think of them as spinning at a million cycles a second and rapidly traversing the volume of the cell. In effect, everything in the cell is interacting with everything else at relatively short time scales.

[+] dekhn|10 years ago|reply
"Does the machinery in the cell just randomly bind to plasmids and do what they say?"

Sort of. Please read Molecular Biology of the Cell, Molecular Biology of the Gene, and Biochemistry. It's explained in detail (what people have observed). TL;DR: yeah, machinery in the cell binds to plasmids. No, it's not random- it's a highly biased process.

[+] cybernoodles|10 years ago|reply
It depends on the type of plasmid I believe. Bacteria cells will share certain plasmids with one another; this is how they learn quickly and spread resistance information. Some plasmids are even shared with different cell types such as yeast. I'm curious if they have thought about how to control how the 'software' will spread.
[+] berntb|10 years ago|reply
They implement logical gates by turning on/off transcription, so the result of one gene turned on will be that another is turned off (a NOT gate). And so on.

I assume the idea is less to build an adder and an ALU ( :-) ) and more to build behaviour on environmental input.

There is a video under the "demo" tab.

Edit: Under the "Publications" you find an abstract and a good explanation. Read that instead of my copy/pasting. :-) Their basic point is "This approach leads to highly repetitive and modular genetics, in stark contrast to the encoding of natural regulatory networks"

[+] slackstation|10 years ago|reply
I hope you like zombies because this is how you get zombies.
[+] jhallenworld|10 years ago|reply
I wonder if you can make a latch? It means allowing combinatorial loops:

    wire q, q_bar;
    assign q = !(q_bar || reset);
    assign q_bar = !(q || set);
If I'm understanding this, I think the answer is no. The output signal is a concentration of a specific protein and there is no way to eliminate the protein once you have it.
[+] daemonk|10 years ago|reply
I work on eukaryotes, so I am not very familiar with bacteria. Is it really this simple in bacteria where you can modify it according to a planned circuit and get the results you expect? I can understand maybe generating simple behaviors like upregulating a gene or superficially influencing some aspect of its metabolism, but is it possible to get a specific tightly controlled response? Do we know enough about bacteria for this to work now?
[+] amelius|10 years ago|reply
Can you use this to factor large numbers into primes?

How many bacterial cells do you need to factor a number of N binary digits?

It would be cool if bacteria beat quantum computers for this task :)

[+] john_reel|10 years ago|reply
Honest question: what would make a bacteria better for factoring than a conventional computer?
[+] progman|10 years ago|reply
This is interesting stuff. I wonder which literature is essentially required to understand what's going on.

What I really like to know: How do you make sure that genetically modified organisms don't escape accidently, and how do you make sure that such modified organisms don't use their new capabilities to mutate into something completely unwanted (causing new kinds of pandemics, famines etc.)?

[+] amelius|10 years ago|reply
Is this the road to massively parallel systems?
[+] coldtea|10 years ago|reply
or to the new black death...
[+] ByronicHero|10 years ago|reply
BRB.

Making a forkbomb bacteria.

[+] gravypod|10 years ago|reply
Isn't a forkbomb bacteria just bacteria?

They:

  - Grow
  - Produce at least two more of itself
I think most bacteria has us CS majors beat.
[+] abercromby|10 years ago|reply
Bacteriophage-based hacking anyone?
[+] mywittyname|10 years ago|reply
I look forward to the day when my cellphone is powered by an Intel Petrium 5 bioprocessor.