Convergence of Biology and Computers?
Pankaj Arora asks: "This summer I am working on both Bioinformatics and Molecular Biology research projects at the Mayo Clinic Rochester. Being an MIS major with a heavy CS background, I've been learning about biochemistry performing polymerase chain reactions (PCRs) and RNA retranslation among other things. I've learned biology works a lot like computers; binary has 1s and 0s, DNA has nucleotides: A, T, C, and G. Binary has 8 bits to a byte, DNA has 3 nucleotides to a codon. Computers and biology seem to have a natural fit; information is encoded and represented 'digitally' in a sense. I was wondering what people thought about the future of biology-based and genetics-based computing due to the immense efficiencies that lie in nature. This has been discussed to an extent here, but there were some specific aspects that I feel are quite important and were not discussed thoroughly, thus I have a few questions to pose to the Slashdot community."
"The aspects I would like discussed are as follows:
- In the long run, will biology rewrite computing or will modern day technology concepts and theory be integrated into biology? If both are true, which will have the greater effect? I understand long run is ambiguous in this question, but Iâ(TM)m interested in all thoughts using any applicable definition.
- Tied to the first question: How will the nature of computing, and how we perceive it, change due to biology integration? More to the point, how much of the theory we learn today may change?
- What will be the biggest issue determining the success of the adoption of biology-integrated computing? Will it be technology factors or will it be societal factors (e.g., rebellion by the Right Wing), or something else? What things must hold true to make the idea succeed?
- And perhaps the hottest issue of all: Is there anything inherently wrong with pursuing this avenue? What may be some of the consequences?
(I have an insulin pump) It really hasn't changed my life much yet. Still have to program the thing, refill it, etc. Maybe one day when it's internal and self-regulating, but for now, it's a fancy needle/pda.
Take a look at some of the work by Richard Feynmann and Freeman Dyson - the two of them discuss(ed) biology-based computation at great length, and although they were not completely encumbered by modern methods and capabilities, their insights into the theory are pretty valuable. In addition, check out Douglas Hofstadter - I believe that _Metamagical Themas_ had an article or two about this.
-David Barak
Need Geek Rock? Try The Franchise!
it all boils down to this:
;)
binary + DNA = phi
(try and figure that one out
We're like rats, in some experiment! -- George Costanza
Godel, Escher, Bach talks all about the overlaps and comparisons between biology and computers. In particular, Hofstadter details a one-to-one correspondence from the Central Dogma to Godel's Incompleteness Theorem. It's dense, but it's great stuff.
GET YOUR WEAPONS READY! --DR.LIGHT
You must be new around here...
I don't remember the artcile, or the location of the reference [ http://www.nature.com/nsu/000113/000113-10.html thanks google]...
Well anyways, the travelling salesman problem was solved using specially crafted DNA sequences.
As someone who works in bioinformatics research coming from the computer side I think your mixing issues.
;-)
There's using computing to forward and analyize biological questions, that's one field. (and the one I'm in)
The other is using biology to build things like nanotech and other molecular circuitry.
Both of these are using one as a tool to forward the other, it's not a straight integration like putting chocolate and peanut butter together, and never will be.
Each field will simply adapt and use tools from other fields. Just as in molecular biology physics and chemistry concepts are used to help understand biological mechanisms. Don't look for a Unifying Theory for all these fields.
Anyhow, that's my opinion, my boss will probably say I'm completely wrong
As one of the chosen few attempting to understand the fundamentals of protein folding, I can say that we are still a long way off from understanding how these "few" 20 amino acids fold into highly-specific structures. There are people with access to super computing centers (ala: UCSD super computing center, IBM's Gene Blue) who still cannot devise a simulation that accurately reproduces biological systems. The amount of atomic and subatomic properties that must be taken into account is just overwhelming. It can take a 64cpu cluster of computers a week to reproduce what nature does in 1 nanosecond!
So how can we restructure our current computing system to a model that is based upon something that we understand only at basic level? We can't. While I agree that a biologically-derived computing architecture could be quite powerful indeed, we are still a LONG way off from the level of understanding needed to even put this idea on the drawing board.
In biology the past 50 years have seen both revolutions and evolutions that have brought biology to an even par with physics, which had been the "queen of science" up through the first half of this century.
If I can do a slightly different interpretation of the questions being asked - can biology inspire changes in computing? The answer is yes - it already has. Many of our ideas of aritificial intelligence or computer learning have come from neural network-type studies of brain structures. At some point, the equivalent circuit in silicon may precisely reproduce what the neuron is doing. Aside from the time issue (nerve conduction is blazingly fast), you would serve your function staying in silicon.
I'm an aspiring computational ecologist, majoring in biology, minoring in CS. (for the uninformed- ecology != environmentalism or anything of that sort) I'm in Minnesota, although at the other end of the state.
I don't think biology will rewrite CS. It will influence it, for sure, but there isn't anything fundamentally different between a biological solution and a technological one. I think as we learn more of the bigger picture in various biological fields, when we truly understand it, we will integrate that knowledge into applied CS. We've been reading the book for some time now, but we really don't know enough about the subject matter to really apply it.
I think there is a lot of use for biomimicry in computing. I think integration of biological elements into our computers is quite a bit far off and perhaps a bit sci-fi-ish for now, but taking ideas (algorithm would often be an understatement) that work well in biological systems and using them in computing is something we can do now with some success.
Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
What I'm listening to now on Pandora...
The ARMY has live soldiers and dead soldiers
Binary has 8 bits to a byte, DNA has 3 nucleotides to a codon.
The ARMY has 8 to 10 soldiers to a squad.
Computers and biology seem to have a natural fit;
The ARMY also seems to fit the computer model using the same criteria. Does that make it a computer?
-- Thou hast strayed far from the path of the Avatar.
Technology is not morally or societally neutral, despite what we would like to think. A very simple example of this is the car: cars, in order to maximize their utility, require a vast network of roads, parking spaces, and gas stations. This network is expensive to society for environmental reasons and has definite social and economic effects (such as time lost in commuting and traffic jams). These are unavoidable if we wish to use the technology of cars.
I have an essay in progress on this topic: The Analysis of Technologies - its got some stuff that is quite out of date since I started working on the essay eight years ago :-)
A really great book on the subject of analyzing the future effects of technology is "In the Absense of the Sacred" by Jerry Mander. This book is very much slanted politically to the "small/simple is beautiful" outlook, but provides a very substantial wealth of logical arguments and academic studies to demonstrate some of the necessary principle of analyzing technologies.
As for your specific questions, one obvious effect will be that in our commercial environment, not everyone will have equal access to the benefits that may be provided by the integration of computational and biological technologies.
Since it will not be genetic engineering in the "traditional" sense, this technology may be used as a backdoor for creating designer babies without actually modifying a zygote's genetic material.
Helping with organizational effectiveness is our job.
Who wants to put some money down on a wager that the first significant merger of biology and computers will be accomplished by the pr0n industry?
"Ask not what your country can do for you." --John F. Kennedy
The biggest problem right now is that the technology isn't there yet. Simply decoding a single strand of DNA is a long process fraught with the use of various enzymes and chemicals to find out what the actual composition is. If and when we develop better ways of dealing with bio material (nano-bots?) biological computers could be a very good choice. The advantages in parallel computing alone would completely revolutionize computing as we know it.
Of course, there is a downside. Massive parallelism means that programming will become orders of magnatude more difficult. People today can barely wrap their heads around out of order instructions and code that works well with superscaler architectures. What happens when we increase this complexity by a million fold?! I'm thinking that bio computing could produce some rather interesting advances in the way we communicate/program computers.
Javascript + Nintendo DSi = DSiCade
The first hour or two of disassembling was figuring out where the code was, and where the data was.
The next day or so of poring over those printouts were spent mapping out where the entry/exit points for subroutines were.
I got to the point where I could guess where game graphics were, just by looking for oddly repeating patterns in the "data" areas. (Yup, in binary, those 8-byte sequences make up the bitmaps for the characters "A", "B", "C"...")
"Oh, XX AA XX BB XX CC, somewhere near XXDD in memory space. Must be a list of pointers to something."
"Oh, XXAA, XXBB and XXCC all start with the same byte, and that byte is XXAA minus XXBB (or XXBB minus XXCC). Now I know how big each element in the structure is."
And so on. The first day or two of hacking would result in me figuring out about 10% of what the data was for.
The other 90% was the hard part, typically requiring running some coke, poking at the data, and running the code again to see what changed. "Maze wall moved here, then things crashed when I tried to walk through it."
Sure, 99% of our genome might be junk. There were plenty of areas of address space that contained "data" that was never accessed, even with the tight code written in the 8-bit days.
But when I found a string of bytes I didn't understand, the working assumption that usually went better for me was that "I don't know what this stuff does", not "these bytes are random".
I'll bet that 90% of the genome is never executed nor referenced as data. (Evolution's a messier programmer, and there's 4.5 billion years of cruft!) But I'll bet that a lot of that "junk" is just code we haven't reverse-engineered yet.
Ramblings over - to the poster, all of the ideas in this post are probably ancient history (and poorly-written at that - you can tell I have no bio background), but it's nice to see I'm not completely off my rocker.
I went the CS route because when they taught biology in high school, it was seen as preparation for "become a doctor". Nothing wrong with doctors, but I was interested in more interested in hacking and figured it would be a long time, if ever, before we could manipulate DNA the way I could manipulate bits on a machine. (I've been pleasantly surprised with the way things turned out, though! :)
CS grads are a dime a dozen in the job market; I like my job, but career-wise, the field's been played out. If you're about to go into college, and especially if you like to reverse-engineer stuff "because it's fun", get into bioinformatics, computational biology, and do your CS as a minor. At least, that's what I'd do if I were gonna start over.
DNA in and of itself can't do calculations (well, that I know of... show me how and I'll believe you). The brain can do massively parallel computations (think facial/object/voice recognition in microseconds, and at the same time). Here's one big problem in taking advantage of that kind of thing (other than ethical issues). Say you have taken some head and hooked it up to a computer. It may recognize things just fine and many times faster than any normal computer, but how to get that information back to the computer? Sure you can interface with specific neurons, etc. but which ones? Do you tap into Wernicke's or Broca's area (the parts responsible for speech/word comprehension)? How do you interpret the signals coming from that area? If you interface anywhere else, you likely wouldn't have any kind of word/name/etc, because Wernicke's is responsible for all speech comprehension (without it there's no giving meaning to the words one hears or reads, and no putting words to actions, feelings, anything else).
So what biological computing has to offer in speed is basically countered by the difficulty in gaining access to the information, unless MAJOR advances are made. And for simple math-type computing problems, biological processing would probably never catch up to what we have now in electronic computers.
Just my 2 bits worth.
I think that ultimately biology will contribute more to CS than the other way 'round.
Presuming you're not a creationist, there are MILLIONS of generations worth of Darwinism at work in even a simple worm - weeding out the inefficient in times of stress, etc.
Granted, the process in biology is neither linear nor even relatively efficient, but there are tremendous lessons in autonomous operation, fault-tolerance (HUGE), adaptability, etc that bio systems can teach or implement in computer situations - what can bio-systems get from computers? It just seems natural (ha!) that the more we learn from bio-systems, the more we'll apply it to computer paradigms. Until now, it's been too complex for us to really understand.
-Styopa
You've asked some very broad questions which delve into both technical and social issues. I'm not much of a social theorist, but I do know something about computing and biotechnology. I'm a postdoc in a lab that studies genomics and biological regulatory networks using computational methods. There are two basic approaches to merge bio and computing: 1) You try to improve computing by using ideas or techniques from bio, and 2) You try to do something interesting in bio by using ideas from computing. Examples of (1) trying to improve computing by using bio would be such things as DNA computing or doing massive combinatorial searches in chemical solutions. In DNA computing, you use various enzymes or chemical agents to modify a DNA string. Think of it as a turing machine acting on a strip, except the strip is now a piece of DNA. Since the DNA strip is modified over the procedure, the "state function" is partially encoded in the data strip, not just internally in the chemical agent. The great advantage of DNA as a computing medium is that there are methods for selectively replicating DNA based on its "state". So you can run your chemical procedure over many different possible DNA sequences simultaneously and then only replicate the particular sequence with the desired state, which gives your answer. At the moment, DNA computing is most useful for search problems. For example, several years ago, the traveling salesman problem was tackled in a DNA system. There is a lot of research now into new operations that can be performed on DNA strings (e.g. ways of doing multiplication or addition using various enzymes and data encodings) to broaden the types of problems that can be tackled. Anyway, this is one way people are using bio to improve computing, broadly defined. In a lot of ways, this isn't really bio anymore. Scientists discovered DNA and enzymes in cells, but now we're just using them as materials for computation. People also use similar search techniques with non-biological molecules. Some similar search and amplification procedures are used to make synthetic organic compounds in drug discovery. DNA, however, is particular useful because it's a long molecule so a lot of operations can be performed on it. As far as how DNA will affect computing in the long run, I don't know. We're still very far from making a dna computer that can achieve anything like what silicon-based systems can. But there could be big technological advances eventually. I don't know of any ways that bio systems have affected our ideas about computing at a software level -- except to perhaps funnel more interest towards massive parallelism. Again, I don't want to imply pessimism about what could be invented. As for (2) how computing could affect biology, this is much less concrete. I'll interpret this to mean that one is trying to program biological systems to do something. i.e. if we give a well-defined instruction set, can we get a cell, organ, or organism to yield a particular output? This to me is just the basic problem of science -- trying to understand how stuff works. We'll be able to "program" cells, organs, or organisms if we understand them as well as we now understand the chemical properties of DNA, or even better, as well as we understand silicon-based semiconductors.