8 ms·
I disagree. Biology had built complex abstractions, it is just that (outside of specific bioinformatic domains) mathematics has consistently proven not to be th
by sungam 18y ago
I disagree. Biology had built complex abstractions, it is just that (outside of specific bioinformatic domains) mathematics has consistently proven not to be the appropriate language for describing complex, messy biological systems.
I like the DNA-as-code analogy. Getting the 'source code' is not the stumbling block - this is becoming far easier with high throughput sequencing methodologies. The real difficulty is writing the code. I have spent the last 3 months constructing 15kb of DNA by classical molecular biology techniques - and this was largely acheived by cut and pasting from existing DNA sequences. The cost of synthesizing large DNA fragments is currently >1 dollar / base. When this falls to trivial levels I think we will really start to see DNA programming taking off.
- maxwell 18y ago> Getting the 'source code' is not the stumbling block - this is becoming far easier with high throughput sequencing methodologies. I don't really know anything about biology, but as a programmer, the article's suggestion that DNA is "byte code" and not source makes sense. To get actual high-level human comprehensible source, I think we'd need to build abstractions on top of DNA object code. Not that I have any idea what these abstractions might look like. The article compares genomes to Windows, and I don't really know anything about biology, but it might actually be easier to reverse engineer ourselves than Microsoft's operating system, since (as far as I know) our "binary" is much smaller :)
- sungam 18y agoUltimately it comes down to sematics but I think of DNA as source code. DNA is already human-comprehensible. The organisation of genes within the sequence is actually fairly straightforward and probably not that different from how you would invent it from first principles given the constraints of the storage medium. We can routinely mix and match existing sequence components with predictable consequences. There is no need to invoke a higher level of abstraction than this. I would say that the object code is the set of RNAs present in the cell and the program is the state of all of the macromolecules in the cell - proteins, lipids, carbohydrates etc. Essentially the program is running on the organic chemistry virtual machine. When it comes to 'writing' artificial DNA the complexities are that firstly we do not understand the intricacies of how genes are turned on and off, although there is not reason that we should not come to understand this. This is the area that I am working in. The second major problem is that we cannot 'invent' new proteins as we do not how to predict the 3D shape and chemical behaviour 'folding' from the protein sequence. With massive increases in computational power and clever algorithms it is possible that this difficulty will be overcome.
- maxwell 18y agoVery interesting, thanks.