# [RC5] FW: DNA-Based Computers Could Race Past Supercomputers, Researchers Predict

Richard Freeman rfreeman at netaxs.com
Tue Nov 25 11:29:25 EST 1997

```On Mon, 24 Nov 1997, Christiaan wrote:

> Very interesting article...
>
> wish we had one of these now!
>
>
> http://chronicle.com/data/articles.dir/art-44.dir/issue-14.dir/14a02301.htm
>

Hmm - not really sure how feasible it would be.  For 64 bit RC5, there are
2^64 possible keys.  Since each base in DNA encodes 2 bits you would need
a 32bp region of random DNA to encode all keys.  Here are a few
calculations:

Molecular Weight of 32bp DNA approx=19200g/mol

Mass of each individual strand=3.2E-20g (doesn't seem to large, does it?)

Strands needed to represent all keys = 2^64 approx=10^19

Mass of DNA needed to represent all keys = 0.588 g

You may not know much about DNA synthesis - but this is a LOT of DNA - it
might be a little less expensive to make it all random, but there are
problems.  When you make random DNA, you basically take the four bases in
DNA and mix them up, adding one base at a time to a support - each addtion
of a base proceeds randomly - or you can split and pool.  The problem is
that when you are talking 2^64 possabilities there is a calculatable
chance that a number of sequences won't be formed - basically the mass
given above is only correct if only one strand of a particular sequence is
formed.  In reality this is rarely the case - also, each step of adding a
base is not 100% effective, so you get short pieces of DNA which don't
have all 32 bases in them.  You'd probably need about 10g of this stuff to
be somewhat certain of hitting every possability.

Now, I did not include one thing that would almost certainly be essential
- in addition to the 32 random bases to represent the key you would need
more bases for practical reasons - some will be needed to fish out the
answer once you get it, and if you are gluing your DNA to a support you
don't want the important DNA to be right against the wall where chemicals
won't tend to react with it - also, the far end of the DNA will tend to
not be as reactive as well.  You would probably need at least 50 bases of
DNA, and many of these bases cannot be random, which makes them much more
expensive to synthesize.  All this is done routinely - but not at this
scale.  Since you are talking about longer DNA, you also end up needing
more mass - now probably on the order of 50-100g of DNA...

You could still crank through all this and find out that you don't get an
answer - why?  Well, you can never guarantee that the answer was ever
there in the first place - after all, the synthesis is random, and if I
were a better statistician I could calculate a Poisson distribution to
tell you just how many possible keys would be left out at ANY scale of
production (you would need an infinate amount of DNA to GUARANTEE that you
got every key).  This is why digital computers are so valuable - they
perform calculations sequentially so you know that every calculation gets
done.

I'm not saying that DNA-computers are impossible, only that sometimes the
media tends to make things look like they are routine, when in fact they
have many fundamental problems...  Of course, the people doing the
research on the problem don't mind it looking routine when they apply for
their grants...

Also, I apologize if this is off-topic.  I figured that it might be
interesting to people who work on parallel computing and who don't have a
strong knowledge of chemistry.  One of the biggest problems with parallel
computing, I'd guess, is distributing the work load - the exact problems
we deal with here.  With DNA, the same problems occur - it may be possible
to do the work, but spreading it out becomes problematic...

-----------------------------------------------------------------
Richard T. Freeman <rfreeman at netaxs.com> - finger for pgp key
3D CB AF BD FF E8 0B 10 4E 09 27 00 8D 27 E1 93
http://www.netaxs.com/~rfreeman - ftp.netaxs.com/people/rfreeman

--
To unsubcribe, send 'unsubscribe rc5' to majordomo at llamas.net
rc5-digest subscribers replace rc5 with rc5-digest

```