
Cello – a Verilog compiler for transcriptional logic in bacterial cells - btown
http://cidarlab.org/cello/
======
foota
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
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...](http://science.sciencemag.org/content/sci/suppl/2016/03/30/352.6281.aac7341.DC1/Nielsen.SM.pdf)).

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)](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.

~~~
jhallenworld
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.

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

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

~~~
robertelder
On top of that the author of [http://libcello.org/](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...](https://www.reddit.com/r/programming/comments/4bnrn4/a_discussion_about_the_breaking_of_the_internet/d1aytd0)

------
jhallenworld
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
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
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
Honest question: what would make a bacteria better for factoring than a
conventional computer?

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

------
100ideas
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](https://news.ycombinator.com/item?id=11417689)

------
amelius
Is this the road to massively parallel systems?

~~~
coldtea
or to the new black death...

~~~
abstractbeliefs
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.

~~~
akiselev
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](http://openwetware.org/wiki/DIYbio/FAQ/Kits)

------
ByronicHero
BRB.

Making a forkbomb bacteria.

~~~
gravypod
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
Bacteriophage-based hacking anyone?

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

