WEBVTT

00:00:00.000 --> 00:00:00.580 align:middle line:90%


00:00:00.580 --> 00:00:02.440 align:middle line:84%
The following
content is provided

00:00:02.440 --> 00:00:06.340 align:middle line:84%
by MIT OpenCourseWare under
a Creative Commons license.

00:00:06.340 --> 00:00:08.470 align:middle line:84%
Additional information
about our license

00:00:08.470 --> 00:00:10.870 align:middle line:84%
and MIT OpenCourseWare
in general

00:00:10.870 --> 00:00:13.090 align:middle line:90%
is available at ocw.mit.edu.

00:00:13.090 --> 00:00:31.991 align:middle line:90%


00:00:31.991 --> 00:00:32.574 align:middle line:90%
PROFESSOR: OK.

00:00:32.574 --> 00:00:36.550 align:middle line:90%


00:00:36.550 --> 00:00:37.160 align:middle line:90%
Welcome.

00:00:37.160 --> 00:00:43.690 align:middle line:84%
Welcome to the second discussion
of networks and the second

00:00:43.690 --> 00:00:47.240 align:middle line:84%
to last talk of
lecture of this course.

00:00:47.240 --> 00:00:51.160 align:middle line:84%
There's a very important
set of lectures

00:00:51.160 --> 00:00:55.000 align:middle line:84%
after that from the students
I'm looking forward to.

00:00:55.000 --> 00:01:00.880 align:middle line:84%
So last time we talked
about the use of computers

00:01:00.880 --> 00:01:05.620 align:middle line:84%
to model various complicated
systems in mainly

00:01:05.620 --> 00:01:11.200 align:middle line:84%
cellular systems, ranging
from highly cooperative, even

00:01:11.200 --> 00:01:16.840 align:middle line:84%
bistable bifurcation so that
where a cell makes a decision,

00:01:16.840 --> 00:01:20.680 align:middle line:84%
a discussion of chromosome copy
number and its implications

00:01:20.680 --> 00:01:25.750 align:middle line:84%
and a large chunk of time on
flux balance optimization where

00:01:25.750 --> 00:01:28.540 align:middle line:84%
we can look at many
of these things

00:01:28.540 --> 00:01:30.880 align:middle line:84%
from the standpoint
of optimization.

00:01:30.880 --> 00:01:37.870 align:middle line:84%
Now, today, to paraphrase
a famous local politician,

00:01:37.870 --> 00:01:41.530 align:middle line:84%
we will ask not what
computers can do for biology,

00:01:41.530 --> 00:01:44.290 align:middle line:84%
but what biology can
do for computers.

00:01:44.290 --> 00:01:47.530 align:middle line:84%
And of course we'll
go back and forth

00:01:47.530 --> 00:01:52.750 align:middle line:84%
and try to look at what
this interesting dynamic

00:01:52.750 --> 00:01:56.540 align:middle line:84%
between the experimental
and the computational side.

00:01:56.540 --> 00:02:00.130 align:middle line:84%
And so how can biology
aid algorithm development,

00:02:00.130 --> 00:02:03.310 align:middle line:84%
to return the favor
and aid biology?

00:02:03.310 --> 00:02:05.440 align:middle line:84%
But not only
algorithm development

00:02:05.440 --> 00:02:08.020 align:middle line:84%
to not only inspiring
algorithm development,

00:02:08.020 --> 00:02:13.330 align:middle line:84%
but actually implementing
hardware and software

00:02:13.330 --> 00:02:16.400 align:middle line:90%
in biological systems.

00:02:16.400 --> 00:02:17.890 align:middle line:90%
We'll talk about that.

00:02:17.890 --> 00:02:22.870 align:middle line:84%
And ranging from molecular
computing to cellular computing

00:02:22.870 --> 00:02:27.970 align:middle line:84%
and then back to inspiring
algorithms again.

00:02:27.970 --> 00:02:32.260 align:middle line:84%
So slide 3, what is it that
we're really talking about,

00:02:32.260 --> 00:02:35.920 align:middle line:84%
that computation
needs in terms of aid?

00:02:35.920 --> 00:02:37.450 align:middle line:90%
How do we get--

00:02:37.450 --> 00:02:39.093 align:middle line:90%
what are the real issues here?

00:02:39.093 --> 00:02:41.260 align:middle line:84%
And we've mentioned a couple
of times in the course,

00:02:41.260 --> 00:02:42.927 align:middle line:84%
probably initially,
when we were talking

00:02:42.927 --> 00:02:44.770 align:middle line:84%
about dynamic
programming and related

00:02:44.770 --> 00:02:49.570 align:middle line:84%
topics, of how a problem
in computer science scales.

00:02:49.570 --> 00:02:51.970 align:middle line:84%
Typically, you'll
have one key input,

00:02:51.970 --> 00:02:58.210 align:middle line:84%
size in, and then the running
time or sometimes the memory

00:02:58.210 --> 00:03:01.180 align:middle line:84%
has an upper bound which
we've been referring

00:03:01.180 --> 00:03:04.210 align:middle line:84%
to as the order of some
function of that end

00:03:04.210 --> 00:03:09.710 align:middle line:84%
or end as the length of a string
or the size of the problem.

00:03:09.710 --> 00:03:13.390 align:middle line:84%
There are other symbols that
are slightly more rarely used.

00:03:13.390 --> 00:03:17.230 align:middle line:84%
There's in addition to the upper
bound, there's lower bound.

00:03:17.230 --> 00:03:21.112 align:middle line:84%
Sometimes you can get an
exact bound or equal bound.

00:03:21.112 --> 00:03:22.570 align:middle line:84%
And how does this
play out when you

00:03:22.570 --> 00:03:25.347 align:middle line:90%
have specific instances of n?

00:03:25.347 --> 00:03:27.430 align:middle line:84%
Now of course, this when
you say this something is

00:03:27.430 --> 00:03:31.090 align:middle line:84%
on the order of or upper
bound of a function of n,

00:03:31.090 --> 00:03:33.820 align:middle line:84%
you don't always necessarily
describe the constants.

00:03:33.820 --> 00:03:35.470 align:middle line:84%
But to give you a
ballpark, when you

00:03:35.470 --> 00:03:40.240 align:middle line:84%
have n ranging from 1 to
1,000 and the polynomial

00:03:40.240 --> 00:03:46.090 align:middle line:84%
ranging from linear to
quadratic to 10th power,

00:03:46.090 --> 00:03:51.340 align:middle line:84%
and then the exponential
or factorial.

00:03:51.340 --> 00:03:54.340 align:middle line:84%
And you can see that
for very small n,

00:03:54.340 --> 00:03:59.710 align:middle line:84%
you can get cases where
a polynomial performance

00:03:59.710 --> 00:04:04.020 align:middle line:84%
computation time can be longer
than an exponential computation

00:04:04.020 --> 00:04:04.520 align:middle line:90%
time.

00:04:04.520 --> 00:04:07.070 align:middle line:84%
So exponential isn't
necessarily bad news,

00:04:07.070 --> 00:04:09.610 align:middle line:84%
depending on the
size of your problem.

00:04:09.610 --> 00:04:11.560 align:middle line:84%
But it gets to be bad
news very quickly.

00:04:11.560 --> 00:04:16.750 align:middle line:84%
As N increases, you quickly
get over large numbers

00:04:16.750 --> 00:04:20.500 align:middle line:84%
on the far right hand side
that are computationally

00:04:20.500 --> 00:04:24.190 align:middle line:84%
intractable with
any known computer.

00:04:24.190 --> 00:04:28.232 align:middle line:84%
So we mentioned
computational complexity

00:04:28.232 --> 00:04:30.190 align:middle line:84%
is one of the various
definitions of complexity

00:04:30.190 --> 00:04:31.315 align:middle line:90%
at the beginning of course.

00:04:31.315 --> 00:04:33.490 align:middle line:84%
This is not the
one we chose to be

00:04:33.490 --> 00:04:36.280 align:middle line:84%
closest to the definition
of living complexity.

00:04:36.280 --> 00:04:39.520 align:middle line:84%
But it's one that's very
frequently used in the computer

00:04:39.520 --> 00:04:40.130 align:middle line:90%
science field.

00:04:40.130 --> 00:04:41.922 align:middle line:84%
I just want to introduce
a few of the terms

00:04:41.922 --> 00:04:45.130 align:middle line:84%
here just so you've heard
them in this context.

00:04:45.130 --> 00:04:50.020 align:middle line:84%
We have-- and it basically
refers to the issues brought up

00:04:50.020 --> 00:04:52.930 align:middle line:84%
in the previous slide of whether
it takes, whether it's scales

00:04:52.930 --> 00:04:55.330 align:middle line:84%
by a polynomial, which
is generally desirable,

00:04:55.330 --> 00:04:59.030 align:middle line:84%
or whether it's scales
exponentially or worse.

00:04:59.030 --> 00:05:02.410 align:middle line:84%
And so we have P
are problems that we

00:05:02.410 --> 00:05:04.860 align:middle line:84%
can solve in polynomial
deterministic time.

00:05:04.860 --> 00:05:08.240 align:middle line:84%
Deterministic is just
described the fact

00:05:08.240 --> 00:05:11.180 align:middle line:84%
that the algorithms will do
the same thing time after time,

00:05:11.180 --> 00:05:16.210 align:middle line:84%
which is the typical computer
that we feel comfortable using.

00:05:16.210 --> 00:05:21.140 align:middle line:84%
And an example of
problems in the P class,

00:05:21.140 --> 00:05:24.070 align:middle line:84%
the dynamic programming, which
we've used numerous times.

00:05:24.070 --> 00:05:26.260 align:middle line:84%
It scales polynomial
and the polynomial just

00:05:26.260 --> 00:05:29.770 align:middle line:84%
depends on the problem slightly
from square to the sixth power

00:05:29.770 --> 00:05:31.630 align:middle line:90%
we've seen.

00:05:31.630 --> 00:05:36.040 align:middle line:84%
NP has a number of
subsets, but overall, it

00:05:36.040 --> 00:05:39.100 align:middle line:84%
means it's not the
deterministic polynomial time

00:05:39.100 --> 00:05:40.460 align:middle line:90%
to get the solutions.

00:05:40.460 --> 00:05:43.690 align:middle line:84%
The solutions are checkable
in polynomial time,

00:05:43.690 --> 00:05:51.430 align:middle line:84%
but are generally felt
to not be currently

00:05:51.430 --> 00:05:55.450 align:middle line:84%
feasible in polynomial time for
the determination as opposed

00:05:55.450 --> 00:05:56.380 align:middle line:90%
to checking.

00:05:56.380 --> 00:06:00.070 align:middle line:84%
An example of this were
actually the inventors

00:06:00.070 --> 00:06:05.200 align:middle line:84%
of various encryption
schemes such as RSA.

00:06:05.200 --> 00:06:08.320 align:middle line:84%
The R and the S and the A,
referring to the last names

00:06:08.320 --> 00:06:09.940 align:middle line:90%
of the authors.

00:06:09.940 --> 00:06:11.560 align:middle line:84%
In a certain sense,
they're banking

00:06:11.560 --> 00:06:19.420 align:middle line:84%
on the difficulty of cracking
these codes in polynomial time.

00:06:19.420 --> 00:06:21.970 align:middle line:84%
You can use the
codes if you know it.

00:06:21.970 --> 00:06:23.950 align:middle line:84%
You can check it,
that is to say,

00:06:23.950 --> 00:06:27.200 align:middle line:84%
but you can't crack it,
unless someone comes through

00:06:27.200 --> 00:06:28.935 align:middle line:84%
with breakthrough
on the NP problems.

00:06:28.935 --> 00:06:30.310 align:middle line:84%
Because if you
solve one of them,

00:06:30.310 --> 00:06:32.950 align:middle line:90%
you can solve all of them.

00:06:32.950 --> 00:06:34.450 align:middle line:84%
And then they're
subsets of this.

00:06:34.450 --> 00:06:37.090 align:middle line:84%
This is a little less critical
for today's discussion.

00:06:37.090 --> 00:06:40.480 align:middle line:84%
But there's NP complete,
an example of which

00:06:40.480 --> 00:06:42.880 align:middle line:90%
is the traveling salesman.

00:06:42.880 --> 00:06:45.100 align:middle line:84%
Can you get through
all the vertices

00:06:45.100 --> 00:06:50.860 align:middle line:84%
on the trip with a mileage
below some threshold.

00:06:50.860 --> 00:06:53.170 align:middle line:84%
And an MP hard version
of that same thing

00:06:53.170 --> 00:06:55.600 align:middle line:84%
is what's the minimum
mileage that you can get,

00:06:55.600 --> 00:07:00.010 align:middle line:84%
not just less than x,
but how much less than x?

00:07:00.010 --> 00:07:04.060 align:middle line:84%
And the worst case scenario is
undecidable, where you really,

00:07:04.060 --> 00:07:07.120 align:middle line:84%
even given an unlimited
amount of time and space,

00:07:07.120 --> 00:07:08.530 align:middle line:90%
you can't tell whether it is.

00:07:08.530 --> 00:07:11.093 align:middle line:84%
And the classic one is the
program halting problem

00:07:11.093 --> 00:07:13.510 align:middle line:84%
where you don't know whether
your program is going to halt

00:07:13.510 --> 00:07:16.900 align:middle line:84%
and probably all of you
have run into that problem.

00:07:16.900 --> 00:07:19.070 align:middle line:90%
I'm just being funny.

00:07:19.070 --> 00:07:22.210 align:middle line:84%
So but I mean, it is a real--
the program halting problem

00:07:22.210 --> 00:07:25.840 align:middle line:84%
is a serious
mathematical construct.

00:07:25.840 --> 00:07:26.340 align:middle line:90%
OK.

00:07:26.340 --> 00:07:29.068 align:middle line:90%


00:07:29.068 --> 00:07:30.110 align:middle line:90%
How do we deal with this?

00:07:30.110 --> 00:07:33.023 align:middle line:84%
How do we start
thinking about ways

00:07:33.023 --> 00:07:34.690 align:middle line:84%
that we've dealt with
it before and ways

00:07:34.690 --> 00:07:39.880 align:middle line:84%
that biology could change
the landscape a little bit?

00:07:39.880 --> 00:07:45.040 align:middle line:84%
Usually, what we do when we're
faced with an NP hard problem

00:07:45.040 --> 00:07:47.410 align:middle line:90%
is cheat in some way or another.

00:07:47.410 --> 00:07:51.490 align:middle line:84%
You redefine the problem,
so it's in class P,

00:07:51.490 --> 00:07:53.350 align:middle line:90%
sometimes sacrificing something.

00:07:53.350 --> 00:07:55.368 align:middle line:90%
So you might have--

00:07:55.368 --> 00:07:57.160 align:middle line:84%
if you're interested
in tertiary structure,

00:07:57.160 --> 00:07:59.050 align:middle line:84%
you may be defined
as a secondary.

00:07:59.050 --> 00:08:03.180 align:middle line:84%
And we showed that secondary
structure for RNase

00:08:03.180 --> 00:08:04.930 align:middle line:84%
can be solved with the
dynamic programming

00:08:04.930 --> 00:08:07.500 align:middle line:84%
algorithm with N
squared or worst, N

00:08:07.500 --> 00:08:10.540 align:middle line:90%
to the the sixth algorithm.

00:08:10.540 --> 00:08:15.940 align:middle line:84%
Whether that is as precise
as the most precise tertiary

00:08:15.940 --> 00:08:21.160 align:middle line:84%
structure that one could get
given infinite exponential time

00:08:21.160 --> 00:08:23.710 align:middle line:90%
is an open question.

00:08:23.710 --> 00:08:24.535 align:middle line:90%
Probably not.

00:08:24.535 --> 00:08:30.190 align:middle line:90%


00:08:30.190 --> 00:08:33.580 align:middle line:84%
If N is a small enough, we
showed that exponential times

00:08:33.580 --> 00:08:35.690 align:middle line:90%
can be reasonable.

00:08:35.690 --> 00:08:37.630 align:middle line:84%
And so you just do
an exhaustive search.

00:08:37.630 --> 00:08:39.640 align:middle line:84%
Or if you can't
do that, then you

00:08:39.640 --> 00:08:44.260 align:middle line:84%
use some clever heuristic
way of pruning things.

00:08:44.260 --> 00:08:46.210 align:middle line:84%
And that's in a
certain sense, that's

00:08:46.210 --> 00:08:50.420 align:middle line:84%
what most of the
approximations are.

00:08:50.420 --> 00:08:52.360 align:middle line:90%
So what can biology do?

00:08:52.360 --> 00:08:55.640 align:middle line:84%
We'll talk about three
examples in today.

00:08:55.640 --> 00:08:57.070 align:middle line:90%
One is DNA computing.

00:08:57.070 --> 00:09:00.790 align:middle line:84%
One is genetic algorithms
and neural networks.

00:09:00.790 --> 00:09:02.920 align:middle line:90%
The first one in a certain--

00:09:02.920 --> 00:09:07.340 align:middle line:84%
none of these really
actually solve the problem.

00:09:07.340 --> 00:09:09.640 align:middle line:84%
The first one is a
way of just obtaining

00:09:09.640 --> 00:09:12.250 align:middle line:90%
a lot more raw computing power.

00:09:12.250 --> 00:09:14.200 align:middle line:84%
I'll show you a
quote where they say

00:09:14.200 --> 00:09:15.820 align:middle line:84%
they've solved an
NP complete problem,

00:09:15.820 --> 00:09:17.470 align:middle line:84%
but it's in the
same sense that you

00:09:17.470 --> 00:09:21.190 align:middle line:84%
can solve any exponential
problem by brute force.

00:09:21.190 --> 00:09:23.080 align:middle line:84%
That's not really
finessing it out

00:09:23.080 --> 00:09:26.860 align:middle line:84%
of NP and into P.
Genetic algorithms

00:09:26.860 --> 00:09:29.230 align:middle line:84%
and neural networks are
definitely heuristics.

00:09:29.230 --> 00:09:34.810 align:middle line:84%
They're beautifully inspired by
two of the greatest algorithms

00:09:34.810 --> 00:09:39.910 align:middle line:84%
in the history of life on
Earth and that is evolution

00:09:39.910 --> 00:09:44.200 align:middle line:90%
and complex brain networks.

00:09:44.200 --> 00:09:45.820 align:middle line:90%
And we'll get--

00:09:45.820 --> 00:09:48.130 align:middle line:84%
And so genetic
algorithms is based

00:09:48.130 --> 00:09:51.670 align:middle line:84%
on the adaptation that
occurs during evolution

00:09:51.670 --> 00:09:53.710 align:middle line:84%
and recombination
and mutagenesis.

00:09:53.710 --> 00:09:56.710 align:middle line:84%
And neural network is
also about adaptation,

00:09:56.710 --> 00:10:01.630 align:middle line:84%
but this is on the
time scale of learning.

00:10:01.630 --> 00:10:03.940 align:middle line:84%
So we'll first
dedicate ourselves

00:10:03.940 --> 00:10:09.040 align:middle line:84%
to molecular computing
and associated just kind

00:10:09.040 --> 00:10:12.530 align:middle line:84%
of put it in the context of
nanocomputing in general.

00:10:12.530 --> 00:10:15.460 align:middle line:84%
And you can see all the
issues in computing, not just

00:10:15.460 --> 00:10:18.440 align:middle line:90%
the math module.

00:10:18.440 --> 00:10:25.630 align:middle line:84%
So all the steps are assembly
of the requisite hardware.

00:10:25.630 --> 00:10:28.900 align:middle line:84%
This is some kind of factory
operation, typically.

00:10:28.900 --> 00:10:32.530 align:middle line:84%
Then there's some of input
module, some hardware

00:10:32.530 --> 00:10:35.260 align:middle line:84%
and software that's required
for getting the data in.

00:10:35.260 --> 00:10:37.000 align:middle line:84%
Then there's some
sort of memory.

00:10:37.000 --> 00:10:40.900 align:middle line:84%
And then there's a central
processor, might have math

00:10:40.900 --> 00:10:42.260 align:middle line:90%
components and output.

00:10:42.260 --> 00:10:46.780 align:middle line:84%
This is from our first lecture,
assembly input, memory process,

00:10:46.780 --> 00:10:48.442 align:middle line:90%
and output.

00:10:48.442 --> 00:10:49.900 align:middle line:84%
And what we want
to do with biology

00:10:49.900 --> 00:10:53.800 align:middle line:84%
is we want to harvest
things from genomics

00:10:53.800 --> 00:10:56.350 align:middle line:84%
and from just biological
research in general,

00:10:56.350 --> 00:11:00.250 align:middle line:84%
use to design better
computers either in silico

00:11:00.250 --> 00:11:03.980 align:middle line:84%
or in a biological,
biochemical sense.

00:11:03.980 --> 00:11:08.890 align:middle line:84%
And then, harness evolution,
either to make devices or as

00:11:08.890 --> 00:11:12.520 align:middle line:90%
part of algorithm development.

00:11:12.520 --> 00:11:19.990 align:middle line:84%
We have-- different people
have different opinions

00:11:19.990 --> 00:11:22.300 align:middle line:84%
about how much
longer Moore's law,

00:11:22.300 --> 00:11:29.200 align:middle line:84%
the scaling for large scale
integrated circuits or curves

00:11:29.200 --> 00:11:32.770 align:middle line:84%
files version that goes back to
1900s, about doubling every two

00:11:32.770 --> 00:11:40.190 align:middle line:84%
years, the ability to calculate,
calculations per second,

00:11:40.190 --> 00:11:41.743 align:middle line:90%
per 1,000 [INAUDIBLE].

00:11:41.743 --> 00:11:43.160 align:middle line:84%
There might be
another decade left

00:11:43.160 --> 00:11:47.720 align:middle line:84%
in the silicone, a large
scale integrated circuit.

00:11:47.720 --> 00:11:52.220 align:middle line:84%
That's what some people say,
or maybe more, maybe less.

00:11:52.220 --> 00:11:54.350 align:middle line:84%
So there are three
real options here

00:11:54.350 --> 00:12:04.280 align:middle line:84%
for that next step,
electronic nanocomputing,

00:12:04.280 --> 00:12:07.112 align:middle line:84%
optical nanocomputing,
molecular nanocomputing

00:12:07.112 --> 00:12:09.320 align:middle line:84%
and you could add to this
quantum computing, so maybe

00:12:09.320 --> 00:12:11.957 align:middle line:84%
four different options
for beating Moore's law

00:12:11.957 --> 00:12:13.415 align:middle line:84%
or extending Moore's
law, depending

00:12:13.415 --> 00:12:15.060 align:middle line:90%
on how you look at it.

00:12:15.060 --> 00:12:17.870 align:middle line:84%
So let's just walk through
them quickly, one at a time.

00:12:17.870 --> 00:12:22.130 align:middle line:84%
Optical computing you can
think of as already here

00:12:22.130 --> 00:12:25.250 align:middle line:84%
in a sense in that our
optical fiber networks have

00:12:25.250 --> 00:12:27.830 align:middle line:84%
very fast switches
that are required

00:12:27.830 --> 00:12:30.545 align:middle line:84%
for a good deal of
our fastest internet.

00:12:30.545 --> 00:12:33.290 align:middle line:90%


00:12:33.290 --> 00:12:34.910 align:middle line:84%
And there are various
demonstrations

00:12:34.910 --> 00:12:38.060 align:middle line:84%
where you can do optical
computing for many

00:12:38.060 --> 00:12:41.690 align:middle line:84%
of the tasks, not just
the data transfer.

00:12:41.690 --> 00:12:44.690 align:middle line:84%
And just like many
other things, there's

00:12:44.690 --> 00:12:47.300 align:middle line:84%
a desire to shrink
this down for cost

00:12:47.300 --> 00:12:48.870 align:middle line:90%
of manufacturing and quality.

00:12:48.870 --> 00:12:50.310 align:middle line:90%
And so forth.

00:12:50.310 --> 00:12:57.080 align:middle line:84%
The advantages of optical over
electronic, typical computers

00:12:57.080 --> 00:13:03.080 align:middle line:84%
is that they are, for a
given set of operations,

00:13:03.080 --> 00:13:04.820 align:middle line:84%
there's the general
sentiment that it

00:13:04.820 --> 00:13:08.270 align:middle line:90%
might be lower heat generation.

00:13:08.270 --> 00:13:12.230 align:middle line:84%
It goes at the speed
of light, rather than

00:13:12.230 --> 00:13:13.910 align:middle line:84%
the slightly lower
than speed of light

00:13:13.910 --> 00:13:17.660 align:middle line:84%
that typically comes into
actual implementations

00:13:17.660 --> 00:13:19.340 align:middle line:90%
in electronic circuits.

00:13:19.340 --> 00:13:24.440 align:middle line:84%
And here's two examples taken
from the literature of getting

00:13:24.440 --> 00:13:27.200 align:middle line:84%
natural sort of
self-assembly, just

00:13:27.200 --> 00:13:29.060 align:middle line:84%
as we've seen in many
biological systems,

00:13:29.060 --> 00:13:31.610 align:middle line:84%
we get self-assembly of
membranes, self-assembly

00:13:31.610 --> 00:13:34.070 align:middle line:90%
of multi-protein complexes.

00:13:34.070 --> 00:13:38.930 align:middle line:84%
Here you have, you want to
make particular kind of size

00:13:38.930 --> 00:13:46.340 align:middle line:84%
of optical particles that
have the right rank of index

00:13:46.340 --> 00:13:48.210 align:middle line:84%
and spacing and
shape and so forth.

00:13:48.210 --> 00:13:52.130 align:middle line:84%
And you can use self-assembly
here for that thing.

00:13:52.130 --> 00:13:56.510 align:middle line:84%
These are examples of where
we're getting in the nanometer

00:13:56.510 --> 00:13:57.020 align:middle line:90%
range here.

00:13:57.020 --> 00:13:59.960 align:middle line:84%
This is a 5 micron
scale object here.

00:13:59.960 --> 00:14:06.070 align:middle line:90%


00:14:06.070 --> 00:14:07.880 align:middle line:84%
I've chosen this
particular example,

00:14:07.880 --> 00:14:12.670 align:middle line:84%
there are a number of examples
of electronic nanocomputing

00:14:12.670 --> 00:14:16.960 align:middle line:84%
where the electronics is getting
down to the size of molecules.

00:14:16.960 --> 00:14:19.990 align:middle line:84%
Here the molecule
chosen is a polymer

00:14:19.990 --> 00:14:23.380 align:middle line:84%
of carbon, not a
hydrocarbon, but carbon.

00:14:23.380 --> 00:14:26.320 align:middle line:84%
It's like the buckyballs
which is carbon-60

00:14:26.320 --> 00:14:29.650 align:middle line:84%
or graphite rolled up in
the tubes, these nanotubes,

00:14:29.650 --> 00:14:35.560 align:middle line:84%
can be used as transistor like
elements in very tiny circuits.

00:14:35.560 --> 00:14:37.180 align:middle line:90%
This is just a schematic.

00:14:37.180 --> 00:14:39.950 align:middle line:84%
This isn't actually
a micrograph, right.

00:14:39.950 --> 00:14:41.650 align:middle line:84%
And here are four
circuits that kind of

00:14:41.650 --> 00:14:44.200 align:middle line:84%
reflect what might
be your first four

00:14:44.200 --> 00:14:49.120 align:middle line:84%
projects in an introductory
electronics course,

00:14:49.120 --> 00:14:51.880 align:middle line:84%
ignoring the fact that you
might not use nanotubes.

00:14:51.880 --> 00:14:55.930 align:middle line:84%
But you would have voltage
in and voltage out.

00:14:55.930 --> 00:14:58.630 align:middle line:84%
In other words, this is
a transistor like circuit

00:14:58.630 --> 00:15:01.570 align:middle line:84%
or an inverter like circuit
in the upper left hand

00:15:01.570 --> 00:15:03.070 align:middle line:90%
corner of slide 10.

00:15:03.070 --> 00:15:07.960 align:middle line:84%
And the nanotube here is
in the middle in series

00:15:07.960 --> 00:15:11.050 align:middle line:84%
with a resistor going from
high voltage to the ground

00:15:11.050 --> 00:15:15.220 align:middle line:84%
at the lower part and the
voltage in essentially

00:15:15.220 --> 00:15:18.230 align:middle line:84%
modulates the voltage out
in the nonlinear curve.

00:15:18.230 --> 00:15:21.268 align:middle line:84%
And you can see this highly
cooperative curve just

00:15:21.268 --> 00:15:22.810 align:middle line:84%
like the ones that
we've been talking

00:15:22.810 --> 00:15:25.570 align:middle line:84%
about in a number of other
biological and physical

00:15:25.570 --> 00:15:27.290 align:middle line:90%
systems.

00:15:27.290 --> 00:15:29.380 align:middle line:84%
The upper right,
you have a NOR gate.

00:15:29.380 --> 00:15:32.680 align:middle line:84%
Almost every circuit can be
made by combinations simply

00:15:32.680 --> 00:15:39.250 align:middle line:84%
by [? not ?] [? OARS. ?] This is
an inverter plus an [? OAR. ?]

00:15:39.250 --> 00:15:43.150 align:middle line:84%
And so you can see that there
now have two inputs on the left

00:15:43.150 --> 00:15:44.710 align:middle line:90%
and right in 1 and 2.

00:15:44.710 --> 00:15:47.460 align:middle line:84%
And they can have
states 1-1, 1-0, 0-1,

00:15:47.460 --> 00:15:50.030 align:middle line:90%
0-0, going from left to right.

00:15:50.030 --> 00:15:51.550 align:middle line:84%
And you can see
only when they're

00:15:51.550 --> 00:15:56.050 align:middle line:84%
both 0, does the whole circuit
now, output go down to 0

00:15:56.050 --> 00:15:58.310 align:middle line:90%
for low voltage for output.

00:15:58.310 --> 00:16:02.110 align:middle line:84%
So input, the three
possible input combinations

00:16:02.110 --> 00:16:03.988 align:middle line:84%
and the last one
gets the [? low. ?]

00:16:03.988 --> 00:16:05.530 align:middle line:84%
And this is all done
this is all done

00:16:05.530 --> 00:16:10.030 align:middle line:84%
with these kind of
molecular scale nanotubes.

00:16:10.030 --> 00:16:13.790 align:middle line:84%
Here's a RAM, required two
nanotubes in order to store,

00:16:13.790 --> 00:16:18.670 align:middle line:84%
whether it's either where you
flip it from open to flip it

00:16:18.670 --> 00:16:21.040 align:middle line:90%
from low to high.

00:16:21.040 --> 00:16:22.940 align:middle line:84%
And the last example,
in the lower right,

00:16:22.940 --> 00:16:24.160 align:middle line:90%
you now need 3 nanotubes.

00:16:24.160 --> 00:16:27.310 align:middle line:84%
You see, we worked our way up
in complexity from 1 to 2 to 3.

00:16:27.310 --> 00:16:30.100 align:middle line:84%
And you need 3 in order to
get a ring oscillator use.

00:16:30.100 --> 00:16:32.160 align:middle line:84%
I mean, that's the way
you would think about.

00:16:32.160 --> 00:16:33.535 align:middle line:84%
Most easily think
about it, where

00:16:33.535 --> 00:16:38.600 align:middle line:84%
we have the first one's output
affecting the second one.

00:16:38.600 --> 00:16:40.600 align:middle line:84%
The second one affecting
the third and third one

00:16:40.600 --> 00:16:41.890 align:middle line:90%
looping back to the first.

00:16:41.890 --> 00:16:44.890 align:middle line:84%
And the result of this
as you get a series

00:16:44.890 --> 00:16:47.380 align:middle line:84%
of peaks and troughs
here, which you

00:16:47.380 --> 00:16:50.080 align:middle line:84%
used for synchronizing
circuits or generating

00:16:50.080 --> 00:16:55.450 align:middle line:84%
other useful
sinusoidal processes.

00:16:55.450 --> 00:17:00.040 align:middle line:90%
Now that's one example--

00:17:00.040 --> 00:17:01.810 align:middle line:90%
so the optical electronic.

00:17:01.810 --> 00:17:05.119 align:middle line:84%
Molecular includes a number
of different possibilities,

00:17:05.119 --> 00:17:08.680 align:middle line:84%
including DNA which is what
we'll focus on, DNA computing.

00:17:08.680 --> 00:17:11.740 align:middle line:84%
And this was
started by a person,

00:17:11.740 --> 00:17:15.490 align:middle line:84%
a physicist famous for thinking
out of the box quite a bit.

00:17:15.490 --> 00:17:18.970 align:middle line:84%
Feynman in 1959, when he
was still fairly young,

00:17:18.970 --> 00:17:22.869 align:middle line:84%
gave a talk entitled There's
Plenty of Room at the Bottom.

00:17:22.869 --> 00:17:26.109 align:middle line:84%
And by that he
meant that we can--

00:17:26.109 --> 00:17:32.350 align:middle line:84%
just as we can machine
and manufacture objects

00:17:32.350 --> 00:17:36.430 align:middle line:84%
under fairly
automated fashion, we

00:17:36.430 --> 00:17:39.580 align:middle line:84%
should be able to scale
that down to the point

00:17:39.580 --> 00:17:41.350 align:middle line:84%
where we're manipulating
individual atoms.

00:17:41.350 --> 00:17:45.145 align:middle line:84%
And he couldn't think
of any physical reason,

00:17:45.145 --> 00:17:47.020 align:middle line:84%
such as the uncertainty
principle or anything

00:17:47.020 --> 00:17:49.103 align:middle line:84%
like that, that would
prevent one from doing that,

00:17:49.103 --> 00:17:50.620 align:middle line:90%
manipulating individual atoms.

00:17:50.620 --> 00:17:53.290 align:middle line:84%
And many years later now, he's
been proven right and that

00:17:53.290 --> 00:17:57.700 align:middle line:84%
we are doing that, albeit not
in any really high production

00:17:57.700 --> 00:17:59.650 align:middle line:90%
method.

00:17:59.650 --> 00:18:02.200 align:middle line:84%
Drexler and his thesis
and subsequently

00:18:02.200 --> 00:18:07.280 align:middle line:84%
has championed, is probably
the right word, this notion

00:18:07.280 --> 00:18:11.140 align:middle line:84%
and given it the name
nanotechnology and nanosystems

00:18:11.140 --> 00:18:13.510 align:middle line:84%
and really fleshed
out some of the things

00:18:13.510 --> 00:18:15.220 align:middle line:84%
that one might be
able to do if you

00:18:15.220 --> 00:18:20.140 align:middle line:84%
had a much higher throughput way
of dealing with manufacturing

00:18:20.140 --> 00:18:21.760 align:middle line:90%
at atomic scale.

00:18:21.760 --> 00:18:25.780 align:middle line:84%
However, even he did not
really connect all the dots

00:18:25.780 --> 00:18:28.480 align:middle line:84%
between where we are
now and where and how we

00:18:28.480 --> 00:18:31.330 align:middle line:84%
get to the very
first nano-assemblers

00:18:31.330 --> 00:18:33.923 align:middle line:90%
and nanotechnology.

00:18:33.923 --> 00:18:36.340 align:middle line:84%
Since then, there's been kind
of a Renaissance of interest

00:18:36.340 --> 00:18:40.310 align:middle line:84%
in this with a recognition that
biological systems actually

00:18:40.310 --> 00:18:46.660 align:middle line:84%
are naturally doing nanotech
scale, atomic manipulations.

00:18:46.660 --> 00:18:50.890 align:middle line:84%
And you've seen a few examples
of that in this course.

00:18:50.890 --> 00:18:56.650 align:middle line:84%
But the particular instance
that we'll use as a jumping off

00:18:56.650 --> 00:19:00.490 align:middle line:84%
point for discussion
of all the steps

00:19:00.490 --> 00:19:06.530 align:middle line:84%
that could be where biology
and molecular mining

00:19:06.530 --> 00:19:09.650 align:middle line:84%
could give us new
tools, whether it's

00:19:09.650 --> 00:19:16.430 align:middle line:84%
from assembly inputs,
memory computation output.

00:19:16.430 --> 00:19:25.670 align:middle line:84%
We'll start with Len Adleman's
pace changing paper in 1994.

00:19:25.670 --> 00:19:32.310 align:middle line:84%
This is the A of the RSA that we
talked about a few minutes ago.

00:19:32.310 --> 00:19:40.080 align:middle line:84%
He was obviously a hardcore
and is algorithmics expert

00:19:40.080 --> 00:19:45.420 align:middle line:84%
and decided in
1994 to actually do

00:19:45.420 --> 00:19:47.760 align:middle line:84%
a paper that required
not only algorithmic,

00:19:47.760 --> 00:19:51.120 align:middle line:84%
but a huge change in the way
you implemented the algorithms.

00:19:51.120 --> 00:19:52.980 align:middle line:84%
And then actually
to go into the lab

00:19:52.980 --> 00:19:55.320 align:middle line:84%
into a biochemical
laboratory which

00:19:55.320 --> 00:19:59.130 align:middle line:90%
he was not previously trained.

00:19:59.130 --> 00:20:02.730 align:middle line:84%
And to author-- it's a
single author paper that

00:20:02.730 --> 00:20:04.650 align:middle line:90%
included such things as PCR.

00:20:04.650 --> 00:20:05.760 align:middle line:90%
That was in 1994.

00:20:05.760 --> 00:20:09.630 align:middle line:84%
There was no literature on
the subject of DNA computers

00:20:09.630 --> 00:20:10.740 align:middle line:90%
before that.

00:20:10.740 --> 00:20:13.650 align:middle line:84%
A mere six years later,
there were 520 references

00:20:13.650 --> 00:20:14.320 align:middle line:90%
on the subject.

00:20:14.320 --> 00:20:17.160 align:middle line:84%
So he obviously hit
some kind of nerve.

00:20:17.160 --> 00:20:19.140 align:middle line:84%
The first few years
of that after that

00:20:19.140 --> 00:20:20.490 align:middle line:90%
were mainly theoretical.

00:20:20.490 --> 00:20:22.260 align:middle line:90%
But I'll show you some examples.

00:20:22.260 --> 00:20:26.790 align:middle line:84%
His paper had an experimental
component, and some others

00:20:26.790 --> 00:20:29.010 align:middle line:90%
that I'll show you.

00:20:29.010 --> 00:20:31.860 align:middle line:84%
Since this course is really
about that interface,

00:20:31.860 --> 00:20:35.580 align:middle line:84%
constantly checking the
theory with reality,

00:20:35.580 --> 00:20:38.170 align:middle line:84%
those are the ones that
I'll emphasize here.

00:20:38.170 --> 00:20:42.420 align:middle line:84%
So the question that he asked
in 1994 and is still fresh today

00:20:42.420 --> 00:20:45.540 align:middle line:84%
is, is there a Hamiltonian
path through all the nodes

00:20:45.540 --> 00:20:46.900 align:middle line:90%
in a network?

00:20:46.900 --> 00:20:50.250 align:middle line:84%
So we've been talking about
interesting biological

00:20:50.250 --> 00:20:50.760 align:middle line:90%
networks.

00:20:50.760 --> 00:20:52.890 align:middle line:84%
But here, just in
any network where

00:20:52.890 --> 00:20:57.960 align:middle line:84%
the black nodes are
connected by directed edges

00:20:57.960 --> 00:20:59.700 align:middle line:90%
in this directed graph.

00:20:59.700 --> 00:21:03.210 align:middle line:84%
You want to go from the
start, S, to the terminus T,

00:21:03.210 --> 00:21:07.200 align:middle line:84%
from 1 to 6, obeying the arrows
and going through every point

00:21:07.200 --> 00:21:09.120 align:middle line:90%
once.

00:21:09.120 --> 00:21:10.980 align:middle line:90%
How do you do this?

00:21:10.980 --> 00:21:13.140 align:middle line:90%
And how do you do it in DNA?

00:21:13.140 --> 00:21:16.850 align:middle line:84%
So an example of one here
is going from S to 3 to 5

00:21:16.850 --> 00:21:21.240 align:middle line:90%
to 2 to 4 to T.

00:21:21.240 --> 00:21:24.705 align:middle line:84%
So the way you do it,
first in broad strokes,

00:21:24.705 --> 00:21:29.700 align:middle line:84%
you encode the graph, both
the nodes, black spots,

00:21:29.700 --> 00:21:33.780 align:middle line:84%
and the edges into
single-stranded DNA sequences.

00:21:33.780 --> 00:21:37.140 align:middle line:84%
Then you create
all possible paths

00:21:37.140 --> 00:21:39.510 align:middle line:84%
as by using
overlapping sequences

00:21:39.510 --> 00:21:44.310 align:middle line:84%
to indicate which node is
connected to which other node

00:21:44.310 --> 00:21:46.660 align:middle line:90%
by an edge in which direction.

00:21:46.660 --> 00:21:49.170 align:middle line:84%
So you can actually have
directionality, just

00:21:49.170 --> 00:21:52.050 align:middle line:90%
because DNA has directionality.

00:21:52.050 --> 00:21:55.440 align:middle line:84%
And you use DNA hybridization
now to do that step.

00:21:55.440 --> 00:21:57.450 align:middle line:90%
Now, the first step is linear.

00:21:57.450 --> 00:21:59.400 align:middle line:84%
Encoding the graph is
linear with the number

00:21:59.400 --> 00:22:02.430 align:middle line:84%
of points in the graph,
the number of places

00:22:02.430 --> 00:22:05.980 align:middle line:90%
in the Hamiltonian path.

00:22:05.980 --> 00:22:07.500 align:middle line:84%
The second step
is not something--

00:22:07.500 --> 00:22:11.400 align:middle line:84%
and that you would do by having
your computer program a DNA

00:22:11.400 --> 00:22:14.010 align:middle line:84%
synthesizer which is an
automated machine that we've

00:22:14.010 --> 00:22:17.760 align:middle line:90%
described a couple of times.

00:22:17.760 --> 00:22:20.560 align:middle line:84%
But the second step
is out of your hands.

00:22:20.560 --> 00:22:26.370 align:middle line:84%
This is something that happens
automatically when you put DNA

00:22:26.370 --> 00:22:27.500 align:middle line:90%
in the solution.

00:22:27.500 --> 00:22:29.640 align:middle line:84%
If you design these
sequences carefully

00:22:29.640 --> 00:22:31.530 align:middle line:84%
so they don't cross
hybridize very much,

00:22:31.530 --> 00:22:33.150 align:middle line:84%
then the only way
they can assemble

00:22:33.150 --> 00:22:35.760 align:middle line:90%
is the way you want it.

00:22:35.760 --> 00:22:38.160 align:middle line:84%
Then, you finally determine
where the solution exists,

00:22:38.160 --> 00:22:42.490 align:middle line:84%
and this is something which is
almost constant in complexity.

00:22:42.490 --> 00:22:45.240 align:middle line:84%
So the entire thing
scales very gracefully

00:22:45.240 --> 00:22:49.415 align:middle line:84%
instead of scaling exponentially
as the Hamiltonian path problem

00:22:49.415 --> 00:22:50.040 align:middle line:90%
normally would.

00:22:50.040 --> 00:22:55.080 align:middle line:84%
This gives the appearance of
scaling linearly in time, which

00:22:55.080 --> 00:22:58.920 align:middle line:84%
is really one of the best case
scenarios for polynomial time

00:22:58.920 --> 00:23:01.050 align:middle line:84%
and certainly better
than exponential.

00:23:01.050 --> 00:23:02.370 align:middle line:90%
So how do we actually do that?

00:23:02.370 --> 00:23:03.250 align:middle line:90%
That was broad strokes.

00:23:03.250 --> 00:23:04.458 align:middle line:90%
This is a more detailed view.

00:23:04.458 --> 00:23:07.500 align:middle line:84%
And you can see how this really
seems like it's going to work.

00:23:07.500 --> 00:23:14.070 align:middle line:84%
You have each of the nodes
encoded by sequences,

00:23:14.070 --> 00:23:19.950 align:middle line:84%
let's say, red and tan here
on the top left of slide 14.

00:23:19.950 --> 00:23:25.680 align:middle line:84%
And you have, if you want to
connect node 3 with node 4,

00:23:25.680 --> 00:23:29.370 align:middle line:84%
so that you take the right
hand in, the 3 prime end which

00:23:29.370 --> 00:23:31.050 align:middle line:90%
is sorta greenish tan.

00:23:31.050 --> 00:23:35.160 align:middle line:84%
And you connect it now
to the other end of,

00:23:35.160 --> 00:23:37.800 align:middle line:84%
that is to say the 5
prime end of node 4

00:23:37.800 --> 00:23:39.300 align:middle line:90%
just below it, which is blue.

00:23:39.300 --> 00:23:42.970 align:middle line:84%
So now you have this
hybrid which is ordered.

00:23:42.970 --> 00:23:46.590 align:middle line:84%
So it's an arrow
going from 3 to 4

00:23:46.590 --> 00:23:49.320 align:middle line:84%
and that edge has this
particular sequence

00:23:49.320 --> 00:23:50.820 align:middle line:90%
going from 5 prime to 3 prime.

00:23:50.820 --> 00:23:54.000 align:middle line:84%
Now, in practice, you want the
edges to be complementary, not

00:23:54.000 --> 00:23:55.505 align:middle line:90%
identical to the nodes.

00:23:55.505 --> 00:23:56.880 align:middle line:84%
And so all the
nodes are actually

00:23:56.880 --> 00:24:00.420 align:middle line:84%
represented as reverse
sequences in the lower left hand

00:24:00.420 --> 00:24:02.940 align:middle line:90%
part of slide 14.

00:24:02.940 --> 00:24:07.230 align:middle line:84%
And so represent all the
edges that connect nodes

00:24:07.230 --> 00:24:09.150 align:middle line:90%
in this directional manner.

00:24:09.150 --> 00:24:13.590 align:middle line:84%
And then an example of
how you would connect

00:24:13.590 --> 00:24:19.380 align:middle line:84%
three nodes, 3 to 4 to 5 by two
connecting directional edges,

00:24:19.380 --> 00:24:21.720 align:middle line:90%
3, 4, 4, 5 is shown here.

00:24:21.720 --> 00:24:24.720 align:middle line:84%
All the nodes are in
reverse compliments

00:24:24.720 --> 00:24:28.170 align:middle line:84%
and all the edges are
in the forward direction

00:24:28.170 --> 00:24:30.120 align:middle line:90%
as arbitrarily defined here.

00:24:30.120 --> 00:24:32.610 align:middle line:84%
And you can see how they
stitch these together

00:24:32.610 --> 00:24:36.270 align:middle line:84%
and you make firm connections
that are unambiguous,

00:24:36.270 --> 00:24:40.980 align:middle line:84%
non cross-reacting and have
a direct directionality.

00:24:40.980 --> 00:24:43.920 align:middle line:84%
Now that you are starting
to get the idea that now we

00:24:43.920 --> 00:24:45.335 align:middle line:90%
can encode this in DNA.

00:24:45.335 --> 00:24:47.460 align:middle line:84%
But how are we going to
actually do the computation

00:24:47.460 --> 00:24:51.480 align:middle line:84%
and how are we going to
find out who the winner is?

00:24:51.480 --> 00:24:56.610 align:middle line:84%
So what is done, remember, we
want to create all the paths

00:24:56.610 --> 00:25:00.100 align:middle line:84%
and then to ask whether any of
them go through all the points?

00:25:00.100 --> 00:25:02.280 align:middle line:84%
And then do any of them
go through all the points

00:25:02.280 --> 00:25:03.610 align:middle line:90%
exactly once?

00:25:03.610 --> 00:25:06.690 align:middle line:84%
So the first thing is to
create all the paths from start

00:25:06.690 --> 00:25:08.460 align:middle line:90%
to terminus.

00:25:08.460 --> 00:25:10.680 align:middle line:84%
And by just throwing
in this mixture

00:25:10.680 --> 00:25:13.300 align:middle line:84%
of all the edges
and all the nodes,

00:25:13.300 --> 00:25:16.020 align:middle line:84%
you will create in
principle all the paths.

00:25:16.020 --> 00:25:20.610 align:middle line:84%
Now you want to write, you
will go from the prefix of one

00:25:20.610 --> 00:25:23.610 align:middle line:84%
into the suffix of the other in
the same way that illustrated

00:25:23.610 --> 00:25:25.570 align:middle line:90%
on the previous slide.

00:25:25.570 --> 00:25:27.600 align:middle line:84%
And here are some examples
of some of the paths,

00:25:27.600 --> 00:25:28.710 align:middle line:90%
some are very short.

00:25:28.710 --> 00:25:31.980 align:middle line:84%
This only goes
through the 1, 2 4, 6,

00:25:31.980 --> 00:25:34.930 align:middle line:84%
only goes through 4 the nodes,
that's not all 6 of them.

00:25:34.930 --> 00:25:37.500 align:middle line:84%
The bottom one goes through
too many nodes and some of them

00:25:37.500 --> 00:25:39.810 align:middle line:90%
it's going through repetitively.

00:25:39.810 --> 00:25:42.953 align:middle line:84%
But you get the idea is that
you can define the path in terms

00:25:42.953 --> 00:25:44.370 align:middle line:84%
of all these edges
and the reverse

00:25:44.370 --> 00:25:47.280 align:middle line:84%
complements which
represent the nodes.

00:25:47.280 --> 00:25:50.850 align:middle line:84%
But here's the actual
algorithm as encoded in DNA

00:25:50.850 --> 00:25:54.690 align:middle line:84%
and implemented by
practical methods

00:25:54.690 --> 00:26:00.450 align:middle line:84%
that a computer scientist
can do without too much help,

00:26:00.450 --> 00:26:03.390 align:middle line:84%
at least not enough help
required for co-authorship.

00:26:03.390 --> 00:26:08.800 align:middle line:84%
So we've already encoded the
graphs in the DNA sequences.

00:26:08.800 --> 00:26:11.760 align:middle line:84%
And this is done by automated
oligonucleotide synthesis.

00:26:11.760 --> 00:26:15.870 align:middle line:84%
You create all the paths from
ST by PCR amplifying from the S

00:26:15.870 --> 00:26:18.270 align:middle line:90%
end of the oligo to the T end.

00:26:18.270 --> 00:26:20.790 align:middle line:84%
So that means, the mere
fact that they PCR amplify

00:26:20.790 --> 00:26:25.210 align:middle line:84%
means they must contain node 1
and 6, the start of terminus.

00:26:25.210 --> 00:26:26.100 align:middle line:90%
So that's good.

00:26:26.100 --> 00:26:28.620 align:middle line:84%
Now, you want to get the
ones that visit every node,

00:26:28.620 --> 00:26:34.710 align:middle line:84%
so by serial hybridization, you
can have nodes 2, 3, 4 and 5

00:26:34.710 --> 00:26:35.760 align:middle line:90%
immobilized.

00:26:35.760 --> 00:26:39.810 align:middle line:84%
And you bind the PCR products
to it, and you'll loop from 2

00:26:39.810 --> 00:26:43.080 align:middle line:84%
and then in series you bind
to 3, loop from 3, bind to 4,

00:26:43.080 --> 00:26:44.130 align:middle line:90%
loop for 4, 5.

00:26:44.130 --> 00:26:47.400 align:middle line:84%
So now you know it has 1 in 6
because that's the PCR primers.

00:26:47.400 --> 00:26:49.530 align:middle line:84%
It has 2, 3, 4 and 5
because it balances them

00:26:49.530 --> 00:26:52.260 align:middle line:90%
in series by hybridization.

00:26:52.260 --> 00:26:55.260 align:middle line:84%
Then, but that,
you could get some

00:26:55.260 --> 00:27:00.150 align:middle line:84%
of those long paths that
went through multiple nodes

00:27:00.150 --> 00:27:00.900 align:middle line:90%
multiple times.

00:27:00.900 --> 00:27:02.683 align:middle line:84%
If you want it to
have exactly N nodes,

00:27:02.683 --> 00:27:04.850 align:middle line:84%
then what you do is sort
of of electric [? thread ?]

00:27:04.850 --> 00:27:12.450 align:middle line:84%
[? excising. ?] And here if
you have a calibration curve

00:27:12.450 --> 00:27:14.100 align:middle line:84%
as shown on the
bottom of slide 16,

00:27:14.100 --> 00:27:20.310 align:middle line:84%
we have known DNA size markers
and known PCR products going,

00:27:20.310 --> 00:27:27.540 align:middle line:84%
showing you have one of
these DNA nodes, 2, 3,

00:27:27.540 --> 00:27:28.710 align:middle line:90%
all the way up to 6.

00:27:28.710 --> 00:27:32.130 align:middle line:84%
And if you find a solution
that has all these properties,

00:27:32.130 --> 00:27:35.250 align:middle line:84%
PCRs, does serial
hybridization to all the nodes

00:27:35.250 --> 00:27:40.290 align:middle line:84%
and is the right length,
such as the one in column 6,

00:27:40.290 --> 00:27:42.760 align:middle line:84%
then you know you've
got a solution.

00:27:42.760 --> 00:27:45.310 align:middle line:84%
And that was Len
Adleman's argument

00:27:45.310 --> 00:27:48.430 align:middle line:84%
that he had DNA
computing working.

00:27:48.430 --> 00:27:52.370 align:middle line:84%
Six years later, we now have,
or as of six years later,

00:27:52.370 --> 00:27:57.490 align:middle line:84%
there were now over
500 examples of this.

00:27:57.490 --> 00:28:02.440 align:middle line:84%
I'll show you this example
as both as an introduction

00:28:02.440 --> 00:28:05.560 align:middle line:84%
to the satisfiability
problem and also

00:28:05.560 --> 00:28:08.320 align:middle line:84%
as showing that you
can do RNA computing

00:28:08.320 --> 00:28:12.910 align:middle line:84%
and that you can encode
two-dimensional objects

00:28:12.910 --> 00:28:14.690 align:middle line:84%
and it illustrates
a number of things.

00:28:14.690 --> 00:28:17.520 align:middle line:84%
The problem here is a test
problem, very simple test

00:28:17.520 --> 00:28:18.020 align:middle line:90%
board.

00:28:18.020 --> 00:28:20.950 align:middle line:90%
It's not 8 by 8, but 3 by 3.

00:28:20.950 --> 00:28:25.010 align:middle line:84%
And you've got an artificial
number of knights here.

00:28:25.010 --> 00:28:26.830 align:middle line:84%
And those of you
who know chess know

00:28:26.830 --> 00:28:30.730 align:middle line:84%
that these knights can attack
in a curious combination

00:28:30.730 --> 00:28:32.140 align:middle line:90%
of straight and diagonal.

00:28:32.140 --> 00:28:33.350 align:middle line:90%
And it doesn't really matter.

00:28:33.350 --> 00:28:37.030 align:middle line:84%
The point is there are a
variety of arrangements

00:28:37.030 --> 00:28:40.060 align:middle line:84%
of any number of knights
such that none of them

00:28:40.060 --> 00:28:42.310 align:middle line:84%
can attack each other and
they're all kind of at peace

00:28:42.310 --> 00:28:43.240 align:middle line:90%
here.

00:28:43.240 --> 00:28:45.850 align:middle line:84%
And that the object
of this algorithm

00:28:45.850 --> 00:28:48.130 align:middle line:90%
is to find those combinations.

00:28:48.130 --> 00:28:51.070 align:middle line:84%
And here's-- and you
do it by cloning.

00:28:51.070 --> 00:28:54.640 align:middle line:84%
So that was something that was
not in the previous example.

00:28:54.640 --> 00:28:56.830 align:middle line:84%
By cloning, you can find
each of the solutions.

00:28:56.830 --> 00:28:59.620 align:middle line:84%
And you then determine
what is present

00:28:59.620 --> 00:29:01.060 align:middle line:90%
and sits along that clone.

00:29:01.060 --> 00:29:05.470 align:middle line:84%
It's kind of like haplotyping
or splice form analysis.

00:29:05.470 --> 00:29:07.690 align:middle line:84%
You can really only
analyze these things

00:29:07.690 --> 00:29:10.515 align:middle line:84%
by looking at the product
of a single molecule.

00:29:10.515 --> 00:29:11.890 align:middle line:84%
And that's what
cloning is about,

00:29:11.890 --> 00:29:14.650 align:middle line:84%
looking at, amplifying that
single molecule up to the point

00:29:14.650 --> 00:29:16.130 align:middle line:90%
where you can analyze it.

00:29:16.130 --> 00:29:17.680 align:middle line:90%
So that's one thing that's new.

00:29:17.680 --> 00:29:21.610 align:middle line:84%
The other thing is new, is
you start with an RNA in order

00:29:21.610 --> 00:29:25.520 align:middle line:84%
that you can use this powerful
method, this enzyme called

00:29:25.520 --> 00:29:28.270 align:middle line:84%
RNase H which will--
it has a property

00:29:28.270 --> 00:29:31.270 align:middle line:84%
that when you bind a
DNA oligonucleotide

00:29:31.270 --> 00:29:36.280 align:middle line:84%
to an RNA and their
complementary RNase H

00:29:36.280 --> 00:29:40.640 align:middle line:84%
will destroy the
RNA at that point,

00:29:40.640 --> 00:29:41.930 align:middle line:90%
at the point of hybridization.

00:29:41.930 --> 00:29:45.710 align:middle line:84%
So it's a way of eliminating
an entire molecule

00:29:45.710 --> 00:29:48.350 align:middle line:84%
if it happens to have a
particular sequence in it.

00:29:48.350 --> 00:29:52.460 align:middle line:84%
And so one of the ways that
you can ask logical questions

00:29:52.460 --> 00:29:56.210 align:middle line:84%
about each molecule in a large
complex mixture of molecules

00:29:56.210 --> 00:29:58.700 align:middle line:90%
is using this RNase elimination.

00:29:58.700 --> 00:30:02.960 align:middle line:84%
And in a way, it's a way of
designing an infinite number

00:30:02.960 --> 00:30:04.190 align:middle line:90%
of restriction enzymes.

00:30:04.190 --> 00:30:07.370 align:middle line:84%
The RNase plus the
DNA oligonucleotide

00:30:07.370 --> 00:30:11.133 align:middle line:84%
provides in a certain sense,
a custom restriction enzyme.

00:30:11.133 --> 00:30:12.800 align:middle line:84%
Any case, the other
thing that's unusual

00:30:12.800 --> 00:30:15.680 align:middle line:84%
here is the idea of using
split and pool oligonucleotide

00:30:15.680 --> 00:30:16.460 align:middle line:90%
synthesis.

00:30:16.460 --> 00:30:19.040 align:middle line:84%
We introduced this
in the lecture

00:30:19.040 --> 00:30:27.230 align:middle line:84%
where we were introducing drug
protein interaction and ways

00:30:27.230 --> 00:30:31.790 align:middle line:84%
of synthesizing drugs and other
molecules by Poole synthesis.

00:30:31.790 --> 00:30:36.950 align:middle line:84%
And the idea behind split Poole
synthesis in this case is that

00:30:36.950 --> 00:30:42.020 align:middle line:84%
each of the squares in this 3
by 3 matrix can have two states,

00:30:42.020 --> 00:30:43.790 align:middle line:84%
either has a knight
or it doesn't.

00:30:43.790 --> 00:30:46.670 align:middle line:84%
Each of those two states,
you can consider a 0 or 1.

00:30:46.670 --> 00:30:49.900 align:middle line:84%
You can represent them as
two different sequences.

00:30:49.900 --> 00:30:53.870 align:middle line:84%
Sequence A or sequence A
prime, representing presence

00:30:53.870 --> 00:30:55.380 align:middle line:90%
or absence of something.

00:30:55.380 --> 00:30:58.400 align:middle line:90%
And so you basically have 2--

00:30:58.400 --> 00:31:02.000 align:middle line:84%
you have 8 squares
and so you have 2

00:31:02.000 --> 00:31:03.810 align:middle line:84%
to the 9th different
possibilities.

00:31:03.810 --> 00:31:09.470 align:middle line:84%
And so down below they
synthesized a set of polymers

00:31:09.470 --> 00:31:13.250 align:middle line:84%
where you have every possible
binary state for this 3

00:31:13.250 --> 00:31:15.560 align:middle line:90%
by 3 grid.

00:31:15.560 --> 00:31:17.730 align:middle line:84%
And that's done by--
you're synthesizing along

00:31:17.730 --> 00:31:19.730 align:middle line:84%
and you come to where
you're going to synthesize

00:31:19.730 --> 00:31:20.720 align:middle line:90%
either A or A prime.

00:31:20.720 --> 00:31:21.830 align:middle line:90%
You split it.

00:31:21.830 --> 00:31:25.430 align:middle line:84%
Half of this pool gets a A. Half
of it gets sequence A prime.

00:31:25.430 --> 00:31:28.720 align:middle line:84%
Pull back the other half
gets B, half gets B prime.

00:31:28.720 --> 00:31:30.470 align:middle line:84%
Pool them and split
them and C and C prime

00:31:30.470 --> 00:31:32.252 align:middle line:90%
and so forth, all the way out.

00:31:32.252 --> 00:31:33.710 align:middle line:84%
You really only
need nine of these.

00:31:33.710 --> 00:31:35.310 align:middle line:84%
They did 10 for some
reason or other.

00:31:35.310 --> 00:31:38.690 align:middle line:84%
But the point is to get
2 to the ninth power,

00:31:38.690 --> 00:31:39.740 align:middle line:90%
you need nine of these.

00:31:39.740 --> 00:31:41.873 align:middle line:90%
And then as you can--

00:31:41.873 --> 00:31:43.790 align:middle line:84%
then you can read them
out electrophoretically

00:31:43.790 --> 00:31:47.750 align:middle line:84%
just as the electrophoretic
readout gave a sizing

00:31:47.750 --> 00:31:51.470 align:middle line:84%
in the first DNA
computing, you can use

00:31:51.470 --> 00:31:53.360 align:middle line:90%
it to get the sizes of these.

00:31:53.360 --> 00:31:55.260 align:middle line:84%
And you can see--
you could read out--

00:31:55.260 --> 00:31:58.760 align:middle line:84%
Here's two solutions, BEFH
referring to the squares on a 3

00:31:58.760 --> 00:32:02.370 align:middle line:84%
by 3 grid and EFC, these
are both solutions.

00:32:02.370 --> 00:32:06.140 align:middle line:84%
BEFH, the way of
reading this off

00:32:06.140 --> 00:32:08.360 align:middle line:84%
this combinatorial
synthesis from the bottom

00:32:08.360 --> 00:32:13.370 align:middle line:84%
is you've got A through I as the
possible bit binary signatures.

00:32:13.370 --> 00:32:17.120 align:middle line:84%
And then you have two columns,
either the 0 column or the 1,

00:32:17.120 --> 00:32:19.010 align:middle line:90%
two states, the two sequences.

00:32:19.010 --> 00:32:24.350 align:middle line:84%
And as you PCR from
the end tag out to each

00:32:24.350 --> 00:32:27.230 align:middle line:84%
of these tags, A or A prime,
B or B prime, and so forth.

00:32:27.230 --> 00:32:29.330 align:middle line:90%
Then you get-- these are all--

00:32:29.330 --> 00:32:31.035 align:middle line:84%
you'll get this
graduated series.

00:32:31.035 --> 00:32:32.660 align:middle line:84%
It will tell you,
you've got a little--

00:32:32.660 --> 00:32:35.570 align:middle line:90%
you've got, A is in the 0 state.

00:32:35.570 --> 00:32:37.940 align:middle line:90%
B is in the 1 state.

00:32:37.940 --> 00:32:40.580 align:middle line:90%
C and D are in the 0 state.

00:32:40.580 --> 00:32:42.050 align:middle line:90%
E is in the 1 state so forth.

00:32:42.050 --> 00:32:44.660 align:middle line:84%
And so I've circled B being
in the 1 stage showing

00:32:44.660 --> 00:32:47.750 align:middle line:84%
that there's a
Knight in position B.

00:32:47.750 --> 00:32:51.290 align:middle line:84%
And you can go through the same
thing for the other solutions.

00:32:51.290 --> 00:32:53.840 align:middle line:84%
Each of these to
develop as a clone.

00:32:53.840 --> 00:32:55.005 align:middle line:90%
And there's an and--

00:32:55.005 --> 00:32:56.630 align:middle line:84%
the neat thing about
all these problems

00:32:56.630 --> 00:32:58.070 align:middle line:84%
is they have multiple
representations.

00:32:58.070 --> 00:32:59.270 align:middle line:90%
You represent them in DNA.

00:32:59.270 --> 00:33:01.490 align:middle line:90%
You represent them in data.

00:33:01.490 --> 00:33:04.580 align:middle line:84%
You can represent them
as a Boolean logical set

00:33:04.580 --> 00:33:06.770 align:middle line:84%
of operations where
these things represent

00:33:06.770 --> 00:33:12.120 align:middle line:84%
ANDs and ORs at the bottom
of the slide and so on.

00:33:12.120 --> 00:33:16.190 align:middle line:84%
And you will see that
in the last examples

00:33:16.190 --> 00:33:20.570 align:middle line:84%
where I've just kind
of breezed through,

00:33:20.570 --> 00:33:24.830 align:middle line:84%
where that set of
logical operations

00:33:24.830 --> 00:33:28.400 align:middle line:84%
is probably one of the
favorite points of attack

00:33:28.400 --> 00:33:31.830 align:middle line:90%
for DNA computing still today.

00:33:31.830 --> 00:33:34.250 align:middle line:84%
So what are the problems
and the advantages?

00:33:34.250 --> 00:33:38.730 align:middle line:84%
The problems are that yes,
it is polynomial time.

00:33:38.730 --> 00:33:41.400 align:middle line:84%
In fact, it's close to linear
time with a number of inputs

00:33:41.400 --> 00:33:41.900 align:middle line:90%
in.

00:33:41.900 --> 00:33:44.780 align:middle line:84%
In terms of synthesis
needs, you know,

00:33:44.780 --> 00:33:47.180 align:middle line:84%
your computer tells a
synthesizer what to make.

00:33:47.180 --> 00:33:51.050 align:middle line:84%
And then enzymes
will or hybridisation

00:33:51.050 --> 00:33:57.470 align:middle line:84%
will do this highly parallel
reaction independent of N.

00:33:57.470 --> 00:33:59.910 align:middle line:90%
So basically constant time.

00:33:59.910 --> 00:34:01.970 align:middle line:84%
So it's linear
time for synthesis,

00:34:01.970 --> 00:34:05.720 align:middle line:84%
constant time for the computing,
and constant time for the

00:34:05.720 --> 00:34:07.730 align:middle line:90%
getting the answer right out.

00:34:07.730 --> 00:34:10.460 align:middle line:84%
But you have
exponential volumes.

00:34:10.460 --> 00:34:12.500 align:middle line:84%
For example, a
hundred-node graph,

00:34:12.500 --> 00:34:15.350 align:middle line:84%
we've been talking about the
various graphs solutions might

00:34:15.350 --> 00:34:17.900 align:middle line:90%
be 10 to the 30th molecules.

00:34:17.900 --> 00:34:20.659 align:middle line:84%
And if any of you
have ever tried

00:34:20.659 --> 00:34:24.679 align:middle line:84%
to synthesize a mole or
10 to the 24th molecules,

00:34:24.679 --> 00:34:28.380 align:middle line:84%
you realize it would bankrupt
our planet to make 10

00:34:28.380 --> 00:34:30.330 align:middle line:90%
to the 30th molecules.

00:34:30.330 --> 00:34:34.820 align:middle line:84%
So in addition, the
elementary steps are slow.

00:34:34.820 --> 00:34:36.850 align:middle line:90%
It's highly parallel.

00:34:36.850 --> 00:34:42.190 align:middle line:84%
You can imagine having
trillions of molecules

00:34:42.190 --> 00:34:45.070 align:middle line:84%
computing in parallel,
but the elementary steps

00:34:45.070 --> 00:34:48.370 align:middle line:84%
of hybridization and DNA
polymerase or RNase H

00:34:48.370 --> 00:34:51.610 align:middle line:84%
and so forth, typically are
in the millihertz range.

00:34:51.610 --> 00:34:55.000 align:middle line:84%
That is to say, it might take
1,000 seconds, rather than

00:34:55.000 --> 00:34:57.550 align:middle line:84%
gigahertz, which would be
a billionth of a second.

00:34:57.550 --> 00:35:02.260 align:middle line:84%
So there might be a 10
to the 12th gap in rate

00:35:02.260 --> 00:35:05.890 align:middle line:84%
of executing the commands,
but there's more,

00:35:05.890 --> 00:35:07.710 align:middle line:84%
the hope is that
there's more than a 10

00:35:07.710 --> 00:35:10.240 align:middle line:84%
to the 12th advantage
in parallelism.

00:35:10.240 --> 00:35:15.700 align:middle line:84%
In addition, experimental errors
mustn't be swept under the rug.

00:35:15.700 --> 00:35:17.440 align:middle line:90%
You've got issues with mismatch.

00:35:17.440 --> 00:35:19.390 align:middle line:84%
There's a limit that
just how cleverly you

00:35:19.390 --> 00:35:21.010 align:middle line:90%
can design all these sequences.

00:35:21.010 --> 00:35:23.710 align:middle line:84%
As the graph gets
bigger, you need

00:35:23.710 --> 00:35:26.495 align:middle line:84%
to have more and more
sequences involved.

00:35:26.495 --> 00:35:28.120 align:middle line:84%
And that means that
you're going to get

00:35:28.120 --> 00:35:29.860 align:middle line:84%
more and more cross
hybridization,

00:35:29.860 --> 00:35:32.120 align:middle line:84%
incomplete cleavage,
and so forth.

00:35:32.120 --> 00:35:36.640 align:middle line:84%
There are-- when this
slide 18 says non-reusable,

00:35:36.640 --> 00:35:38.110 align:middle line:90%
there are reusable forms.

00:35:38.110 --> 00:35:39.860 align:middle line:84%
And we'll get to those
in just a minute.

00:35:39.860 --> 00:35:41.152 align:middle line:90%
So those are the disadvantages.

00:35:41.152 --> 00:35:43.840 align:middle line:84%
What are the promises or
the possible advantages?

00:35:43.840 --> 00:35:46.900 align:middle line:84%
High parallelism, could
be much more than the 10

00:35:46.900 --> 00:35:49.330 align:middle line:90%
to the 12th fold loss in speed.

00:35:49.330 --> 00:35:52.612 align:middle line:90%


00:35:52.612 --> 00:35:58.300 align:middle line:84%
When computer
hardware and people

00:35:58.300 --> 00:36:02.710 align:middle line:84%
dream of the next
generation of computers,

00:36:02.710 --> 00:36:06.130 align:middle line:84%
they hope to get away from
the current record, which

00:36:06.130 --> 00:36:10.690 align:middle line:84%
is around 10 to the 9th
operations per joule

00:36:10.690 --> 00:36:12.760 align:middle line:90%
for conventional computers.

00:36:12.760 --> 00:36:16.540 align:middle line:84%
Maybe that's not a record but
it's conventional computers.

00:36:16.540 --> 00:36:19.558 align:middle line:84%
Closer to the 34 times 10 to
the 19th operations per joule

00:36:19.558 --> 00:36:21.100 align:middle line:84%
that you should be
able to squeak out

00:36:21.100 --> 00:36:22.750 align:middle line:90%
near the thermodynamic limit.

00:36:22.750 --> 00:36:26.380 align:middle line:84%
And as it turns out, many DNA
enzymes such as DNA polymerase

00:36:26.380 --> 00:36:28.120 align:middle line:84%
are already within
a factor of 10

00:36:28.120 --> 00:36:31.390 align:middle line:84%
of that goal, while
conventional computers are off

00:36:31.390 --> 00:36:36.360 align:middle line:90%
by 10 factors of 10 or more.

00:36:36.360 --> 00:36:42.060 align:middle line:84%
If one can quote, solve, or
one NP-complete solve problem,

00:36:42.060 --> 00:36:42.855 align:middle line:90%
you can get many.

00:36:42.855 --> 00:36:48.162 align:middle line:90%


00:36:48.162 --> 00:36:50.370 align:middle line:84%
The improvements that we'll
just kind of briefly talk

00:36:50.370 --> 00:36:54.960 align:middle line:84%
about that keep people
excited about this

00:36:54.960 --> 00:36:57.720 align:middle line:84%
are that this is a
natural way of talking

00:36:57.720 --> 00:36:58.770 align:middle line:90%
to biological problems.

00:36:58.770 --> 00:37:01.275 align:middle line:84%
If there are biological
problems, you can--

00:37:01.275 --> 00:37:04.240 align:middle line:90%


00:37:04.240 --> 00:37:07.150 align:middle line:84%
It may be a smaller step
to get to DNA computing,

00:37:07.150 --> 00:37:08.760 align:middle line:84%
and there are faster
readout methods

00:37:08.760 --> 00:37:13.140 align:middle line:84%
just as there are faster and
faster computational methods.

00:37:13.140 --> 00:37:15.330 align:middle line:84%
And natural
selection, evolution,

00:37:15.330 --> 00:37:18.390 align:middle line:84%
is something that you can use on
DNA computers, which so far has

00:37:18.390 --> 00:37:24.990 align:middle line:84%
not been extremely powerful
in conventional computers,

00:37:24.990 --> 00:37:28.210 align:middle line:84%
although we'll talk about
genetic algorithms shortly.

00:37:28.210 --> 00:37:31.200 align:middle line:84%
So one way of getting
reuse is to have

00:37:31.200 --> 00:37:33.420 align:middle line:84%
a so-called sticker-based
model or something

00:37:33.420 --> 00:37:36.690 align:middle line:84%
where you're basically just
using the hybridization

00:37:36.690 --> 00:37:40.390 align:middle line:84%
properties without
being destructive.

00:37:40.390 --> 00:37:42.580 align:middle line:90%
And here's an example.

00:37:42.580 --> 00:37:45.270 align:middle line:84%
I'm not going to walk
through it too much.

00:37:45.270 --> 00:37:50.490 align:middle line:84%
I should point out the all in
here includes Adleman again.

00:37:50.490 --> 00:37:55.570 align:middle line:84%
And I'll have one more example
of his work in just a moment

00:37:55.570 --> 00:37:56.070 align:middle line:90%
here.

00:37:56.070 --> 00:38:01.380 align:middle line:84%
But there are
examples now of work

00:38:01.380 --> 00:38:05.520 align:middle line:84%
trying to consider seriously the
amount, the volumes of DNA that

00:38:05.520 --> 00:38:10.710 align:middle line:84%
are needed and ways of dealing
with fault tolerance or error

00:38:10.710 --> 00:38:12.990 align:middle line:84%
reduction algorithms
where you actually

00:38:12.990 --> 00:38:17.820 align:middle line:84%
go through and consciously say,
OK, if we had an error here,

00:38:17.820 --> 00:38:19.900 align:middle line:90%
how would we compensate for it?

00:38:19.900 --> 00:38:22.230 align:middle line:84%
How would we dedicate a
little more, a few more

00:38:22.230 --> 00:38:27.130 align:middle line:90%
bits to take the next step?

00:38:27.130 --> 00:38:31.260 align:middle line:84%
So just like in the
night test problem

00:38:31.260 --> 00:38:34.320 align:middle line:84%
we had a little bit
before, the idea

00:38:34.320 --> 00:38:39.420 align:middle line:84%
of using ANDs and ORs
of Boolean variables

00:38:39.420 --> 00:38:43.650 align:middle line:84%
these X's in slide 21 which
can have two states 0 or 1

00:38:43.650 --> 00:38:46.380 align:middle line:84%
similar to the Boolean variables
that we run across from time

00:38:46.380 --> 00:38:48.630 align:middle line:90%
to time in generative models.

00:38:48.630 --> 00:38:52.620 align:middle line:84%
And you can have clauses,
which are basically

00:38:52.620 --> 00:38:56.580 align:middle line:84%
logical operations on the
set of Boolean variables.

00:38:56.580 --> 00:39:01.320 align:middle line:90%
We have, NOTs and ORs and ANDs.

00:39:01.320 --> 00:39:03.840 align:middle line:84%
And this kind of problem
is a very general problem,

00:39:03.840 --> 00:39:05.130 align:middle line:90%
very interesting one.

00:39:05.130 --> 00:39:08.820 align:middle line:84%
And it has been tackled
just in very analogous ways

00:39:08.820 --> 00:39:12.150 align:middle line:84%
to the ways we've been talking
about the previous ones

00:39:12.150 --> 00:39:16.320 align:middle line:84%
where you encode the
graph in DNA sequences,

00:39:16.320 --> 00:39:19.080 align:middle line:84%
thereby creating all the paths
by hybridization or something

00:39:19.080 --> 00:39:20.110 align:middle line:90%
like that.

00:39:20.110 --> 00:39:34.248 align:middle line:84%
And then you read it out
with PCR and solid phase.

00:39:34.248 --> 00:39:36.540 align:middle line:84%
And you can say, you see
here's a quote where they say,

00:39:36.540 --> 00:39:38.940 align:middle line:84%
here we solve a
NP-complete problem.

00:39:38.940 --> 00:39:44.520 align:middle line:84%
They have indeed solved one, but
they haven't really turned it

00:39:44.520 --> 00:39:47.220 align:middle line:90%
into a polynomial time problem.

00:39:47.220 --> 00:39:49.500 align:middle line:90%
It's simply brute force it out.

00:39:49.500 --> 00:39:51.630 align:middle line:84%
And this is the most
recent one, just

00:39:51.630 --> 00:39:56.190 align:middle line:84%
it came out in Science again,
Len Adleman on it, and now up

00:39:56.190 --> 00:39:58.440 align:middle line:84%
to 20 variables in
a three-set problem.

00:39:58.440 --> 00:40:01.300 align:middle line:90%


00:40:01.300 --> 00:40:03.030 align:middle line:90%
So that's all about computing.

00:40:03.030 --> 00:40:06.900 align:middle line:84%
It may not-- since
DNA is relatively slow

00:40:06.900 --> 00:40:10.200 align:middle line:84%
at computing per
step, highly parallel,

00:40:10.200 --> 00:40:12.870 align:middle line:84%
it may not be the best of the
various steps in computing

00:40:12.870 --> 00:40:17.653 align:middle line:84%
assembly, input, memory,
computation, and output.

00:40:17.653 --> 00:40:19.320 align:middle line:84%
So we'll explore some
of the other ones,

00:40:19.320 --> 00:40:20.520 align:middle line:90%
in particular assembly.

00:40:20.520 --> 00:40:23.340 align:middle line:84%
To a certain extent,
assembling computers is slow

00:40:23.340 --> 00:40:28.410 align:middle line:84%
and so it's something where
molecular assembly might

00:40:28.410 --> 00:40:29.850 align:middle line:90%
have some advantages.

00:40:29.850 --> 00:40:34.500 align:middle line:84%
Now this particular example, I'm
going to emphasize the assembly

00:40:34.500 --> 00:40:38.520 align:middle line:84%
aspect of it, but you can think
of this as a way of mapping,

00:40:38.520 --> 00:40:42.240 align:middle line:84%
these authors have
mapped assembly

00:40:42.240 --> 00:40:45.150 align:middle line:84%
of an actual
two-dimensional piling

00:40:45.150 --> 00:40:52.350 align:middle line:84%
onto an abstract but important
and powerful computer science

00:40:52.350 --> 00:40:54.540 align:middle line:84%
concept which is the
general Turing machine,

00:40:54.540 --> 00:40:58.470 align:middle line:84%
a machine, kind of a tape-like
structure that can compute,

00:40:58.470 --> 00:41:01.020 align:middle line:84%
do any kind of
general computing,

00:41:01.020 --> 00:41:02.850 align:middle line:90%
deterministic computing.

00:41:02.850 --> 00:41:06.990 align:middle line:84%
And so they mapped a
kind of a physical tiling

00:41:06.990 --> 00:41:12.480 align:middle line:84%
as you might have a periodic
or a periodic mosaic of tiles

00:41:12.480 --> 00:41:17.190 align:middle line:84%
onto this computing
machine and onto this kind

00:41:17.190 --> 00:41:21.450 align:middle line:84%
of logical operation, XOR
on a string of binary bits,

00:41:21.450 --> 00:41:24.780 align:middle line:84%
just as we had in the previous
couple of slides on the three

00:41:24.780 --> 00:41:26.490 align:middle line:90%
stat problem.

00:41:26.490 --> 00:41:30.000 align:middle line:84%
I want to emphasize the
geometric, physical, version

00:41:30.000 --> 00:41:32.280 align:middle line:84%
of it because we're trying
to make a transition now

00:41:32.280 --> 00:41:36.400 align:middle line:84%
in this paper which combines
the DNA computing with DNA

00:41:36.400 --> 00:41:37.750 align:middle line:90%
assembly.

00:41:37.750 --> 00:41:41.290 align:middle line:84%
Now up it, we have three
more or less equivalent

00:41:41.290 --> 00:41:43.660 align:middle line:84%
ways of representing
the same sequences.

00:41:43.660 --> 00:41:45.610 align:middle line:84%
So these are called
triple crossovers,

00:41:45.610 --> 00:41:51.460 align:middle line:84%
because you can see, let's
take a look at say Y2 here,

00:41:51.460 --> 00:41:53.390 align:middle line:84%
right in the middle
of the slide.

00:41:53.390 --> 00:41:57.820 align:middle line:84%
You can see that there are
these multiple crossovers where

00:41:57.820 --> 00:42:01.840 align:middle line:84%
you have a kind of a
recombination event

00:42:01.840 --> 00:42:04.840 align:middle line:84%
where you've got two
double-stranded DNA molecules

00:42:04.840 --> 00:42:06.370 align:middle line:90%
that are exchanging a strand.

00:42:06.370 --> 00:42:08.770 align:middle line:84%
And this is not a natural
homologous recombination

00:42:08.770 --> 00:42:10.720 align:middle line:84%
of N in the sense
they're non homologous,

00:42:10.720 --> 00:42:13.450 align:middle line:84%
and this thing is kind of
trapped in this crossover.

00:42:13.450 --> 00:42:17.110 align:middle line:84%
And the crossover, when you
have multiple crossovers,

00:42:17.110 --> 00:42:19.630 align:middle line:84%
you can make a piece
of DNA that now

00:42:19.630 --> 00:42:21.250 align:middle line:90%
has more than just two ends.

00:42:21.250 --> 00:42:22.720 align:middle line:84%
You can have
multiple sticky ends.

00:42:22.720 --> 00:42:25.510 align:middle line:84%
You can have, say in this
case, in the upper part,

00:42:25.510 --> 00:42:33.780 align:middle line:84%
you can see four different
ends with 1, 2, 3,

00:42:33.780 --> 00:42:35.730 align:middle line:90%
4 crossover strands here.

00:42:35.730 --> 00:42:40.830 align:middle line:84%
And each of these, you
can see on the far right,

00:42:40.830 --> 00:42:45.720 align:middle line:84%
a 5 base 3 prime overhang,
and a 7 base 5 prime overhang

00:42:45.720 --> 00:42:48.120 align:middle line:84%
and some flush ends
on the far left.

00:42:48.120 --> 00:42:51.360 align:middle line:84%
And so each of these
things has ability

00:42:51.360 --> 00:42:54.720 align:middle line:84%
to stick to other
tiling elements.

00:42:54.720 --> 00:42:58.860 align:middle line:84%
And you can see that you
can put together a fairly--

00:42:58.860 --> 00:43:03.300 align:middle line:84%
a two-dimensional
structure, which

00:43:03.300 --> 00:43:06.120 align:middle line:90%
can be as intricate as a mosaic.

00:43:06.120 --> 00:43:07.900 align:middle line:84%
It does not have
to repeat itself,

00:43:07.900 --> 00:43:09.900 align:middle line:84%
or it can repeat
itself if you want

00:43:09.900 --> 00:43:15.120 align:middle line:84%
to use visual tools
such as Fourier

00:43:15.120 --> 00:43:17.920 align:middle line:84%
transforms to look at
a repeating structure.

00:43:17.920 --> 00:43:21.180 align:middle line:84%
And you can see, you can
engineer in restriction sites

00:43:21.180 --> 00:43:26.400 align:middle line:84%
to help you analyze the
structure on a gel-based assay

00:43:26.400 --> 00:43:27.910 align:middle line:90%
on the far left.

00:43:27.910 --> 00:43:30.060 align:middle line:84%
We've seen enough gel-based
assays tonight already,

00:43:30.060 --> 00:43:32.393 align:middle line:84%
I won't belabor, we're not
going to walk you through it.

00:43:32.393 --> 00:43:35.100 align:middle line:84%
But you can see that there's--
even though this is not

00:43:35.100 --> 00:43:40.170 align:middle line:84%
straight DNA as the previous
two or three examples were,

00:43:40.170 --> 00:43:43.620 align:middle line:84%
this is a much more
complicated branched structure.

00:43:43.620 --> 00:43:48.150 align:middle line:84%
Nevertheless, you can turn
it into a linear readout

00:43:48.150 --> 00:43:50.670 align:middle line:90%
with electrophoretic sizes.

00:43:50.670 --> 00:43:55.020 align:middle line:84%
But you can also look at it as
a truly two or three-dimensional

00:43:55.020 --> 00:43:55.950 align:middle line:90%
object here.

00:43:55.950 --> 00:43:57.450 align:middle line:90%
Here we use atomic--

00:43:57.450 --> 00:44:01.830 align:middle line:84%
they use atomic force
microscopy where

00:44:01.830 --> 00:44:05.880 align:middle line:84%
a probe with a single
atom at its tip

00:44:05.880 --> 00:44:09.240 align:middle line:90%
is responding to the force.

00:44:09.240 --> 00:44:14.190 align:middle line:84%
That allows that as
you touch an object,

00:44:14.190 --> 00:44:18.450 align:middle line:84%
the feedback in the system
with a scanning tunneling

00:44:18.450 --> 00:44:21.840 align:middle line:84%
microscope, usually as
part of the feedback,

00:44:21.840 --> 00:44:24.053 align:middle line:84%
tells you that you just
touched the surface

00:44:24.053 --> 00:44:25.720 align:middle line:84%
and you've got to
back off a little bit.

00:44:25.720 --> 00:44:29.710 align:middle line:84%
And then just scan along and
just profiling the surface.

00:44:29.710 --> 00:44:31.680 align:middle line:84%
And so here, with two
different tiling methods,

00:44:31.680 --> 00:44:36.150 align:middle line:84%
this is more a repetitive
rather than aperiodic tiling.

00:44:36.150 --> 00:44:38.970 align:middle line:84%
You can see that these
little pink protrusions,

00:44:38.970 --> 00:44:41.880 align:middle line:84%
you can engineer into
the tile, not just

00:44:41.880 --> 00:44:45.930 align:middle line:84%
the two-dimensional
stickiness, sticky tags,

00:44:45.930 --> 00:44:48.780 align:middle line:84%
but a third dimension,
which is a bump, which

00:44:48.780 --> 00:44:52.500 align:middle line:84%
might be a stem
loop as we've seen

00:44:52.500 --> 00:44:53.970 align:middle line:90%
in other secondary structures.

00:44:53.970 --> 00:44:55.630 align:middle line:84%
There's engineering
into this DNA.

00:44:55.630 --> 00:44:57.720 align:middle line:84%
So now that these
bumps will stick up

00:44:57.720 --> 00:45:00.580 align:middle line:84%
and be easy targets for the
atomic force microscope.

00:45:00.580 --> 00:45:05.340 align:middle line:84%
And here you have a
bump every second tile,

00:45:05.340 --> 00:45:07.200 align:middle line:90%
and that's on the left.

00:45:07.200 --> 00:45:09.240 align:middle line:84%
And on the right
of slide 27, you

00:45:09.240 --> 00:45:11.010 align:middle line:84%
have a more complicated
tiling where

00:45:11.010 --> 00:45:13.500 align:middle line:84%
you have four different
types of tiles

00:45:13.500 --> 00:45:16.560 align:middle line:90%
and a bump every fourth one.

00:45:16.560 --> 00:45:22.320 align:middle line:84%
And so you expect, you can
calculate from the Watson-Crick

00:45:22.320 --> 00:45:25.080 align:middle line:84%
model for DNA, or more
advanced models of DNA,

00:45:25.080 --> 00:45:30.870 align:middle line:84%
even though this is a
lattice of brain structures,

00:45:30.870 --> 00:45:33.450 align:middle line:84%
you can calculate, it should
be about 33 nanometers

00:45:33.450 --> 00:45:34.530 align:middle line:90%
between the bumps.

00:45:34.530 --> 00:45:35.700 align:middle line:90%
And that's what's observed.

00:45:35.700 --> 00:45:38.370 align:middle line:84%
And 65 nanometers is
calculated and observed.

00:45:38.370 --> 00:45:40.620 align:middle line:84%
You can see the
bigger lattice spacing

00:45:40.620 --> 00:45:45.390 align:middle line:84%
in these admittedly somewhat
fuzzy atomic force micrographs.

00:45:45.390 --> 00:45:47.460 align:middle line:84%
But you can see,
you get something,

00:45:47.460 --> 00:45:51.300 align:middle line:84%
an experimental confirmation of
the two-dimensional structures

00:45:51.300 --> 00:45:52.420 align:middle line:90%
here.

00:45:52.420 --> 00:45:58.250 align:middle line:84%
Now this is self-assembly
nanofabrication.

00:45:58.250 --> 00:46:01.590 align:middle line:84%
And to some extent,
it is inspired by

00:46:01.590 --> 00:46:05.910 align:middle line:84%
and can be combined
with microfabrication.

00:46:05.910 --> 00:46:08.490 align:middle line:84%
This is something where
you basically use optics,

00:46:08.490 --> 00:46:12.870 align:middle line:84%
you go to the limit of
current optical manufacturing

00:46:12.870 --> 00:46:17.130 align:middle line:84%
as a microfabrication where
it's typically hard to get below

00:46:17.130 --> 00:46:21.120 align:middle line:84%
say 100 nanometers or
so in feature size.

00:46:21.120 --> 00:46:23.400 align:middle line:90%
Here you can see this is--

00:46:23.400 --> 00:46:26.460 align:middle line:84%
and this is the
microfabrication used

00:46:26.460 --> 00:46:29.370 align:middle line:90%
to make your computer chips.

00:46:29.370 --> 00:46:32.370 align:middle line:84%
But it's, in this
case, it's used

00:46:32.370 --> 00:46:34.500 align:middle line:84%
to actually make moving
parts, parts that move

00:46:34.500 --> 00:46:35.560 align:middle line:90%
relative to one another.

00:46:35.560 --> 00:46:44.170 align:middle line:84%
And that motion actually
has useful applications.

00:46:44.170 --> 00:46:47.280 align:middle line:84%
The first such useful
application that I'm aware

00:46:47.280 --> 00:46:50.370 align:middle line:84%
is putting these things
into air bag sensors.

00:46:50.370 --> 00:46:54.150 align:middle line:84%
And the idea is that when you're
driving your large automobile

00:46:54.150 --> 00:46:57.660 align:middle line:84%
and run into a
even larger object,

00:46:57.660 --> 00:47:02.230 align:middle line:84%
you suddenly decelerate, either
by brakes or some other method.

00:47:02.230 --> 00:47:08.550 align:middle line:84%
And when you do, this
little bitty device,

00:47:08.550 --> 00:47:11.850 align:middle line:84%
a sensor inside your--
somewhere in your car,

00:47:11.850 --> 00:47:16.410 align:middle line:84%
will shift one of its parts
by at least 0.2 angstroms,

00:47:16.410 --> 00:47:19.710 align:middle line:84%
meaning a tenth of
an atomic diameter.

00:47:19.710 --> 00:47:21.270 align:middle line:84%
That doesn't seem
like very much.

00:47:21.270 --> 00:47:21.870 align:middle line:90%
And it isn't.

00:47:21.870 --> 00:47:27.720 align:middle line:84%
It only causes 100 femtofarads,
that means 10 to the -13

00:47:27.720 --> 00:47:29.430 align:middle line:90%
farad capacitance change.

00:47:29.430 --> 00:47:34.290 align:middle line:84%
But that's quite
enough to signal

00:47:34.290 --> 00:47:36.960 align:middle line:84%
that a collision has
occurred or will occur

00:47:36.960 --> 00:47:41.320 align:middle line:84%
and with a very low
false positive rate,

00:47:41.320 --> 00:47:43.390 align:middle line:84%
those of you who have
driven large automobiles

00:47:43.390 --> 00:47:47.500 align:middle line:84%
know how infrequently the
airbag opens up accidentally.

00:47:47.500 --> 00:47:50.110 align:middle line:84%
But when it does
deflect by 0.2 angstroms

00:47:50.110 --> 00:47:52.030 align:middle line:90%
then it does open up the airbag.

00:47:52.030 --> 00:47:55.270 align:middle line:84%
OK, so this is a payoff
of microfabrication.

00:47:55.270 --> 00:47:58.270 align:middle line:84%
But now we want to
combine the nanosystems

00:47:58.270 --> 00:48:01.480 align:middle line:84%
that we saw in the DNA
computers and in the tiling

00:48:01.480 --> 00:48:03.160 align:middle line:90%
with microfabrication.

00:48:03.160 --> 00:48:06.580 align:middle line:84%
And I picked this as just
one of the very few examples

00:48:06.580 --> 00:48:09.430 align:middle line:84%
where microfab meets
nanofabrication.

00:48:09.430 --> 00:48:12.700 align:middle line:84%
And we'll call it a
nano-electromechanical system.

00:48:12.700 --> 00:48:17.020 align:middle line:84%
And here, so you've got
the microfabrication

00:48:17.020 --> 00:48:20.380 align:middle line:84%
of both the posts upon
which these things stand,

00:48:20.380 --> 00:48:25.090 align:middle line:84%
which is these nickel
columns of 80 nanometers,

00:48:25.090 --> 00:48:33.380 align:middle line:84%
and the little bars, metal bars,
which can be as a micron range.

00:48:33.380 --> 00:48:36.400 align:middle line:84%
And you can see them visualized
on the left hand photograph

00:48:36.400 --> 00:48:39.640 align:middle line:84%
where you have these
bars at regular spacings,

00:48:39.640 --> 00:48:44.860 align:middle line:84%
and if you look at this
publication or the webs that

00:48:44.860 --> 00:48:47.740 align:middle line:84%
go along with it, these
little bars will spin around.

00:48:47.740 --> 00:48:52.000 align:middle line:84%
And what they're spinning on
is not a microfabricated motor,

00:48:52.000 --> 00:48:55.990 align:middle line:84%
but it is a nano biotech
motor, which and actually

00:48:55.990 --> 00:48:59.890 align:middle line:84%
it's a protein that most people
didn't think of as a motor when

00:48:59.890 --> 00:49:01.270 align:middle line:90%
it was first discovered.

00:49:01.270 --> 00:49:06.370 align:middle line:84%
It is the protein present
in almost all organisms

00:49:06.370 --> 00:49:08.830 align:middle line:84%
that is responsible
for ATP generation.

00:49:08.830 --> 00:49:12.520 align:middle line:84%
Usually, you think of this as
making ATP for motors to use,

00:49:12.520 --> 00:49:16.600 align:middle line:84%
but this actually, since it
is capable of rotary motion,

00:49:16.600 --> 00:49:22.150 align:middle line:84%
does move this 1 micron
bar around at the rate

00:49:22.150 --> 00:49:28.540 align:middle line:84%
that you would expect
for the nano-machine

00:49:28.540 --> 00:49:29.695 align:middle line:90%
to be generating torque.

00:49:29.695 --> 00:49:32.620 align:middle line:90%


00:49:32.620 --> 00:49:34.870 align:middle line:84%
So we're now, we've
talked about assembly.

00:49:34.870 --> 00:49:37.470 align:middle line:84%
That's an example of
an output device, what

00:49:37.470 --> 00:49:39.460 align:middle line:84%
sort of input
devices we have that

00:49:39.460 --> 00:49:43.180 align:middle line:84%
will work at the
single molecule level.

00:49:43.180 --> 00:49:46.060 align:middle line:84%
Here is, there
are many examples.

00:49:46.060 --> 00:49:51.310 align:middle line:84%
We've mentioned a few of
them in the sequencing,

00:49:51.310 --> 00:49:53.470 align:middle line:84%
genotyping lecture
where we were talking

00:49:53.470 --> 00:49:56.200 align:middle line:90%
about single fluorophores.

00:49:56.200 --> 00:50:02.560 align:middle line:84%
Here, you can use another
aspect of biology,

00:50:02.560 --> 00:50:06.250 align:middle line:84%
which is the self-assembly of
membranes to make a very, very

00:50:06.250 --> 00:50:10.960 align:middle line:84%
tight, low conductance seal
which is only on the order of 2

00:50:10.960 --> 00:50:15.460 align:middle line:84%
nanometers thick, but it's
enough to make a gigaohm seal,

00:50:15.460 --> 00:50:17.020 align:middle line:90%
multi gigaohm seal.

00:50:17.020 --> 00:50:18.970 align:middle line:84%
And then you poke
a little hole in it

00:50:18.970 --> 00:50:22.210 align:middle line:84%
with a single
molecule of a protein.

00:50:22.210 --> 00:50:26.650 align:middle line:84%
And there are growing ways to
do this on inorganic substrates

00:50:26.650 --> 00:50:27.890 align:middle line:90%
as well.

00:50:27.890 --> 00:50:32.350 align:middle line:84%
So when you have a single
protein pore which itself might

00:50:32.350 --> 00:50:35.410 align:middle line:84%
be a 1 nanometer
opening, it will

00:50:35.410 --> 00:50:37.360 align:middle line:84%
allow in the presence
of electric field,

00:50:37.360 --> 00:50:39.910 align:middle line:84%
indicated by these negative
and positive charges

00:50:39.910 --> 00:50:43.900 align:middle line:84%
here, yellow negative and
positive ions to go through

00:50:43.900 --> 00:50:45.980 align:middle line:90%
like sodium chloride.

00:50:45.980 --> 00:50:53.350 align:middle line:84%
And they will go through it
about up to a million ions

00:50:53.350 --> 00:50:55.790 align:middle line:90%
per second, easily.

00:50:55.790 --> 00:50:58.900 align:middle line:84%
And when you have
a larger molecule,

00:50:58.900 --> 00:51:02.770 align:middle line:84%
that's say, a polyanion
in the electric field,

00:51:02.770 --> 00:51:04.960 align:middle line:84%
it will slowly migrate
through this pore.

00:51:04.960 --> 00:51:08.110 align:middle line:84%
And while it does so, it
blocks the rapid movement

00:51:08.110 --> 00:51:11.830 align:middle line:90%
of the smaller ions like sodium.

00:51:11.830 --> 00:51:15.220 align:middle line:90%
And you can record, the--

00:51:15.220 --> 00:51:18.100 align:middle line:84%
it doesn't necessarily
completely block the channel.

00:51:18.100 --> 00:51:21.370 align:middle line:84%
You can record the rate at
which sodium will go through

00:51:21.370 --> 00:51:23.620 align:middle line:84%
and how it's influenced
by the composition

00:51:23.620 --> 00:51:26.750 align:middle line:90%
of the polymer going through.

00:51:26.750 --> 00:51:31.630 align:middle line:84%
And so here's an example
of a bacterial protein.

00:51:31.630 --> 00:51:36.040 align:middle line:84%
This is [? Miller ?] et.
all, referenced down below.

00:51:36.040 --> 00:51:42.130 align:middle line:84%
A bacterial toxin, actually
from staph, staphylococcus,

00:51:42.130 --> 00:51:46.900 align:middle line:84%
whose goal in life is
to kill other organisms,

00:51:46.900 --> 00:51:50.980 align:middle line:84%
it's not to provide a
handy conduit for RNA

00:51:50.980 --> 00:51:52.780 align:middle line:90%
to go through a cell.

00:51:52.780 --> 00:51:55.780 align:middle line:84%
But nevertheless in this
experiment, when it does,

00:51:55.780 --> 00:51:58.000 align:middle line:84%
when a nucleic acid
does go through,

00:51:58.000 --> 00:52:01.240 align:middle line:84%
it blocks the little
red water molecules

00:52:01.240 --> 00:52:04.180 align:middle line:84%
and similar sized
ions are blocked.

00:52:04.180 --> 00:52:06.790 align:middle line:84%
And they're blocked
in a way, which

00:52:06.790 --> 00:52:09.760 align:middle line:84%
is sensitive to not
only the molecule,

00:52:09.760 --> 00:52:11.300 align:middle line:90%
but parts of the molecule.

00:52:11.300 --> 00:52:13.600 align:middle line:84%
So you can see here,
you've got a molecule

00:52:13.600 --> 00:52:18.550 align:middle line:84%
with a oligo(A) part
and an oligo(C) part.

00:52:18.550 --> 00:52:21.190 align:middle line:84%
And you can actually
discriminate between these,

00:52:21.190 --> 00:52:25.360 align:middle line:84%
both in terms of the rate
at which they go through,

00:52:25.360 --> 00:52:27.880 align:middle line:84%
each of the parts goes
through, and the conductance.

00:52:27.880 --> 00:52:31.030 align:middle line:84%
So if you look down in
the lower right hand part,

00:52:31.030 --> 00:52:34.690 align:middle line:84%
you'll see a 5 picoampere
here to the -12 ampere,

00:52:34.690 --> 00:52:37.958 align:middle line:84%
20 picoampere and
120 picoampere levels

00:52:37.958 --> 00:52:39.250 align:middle line:90%
for these individual molecules.

00:52:39.250 --> 00:52:45.400 align:middle line:84%
And each of these spikes
is first the 830 half,

00:52:45.400 --> 00:52:47.830 align:middle line:84%
and then the C-70
half going through.

00:52:47.830 --> 00:52:55.150 align:middle line:84%
And you can see that the two
different conductance levels

00:52:55.150 --> 00:52:56.770 align:middle line:84%
that you get,
reproducibly go, it's

00:52:56.770 --> 00:53:00.400 align:middle line:84%
going through a typically in
one direction, first the A, then

00:53:00.400 --> 00:53:04.370 align:middle line:84%
the C, and different conductance
levels, different rates.

00:53:04.370 --> 00:53:08.230 align:middle line:84%
And then 125 amperes is in
between molecules where you're

00:53:08.230 --> 00:53:11.590 align:middle line:84%
getting the full conductance
capability, lots of sodium

00:53:11.590 --> 00:53:13.480 align:middle line:90%
is going through.

00:53:13.480 --> 00:53:20.780 align:middle line:84%
And just like with other
methods that we've seen before,

00:53:20.780 --> 00:53:24.260 align:middle line:84%
the use of two
dimensions helps get you

00:53:24.260 --> 00:53:26.330 align:middle line:90%
better statistical resolution.

00:53:26.330 --> 00:53:31.670 align:middle line:84%
Here the two dimensions are the
conductance and the time, time,

00:53:31.670 --> 00:53:33.470 align:middle line:84%
and the vertical
axis and conductance

00:53:33.470 --> 00:53:35.040 align:middle line:90%
on the horizontal axis.

00:53:35.040 --> 00:53:39.050 align:middle line:84%
And you can see how you can
discriminate different types

00:53:39.050 --> 00:53:40.850 align:middle line:90%
of polymers by this method.

00:53:40.850 --> 00:53:42.770 align:middle line:84%
One molecule of time,
each of these dots

00:53:42.770 --> 00:53:45.800 align:middle line:84%
represents a single
molecular event.

00:53:45.800 --> 00:53:51.540 align:middle line:90%
And so we'll take a short break.

00:53:51.540 --> 00:53:52.950 align:middle line:84%
And then when we
come back, we'll

00:53:52.950 --> 00:53:56.490 align:middle line:84%
talk about not
molecular computing,

00:53:56.490 --> 00:54:01.800 align:middle line:84%
but designing cellular
computers and revisit

00:54:01.800 --> 00:54:03.900 align:middle line:90%
some of these same themes.

00:54:03.900 --> 00:54:05.450 align:middle line:90%
Thanks.

00:54:05.450 --> 00:54:06.000 align:middle line:90%