- A couple of weeks ago
I played a game of noughts and crosses, tic-tac-toe,
and my opponent was DNA and the DNA won.
How is that possible?
How can you play a game against DNA?
There are these nine wells.
They represent the game grid
and in each of those wells is a special solution of DNA.
And in addition to that,
over to one side there are all these other solutions
of DNA that I can choose from.
They represent the moves that I can make.
The way we set it up
is DNA takes the first move and plays the center square.
When it's my move, suppose I want to play this square,
let's call that square number four.
So I find the solution
that represents playing square number four on my first move
and I pipette that solution, just the right amount,
into each one of those nine wells.
That's how I tell the DNA in those nine wells
which move I want to make.
We then put those nine wells into a special machine.
Eventually one of those wells starts to glow,
specifically, it starts to fluoresce,
and that glowing well tells us
which square the DNA has played
and then I choose my next move.
I find the right solution and tell each well,
by pipetting that solution, which move I'm making
and then we put it back in the machine.
The game progresses like that
until there's either a win or a draw.
Here's the cool part.
The DNA will always play a perfect game
of noughts and crosses.
So the best I can hope for is a draw.
How can DNA play a perfect game of noughts and crosses?
Well, you can program a computer
to play a perfect game of tic-tac-toe,
so maybe there's a way we can encode that
into the molecules of DNA.
In a computer it is just a series of logic statements
like if the human plays this square,
then the computer plays this square.
Every time the human makes a choice the game branches
and you have to work out the logic
for all of these branches.
What's cool is you can take
all that branching, flowing logic
and flatten it down into a single layer of logic.
You do that by looking at each individual square.
So what is the logic of this square, for example?
This square could become a cross for the computer
under several different circumstances
like after the human has played here,
this would become a cross,
or later in the game after the human has played here,
this would become a cross.
We don't have to worry
about encoding when we are in the game.
We just need one long, logical statement
full of NDSs and ORs and NOTs
related to what's currently on the board.
This might not be the most efficient way
to do it for a computer,
flattening the logic down into each square,
but in this way we have a fighting chance
of encoding that logic into bits of DNA
in each one of those wells.
If the human were allowed to go first
each logic statement would be horrendously complicated.
By saying that the DNA goes first
and plays in the second square,
we simplify those logical statements
and again, give ourselves a fighting chance.
Let's have a look at the logic
for just one square under these conditions.
It's a whole bunch of statements
strung together by ORs like this.
If this is true or this is true
or this is true or this is true and so on,
then the computer should play an X here.
But what about these individual statements between the ORs?
Well, this means if the human
played square two on move number two
and square six on move number three
and not square one on move number one
then this square should be an X.
You'll notice there we're limited
to certain types of logic statements like and statements.
If A and B.
We also have at our disposal if A and B and not C.
So how can you make logic gates out of DNA?
Well, I don't. (chuckles)
This is where my friend Andrew Holding comes in
from York University.
This whole thing was his idea, actually.
He showed me this paper where these researchers
had figured out the perfect structure
for these little logic gates.
We can just copy the molecules that they found to work well.
This is where the paper talks about the DNA logic gates.
And to explain it,
I've turned these diagrams into physical models.
So this is a little snippet of DNA.
It's called a deoxyribozyme or DNAzyme.
Because it's an enzyme built from DNA
which is to say it's a piece of DNA
that can catalyze a chemical reaction,
it can do something to something else
without changing itself
and with a bit of extra mucking about
we can turn it into an AND gate.
But before we do that, how does this catalyst actually work?
You'll know already that the four bases of DNA,
A, T, C, and G pair up in a specific way.
A always pairs with T and C always pairs with G.
And you'll notice that this sequence of As, Ts, Cs, and Gs
pairs up perfectly with these As, Ts, Cs, and Gs here.
So this strand of what they call the substrate
attaches to this DNA catalyst,
which then snaps it in half
and the bits float off on their own.
So that's why this thing is called a catalyst.
It's a molecule that can snap another molecule in two.
You'll notice that there are
these weird blobs on either end.
This blob is called TAMRA and it's fluorescent,
which means if you shine light on it
of a particular wavelength,
then it will emit light at another different wavelength.
This blob on the other end is called a quencher.
It's like a little vampire
that sucks energy from the fluorescent molecule.
So when this molecule is nearby
and you shine light on this molecule
hoping for it to fluoresce, instead what happens
is the energy gained by this fluorescent molecule
is sucked into this molecule
that then releases the energy as heat.
So when this molecule is intact
and these two blobs are near each other,
you don't get fluorescence.
But when you add this DNA enzyme into the mix
and snap this thing in half,
the fluorescent molecule can actually fluoresce.
And that's something we can detect in the lab
to turn this into an AND gate.
I'm going to add a loop like this
and then extend it to cover this up.
And I'm gonna add a loop like this and then cover this up.
And by doing that, I've disabled the catalyst
because look, when the substrate comes along
there's nothing for it to attach to.
But what if we now create two more DNA molecules
that pair up exactly with this loop and this loop?
These will be like the inputs of the AND gate.
Let's call these inputs molecules A and B.
What happens when I add A?
Well, it starts to attach itself to this loop,
and as it does so it's tugging on the loop.
It's trying to straighten the loop out.
These bonds here are now under strain
and eventually they will give way exposing these bases.
When you add input molecule B
it opens this side and exposes this bit of DNA molecule.
So with both A and B present
both parts of the catalyst are exposed.
The substrate is snapped in half
and we can detect this has happened through fluorescence
and that's our AND gate.
If molecule A and molecule B are present then fluoresce.
To make an AND AND NOT gate, we add a third loop here.
So let's introduce a third molecule, C,
that pairs up perfectly with this loop.
So when molecule C is present, it unzips this loop.
These two bits of DNA end up far away from each other
and they can no longer act as a catalyst
to snap the substrate in half.
So this molecule is therefore an AND AND NOT gate.
If molecule A is present and a molecule B is present
and a molecule C is not present, then fluoresce.
These input molecules represent the moves
that the human can make.
And there are 32 possible moves
and these different wells need to be able
to respond to those different inputs.
So we need 32 different distinct strands
of As, Ts, Cs, and Gs
and then pair those up with the loops around the logic gates
to create all the logic that we need.
You might be wondering where these ORs are coming from.
Well, they're implicit ORs.
Like when you have a bunch
of different DNA logic gates in solution together,
they don't have any effect on each other.
Meaning if one of the gates activates
and starts catalyzing the substrate we will see fluorescence
regardless of what the other gates are doing.
That's where the ORs come from.
Here's the thing though,
to prepare these different solutions and the nine wells
took hundreds of pipette operations, tiny amounts of liquid
that we are transferring here and there.
If we make any mistake
the computer isn't gonna play the right move
and you can't test it until you've finished it all.
So the challenge for us going into the game
wasn't can we beat DNA at tic-tac-toe?
It was, have we done every single thing correctly?
Before we find out,
let me tell you about the the sponsor really quickly
'cause this is an interesting one.
There are these companies called data brokers
that collect data about us
and then sell that data to other companies.
We don't know what companies they're selling our data to
but what we can do is contact them
and say "Stop and delete my data."
The problem is there are thousands of them
and they all want to be contacted in different ways
and sometimes they'll reject the request
and you need to figure out
how to respond to those rejections.
Wouldn't it be great if a bunch of people
did all that legwork, figured all that stuff out
for every single one of them
and worked out how to respond to their rejection emails
and all that sort of stuff and automated it?
Then the next person who wanted to do the same thing
could do it just like that.
And that's what the sponsor of this video does.
Incogni.
You sign up to Incogni,
you give them the right to work on your behalf
and they just get to it.
And you can see on the dashboard,
look these are all the companies that they've contacted
and this is the progress so far.
And you start getting these emails
from these companies saying, "We've deleted your data."
You know what it's like.
You get (sighs), you'll sign up for an email newsletter
and you get a whole bunch
of other emails from other companies
or you'll sign up for a loyalty card
and then you start getting phone calls from other companies.
I just, I don't want that.
And at the same time, I know myself well enough
that I'm just never gonna sort that out manually.
Like it would take months anyway
'cause there are so many of them.
From my point of view it' an impossible task.
And in that sense,
I'm like the perfect demographic for Incogni.
And maybe you are too.
If you want to find out more, it is worth looking at
the promo that we've got on this one.
If you go to incogi.com/science,
the first 100 people will get 20% off.
The link is also in the description.
So check out Incogni today.
By the way, where do you get these custom bits of DNA?
We certainly didn't make them ourselves.
In fact, they're kind of off-the-shelf,
like not in the sense that you could go to H&M and buy some,
but there are companies and they have websites
and you log on and you say,
"Can you send me this exact sequence of DNA please?
And can you send me this exact sequence?"
So we spent 2000 pounds buying many little sequences of DNA
and we had a go.
So we played the game four times simultaneously
on this grid of wells.
We told the DNA our first moves
by pipetting the right molecules into all the wells.
Then we put the plates in the machine.
15 minutes later we had a look at some line graphs
that showed us how the fluorescence
was changing in the different wells.
- [Andrew] So now this one's coming up.
So we got to find out which well that is.
It's going in well eight.
- [Steve] Yes, yes.
That's what we wanted.
That's amazing. Look. (laughs)
So that was this game here.
It starts in the middle.
I went there, it went to well eight
and then we are gonna go there.
That's incredible. - Amazing.
It was always going to work.
- It was always gonna work.
Why did we doubt it?
By the way, throughout this video,
I've been referring to DNA playing crosses
and humans playing noughts.
But in the drawings you just saw, here they are,
I've got the DNA playing noughts,
later on I switched the drawings to DNA playing crosses.
Sorry for the confusion.
Anyway, here's game number two.
- [Andrew] So it's, well four is a contender
for where it's gone or well six.
- [Steve] It was supposed to be well four
and then I would play well six.
- [Andrew] Okay.
- [Steve] Well, that's interesting that well six came up.
- [Andrew] That's almost certainly
a pipetting error at some point.
- [Steve] Right, I doubt it would be me
that made a pipetting error.
- Your pipetting is flawless.
- [Steve] (laughs) I love that this is the approach.
Stick your finger on it.
- [Andrew] Well four.
- [Steve] Well four.
Well four. It works.
Look, there you go.
- [Andrew] Well eight. - [Steve] Eight.
And it is eight.
So that's amazing.
So they all essentially work.
There's a bit of ambiguity on the second game.
Ah!
So after finding out the DNA's second moves
we pipetted our second moves into all the wells
and put them in the machine.
- [Andrew] It is number, third highest.
So I'll give it.
- [Steve] Yeah. Great.
- [Andrew] We just have to-
- [Steve] So this is amazing.
So it took that move as expected.
- [Andrew] Six is lower than four and nine.
- [Steve] Yeah.
- [Andrew] So whilst it is trying to cheat,
it's trying to, it's trying to...
- It's hedging. (laughs) - It's hedging.
Didn't get away with it.
- [Steve] Didn't get away with cheating this time DNA.
All right, let's have a look at the last two.
- [Andrew] And we're expecting it to go in one.
Oh, it's definitely coming though.
- [Steve] It's coming up. So that's good.
- [Andrew] Ooh.
- [Steve] And it's... what is that one?
- [Andrew] That's well, it's well six I think's shaky.
- [Steve] Yeah, we did a bad job on well six.
Final one.
What we expect to be high is hopefully bottom left.
- [Andrew] Well seven hasn't really
kicked off yet, has it?
- [Steve] Yeah. - [Andrew] It is going up.
- [Steve] So that'll carry on.
It'll carry on playing that move, so to speak,
during the next round.
So for the next round, for this one, I'm gonna play to win.
So I'm gonna go here
and then we expect the DNA to go here.
On this one we're gonna play there to block it
'cause that's now a nought.
On this one I blocked the straight down.
So on this one I'll block the diagonal.
- [Andrew] So well four is not amazing.
- [Steve] Let's see it again. Sorry, I wasn't...
- [Andrew] There. So it's the top of the outlook...
Oh, I guess that makes sense actually, it's coming up.
- [Steve] It is, it's come above the pack, hasn't it.
- [Andrew] It's all, yeah.
And I think if you look, see it's below the dotted line here
and it's going above it here.
So it's slow.
- [Steve] So next, this is the one
where it sort of took two turns
but we've kind of put it in its place.
- [Andrew] I think it's that one.
- [Steve] Yeah. - [Andrew] Yeah.
- Yeah. Come on. - That's looking good.
- [Steve] Amazing. So this is the next one we're doing.
- [Andrew] Well nine. She's low.
- [Steve] That is low but it's coming up though.
Can we compare it to the pack?
- Let's use my finger, my high-tech finger.
- [Steve] Yeah. - [Andrew] Yep.
- [Steve] That's definitely reached
above the rest, hasn't it?
- So we've got one- - Wow
- [Andrew] Two, three. Yeah.
- [Steve] So that's a lose for me.
- [Andrew] You've lost.
- [Steve] (laughs) Yay! Beaten by DNA.
This one as well should also be a lose for me.
Nine. It should be. - [Andrew] Nine.
- It's coming up. - That's the problem we have,
when we don't give them enough time.
- [Steve] Yeah, we haven't given it enough time.
- [Andrew] But if we look at that compared to the pack,
it's now the at the top. - [Steve] It is. Yeah.
It's at the top of all the others.
And if we gave it longer it would come up further,
but it's above everything else.
So we know that that's a positive.
So there you go.
Isn't that amazing?
Wow. So I've lost another game.
So these ones should be a draw
which means we've still gotta make another move on these.
I'm gonna move here to block this for my fourth move
and here I'm gonna go here to block this on my fourth move
and those should be draws.
So the way we are coding it, this is six-four
'cause it's the sixth square on my fourth move.
And this is eight-four
'cause it's the eighth square on my fourth move.
So we're gonna grab six-four
and eight-four from here and fill them in
to the appropriate top two game boards in here.
- [Andrew] Where do we need to go to?
- [Steve] It needs to go into bucket nine.
- [Andrew] Yeah. - [Steve] Yes.
So it's above the pack.
That's basically playing that move
and that's the end of the game.
And this one we expect it to play in position seven.
This may not have worked.
- [Andrew] So how many should be above?
How many Xs are there?
- [Steve] So there should be
one, two, three, four above it, above this one.
'Cause they've had longer
then there's this rogue one as well.
- [Andrew] Yeah. So one, two, three, four.
That is the six and there's well seven.
So this is program here so...
- [Steve] So it's just about...
- [Andrew] We definitely have a problem
with our well six.
- [Steve] Yeah
But it's not a terrible problem actually.
- [Andrew] And if we give it time,
the hope's this will move up
where this is actually kind of stuck where it has.
So it's, well six, whilst it caused a problem,
it's never really...
- [Steve] It's never taken off. (laughs)
- [Andrew] It was a sneaky cheat by the way.
- It was a sneaky attempt at cheating from the DNA
but it never took off.
So there we go.
We'll write that in.
And that's the second draw.
So it worked.
We created several solutions of DNA
that encoded logic to play tic-tac-toe
and it played the way it was supposed to play.
I was unable to win.
Why do this at all?
It's not about like computing power, it's not about
you know, massive parallel computing on the molecular scale.
It's about the interface
between logic and biological systems.
So in the future
maybe we could create sophisticated PCR tests
that test for the presence
of this and this, and not this, for example,
but just generally figuring out how to manipulate DNA
in this way is useful
for all sorts of research relating to genetics.
So far we've only looked at a single layer of logic
which means we are limited in what we can implement.
Like researchers have implemented
a full binary adder in a similar way before,
where you have these molecular inputs
and the outputs are fluorescence.
But like what makes a full binary adder useful
is when you chain them together
so the outputs of one become the inputs of the other.
But if your output is fluorescence
and your input is a molecule,
then there's a disconnect there.
How about if instead of the output
being this molecule that fluoresces
it's a molecule that becomes the input
of the next step in the logical sequence.
Now that will be really interesting.
A huge thank you to Andrew Holding
and the University of York