Cello – a Verilog compiler for transcriptional logic in bacterial cells
cidarlab.org
cidarlab.org
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?
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"
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"
<uername> <time> ago | parent | flag | vouch [dead]Assuming my interpretation of this situation is reasonable, could you please consider his account for un-shadow-banning?
> 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.
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.
"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.
> 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!)
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.
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!
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.
See:
https://www.reddit.com/r/programming/comments/4bnrn4/a_discu...
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.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 :)
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.)?
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".
Making a forkbomb bacteria.
They:
- Grow
- Produce at least two more of itself
I think most bacteria has us CS majors beat.