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?
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 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