Hacker News new | past | comments | ask | show | jobs | submit login
Cello – a Verilog compiler for transcriptional logic in bacterial cells (cidarlab.org)
145 points by btown on April 5, 2016 | hide | past | favorite | 34 comments



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?


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.


This is so cool... they have blinking LED debugging of genetic circuits:

"Debugging genetic circuits

We developed a strategy for “debugging” a malfunctioning circuit to determine which gate is causing the failure. This was done by creating a series of plasmids that transcriptionally fuse the output promoter of each gate to yfp."

Basically if the liquid fluoresces the gate you're debugging is outputting a 1.


Thanks for that link!


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"


dang, if you happen see this, why is user berntb shadow-banned? I see some political opinions that I happen to disagree with in his history, but nothing in the past ~20 pages of his comments worthy of shadow-banning. In fact, I see some high-value comments of a technical nature, such as this post.

Assuming my interpretation of this situation is reasonable, could you please consider his account for un-shadow-banning?


You can "vouch" the comment instead of copying it. Click on "x minute ago" on dead link. Then click on "vouch" at the top of the link.

    <uername> <time> ago | parent | flag | vouch [dead]


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!)


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.


"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.


Those are journals, right? Anyone knows a good, in-depth, canonical, non-obsolete introductory text for all of these? Something like Spivak but for Biotechnology? Something structured and consolidated that can be read linearly during some months...


No, they're the gold standard university textbooks in molecular biology. They are very useful encyclopedic references that happen to be marketed as entry level texts


Oh come on! Undergrads typically go through each one of those in a year, they're entry level because they walk you through every bit of introductory details, then rapidly move you to what was state of the art 10 years ago, with tons of citations.

I do also use them as references, but they're wholly approachable by a person who has a year to spend learning a deep topic.


Oh, I googled them quickly but misread the results. Thanks for the correction.

But I guess, if you consider them more encyclopedic than entry level, that my question still stands. Do you have any particular recommendation? You seem to be familiar with the field!


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.


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"


I hope you like zombies because this is how you get zombies.


Name conflicts aren't usually a big deal but I'd like to point out there is already http://libcello.org/


On top of that the author of http://libcello.org/ also had some trademark issues with using the name Cello for his project from yet another use of 'Cello'.

See:

https://www.reddit.com/r/programming/comments/4bnrn4/a_discu...


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.


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?


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 :)


Honest question: what would make a bacteria better for factoring than a conventional computer?


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.)?


A paper in which cello was used was posted to HN two days ago. The comment thread is worth reading if you find this one interesting.

https://news.ycombinator.com/item?id=11417689


Is this the road to massively parallel systems?


or to the new black death...


The previous discussion on this pointed out that all this is is a compiler that turns a Verilog representation of a circuit into a DNA one. Since most people don't have ways to actually synthesise the DNA that's output, you need to send away to companys that do, who check for sequences that encode toxins etc.


Getting bacteria or animal cells to express a custom strand of DNA like a fluorescent protein is basically a first year lab in undergraduate molecular biology. There are even relatively cheap consumer kits made by the diy bio community [1]. DNA synthesis is at most a dollar per basepair, although you'll have trouble finding someone who can accurately produce something approaching or exceeding a kilobasepair.

[1] http://openwetware.org/wiki/DIYbio/FAQ/Kits


Well, most people no, but states yes (and I don't consider the "respectable" states any more trustable in this regard -- they are the ones that used biological weapons first, in WWI, they burned 5 million jews in WWII, they dropped nukes in WWII, they sprayed whole populations with Agent Orange, etc, and loads more besides).

Besides, all it might take when it comes to individual people is a wacko/paid operator at one of these companies.

Or, maybe not even that, the sibling comment says that "There are even relatively cheap consumer kits made by the diy bio community".


BRB.

Making a forkbomb bacteria.


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.


Bacteriophage-based hacking anyone?


I look forward to the day when my cellphone is powered by an Intel Petrium 5 bioprocessor.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: