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?
What needs to happen is a happy medium, biology chaning the face of computing, and computing doing the same for biology. Advances will be gained in both this way.
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
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.
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.
I recently started working at a bioinformatics position as well, coming from a pure CS background. I havn't learned enough of the biology side of things to really get into much more than tool support for distributed sequence analysis toolchains, but what the hell, might as well comment.
One thing I want to say before responding to your points: nature is _NOT_ "efficient" like computers are "efficient". Natural systems are enormous, ad-hoc, kludges. They work extremely well, and have tons of redundancy and fault-tolerance, but that's mainly due to about 4-billion years of slow, brutal, optimisation by the evolutionary process. Natural systems do certain things faster than computer systems because:
1. They've been optimised for a hell of a long time, and they've found ways to engineer and construct extremely complicated structures and processes that are still "small" (compared to modern human-engineered technology).
2. They've been allowed to search through a much larger solution space than what computers have searched through. Computers are inherently limited by the fact that they are tools which can still be reconciled for a large part with human reason - they were constructed using models that humans can understand and reason about, and explain fully from the start. Evolution, on the other hand, is much more of a blind search.
Another thing to note is that natural systems all try to solve one problem: existence and self-perpetuation. All the natural systems we are able to observe today exist because they are structured such that they can fulfill these basic requirements. Now, in the process of solving this single-minded problems, nature has managed to come up with solutions for many other problems - many of which can be borrowed and applied to human problems. But it's erroneous to think of nature as "god's textbook of problem-solving", or anything like that.
> 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.
There are two aspects to this - borrowing ideas from biology (i.e. reimplementation), and borrowing biological structures themselves (e.g. using bacteria to make enzymes, viruses as delivery vectors for drugs, growing muscle tissue for robot-locomotion, etc.). Both are happening to a certain extent.
I think it'll be a while yet before we will be able to jump into biological systems and "change the code to do what we want". We do it in really primitive, crude ways right now, but the level of complexity of biological systems, I think, will mean that it'll take time before we are able to fully control them.
>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?
I don't think biology will change theory that much. CS theory comes from the human reasoning process. I don't think there are that many abstract concepts that we can extract out of biological systems. I think the real impact will be in engineering aspects - mimicing, or reusing wholesale, biological structures to acheive the properties that we want.
> 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?
Forget the right wing. They make a lot of noise, but ultimately they are not that powerful, especially in the capitalist west. The religious conservatives are used as a tool to get votes, by pandering to their pet causes, but once people figure out a w
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