[This post is part of an ongoing challenge to understand 52 papers in 52 weeks. You can read previous entries, here]
One of my friends is doing a PhD on implementing logic circuits in mammalian cells. Just thinking about it tickles my nerdy innards!
After months of begging, she let me read her latest paper after it was published in Nature last week. Designable DNA-binding domains enable construction of logic circuits in mammalian cells by Tina Lebar and some other people nobody cares about. One of them was my information theory professor. Small world ...
I chewed my way through through this five-page paper like an excited puppy goes through a slipper and just like a puppy I was confused out of my mind most of the time. Synthetic biology is not my thing.
I asked my friend about her research a few months ago and she explained that programmable cells can be very useful. You could for instance program a cell to deliver medicine only to specific points in the body. Or to attack only certain types of other cells and so on.
This, apparently, has far reaching implications in medicine. Personally, I'm just waiting until we can build cylons.
What I don't understand, and this paper doesn't explain, is how all this works. The paper talks about designing different types of logic gates, assembling them into circuits, but I don't understand the basic principles. It's electron quantum tunneling through layers of silicone for normal computers, but for biological circuits it's ... magic?
The paper uses this magic to build different logic gates. NOR and NAND in particular because they are functionally complete and can be used to implement anything. You could build a whole computer just by combining NOR or NAND gates.
Computers used to be built like this in the 1960's (Apollo computer was just a combination of triple-input NOR gates). These days we instead try to lower the number of elements to save power because the gates themselves have become so cheap to make.
But biologic chips are in their infancy and using easily replicable elements is more important. As far as I understand, this paper is the first to implement a circuit out of multiple gates.
One of the problems they solved is the free diffusion in cells. They built orthogonal gates that behave correctly even when activation sequences act funny.
To build layered circuits inputs have to be the same type as outputs. The authors used TALEs (transcriptor activator-like effects) as information mediators and designable DNA-binding domains as the logic circuits themselves.
Free diffusion in cells is the biggest problem here. How do you ensure a gate works regardless of activation order of binding sites?
They solved this by positioning TALE binding sites upstream of something called a constitutive mammalian promoter (CMV), which leads to equal promoter activation regardless of binding sequence variability.
To make a simple OR gate they place two binding sites for different TALE repressors before the constitutive promoter followed by an expressor gene. To turn it into a NOR gate, they added another binding site next to the other two.
Results were checked using luminometry and as you can see in the picture above, cells only light up when neither TALE repressor is expressed in the cell. Shiny.
To demonstrate the generality of this design they implemented several different NOR gates that used different TALE repressors in various combinations. They took the experiments even further by implementing parallel NOR gates acting on different expressors within the same cell.
All of this means the gate design is orthogonal and canin fact be used to implement more complex circuits.
The idea is to use the expression of a TALE repressor in one NOR gate as an input to the next. This way you can implement any logic function you can think of just by layering NOR gates in specific configurations.
All 16 two-input functions were implemented both in separate cell colonies and within the same cell, and a new experiment was performed for each combination of inputs. According to flow cytometry and microscopy, all biologic functions produced high and low outputs in accordance with their truth tables. But it did sometimes take a while for circuits to equilibrize before reaching correct output.
To minimize the number of layers and required transcription factors, genetic algorithm optimization was applied, and it is now possible to implement all 16 two-input logic gates with just two layers. A layer less than the previous three. Which is cool.
If I understand the implications correctly, that means you can put more logic into a cell and it's easier to make the whole thing.
For circuits to be really effective, you also need the ability to select which logic function within the same circuit will be performed solely based on inputs.
To demonstrate this ability, the authors implemented a simple circuit that takes three inputs and decides whether an AND or an OR function will be performed on two of the inputs, based on the third. A truthy value means OR and a falsy value means AND - essentially the majority function.
You can test the design out by hand, but the basic idea is that A chooses whether the first layer of NOR gates will act as an OR or an AND, and the final NOR gate activates only if the previous layer returns only low values.
Once again, fluorescence reporters observed under a microscope over a few different experiments show everything works as you'd expect.
With this new design, synthetic biologists can improve the predictability, reliability, and standardization of biological information processing systems. With the recent advance in producing hundreds of different TALEs this makes the design much better than previous approaches.
Zinc fingers and CRISPR were mentioned here, but I only vaguely understood the zinc fingers paper when I read it a year ago and I don't know what CRISPR might be. I'm guessing it's something a bit like a TALE, but different.
Either way, the authors report that using their optimizations 94% of two-input logic gates can be implemented with just two layers, whereas only 50% can be implemented in two layers with traditional wired circuits. A pretty sweet result if you ask me.
They also mention something about distributed systems spanning multiple cells and a bunch of other things that read almost like wishful thinking. Maybe I'd believe them if I spent the time reading referenced papers.
But this has been enough synthetic biology for now. I'm always amazed by how mind-blowing this field can be.
I write mindblowing emails with real insight into the career and skills of a modern software engineer. "Raw and honest from the heart!" as one reader described them. Fueled by lessons learned over 20 years of building production code for side-projects, small businesses, and hyper growth startups. Both successful and not.
Subscribe below 👇
Join Swizec's Newsletter and get mindblowing emails 💌 on mindsets, tactics, and technical skills for your career. Real lessons from building production software. No bullshit.
"Man, love your simple writing! Yours is the only newsletter I open and only blog that I give a fuck to read & scroll till the end. And wow always take away lessons with me. Inspiring! And very relatable. 👌"
Have a burning question that you think I can answer? Hit me up on twitter and I'll do my best.
Who am I and who do I help? I'm Swizec Teller and I turn coders into engineers with "Raw and honest from the heart!" writing. No bullshit. Real insights into the career and skills of a modern software engineer.
Want to become a true senior engineer? Take ownership, have autonomy, and be a force multiplier on your team. The Senior Engineer Mindset ebook can help 👉 swizec.com/senior-mindset. These are the shifts in mindset that unlocked my career.
Curious about Serverless and the modern backend? Check out Serverless Handbook, for frontend engineers 👉 ServerlessHandbook.dev
Want to Stop copy pasting D3 examples and create data visualizations of your own? Learn how to build scalable dataviz React components your whole team can understand with React for Data Visualization
Did someone amazing share this letter with you? Wonderful! You can sign up for my weekly letters for software engineers on their path to greatness, here: swizec.com/blog
By the way, just in case no one has told you it yet today: I love and appreciate you for who you are ❤️