10 ms·
DNA seen through the eyes of a coder
- Aardwolf 13y agoWhat I always think would be a cool device (science fiction of course), would be one which you can give DNA code (be it copied from an existing creature, modified by someone, or computer generated), and then the machine produces the organism from that DNA code.
- dnautics 13y agoit's not a general solution, but there's: https://www.sciencemag.org/content/317/5838/632.abstract https://www.sciencemag.org/content/317/5838/632.abstract
- toufka 13y agoAt this point, it's just a matter of how tediously you want to do the work to become famous: http://en.wikipedia.org/wiki/Mycoplasma_laboratorium http://en.wikipedia.org/wiki/Mycoplasma_laboratorium Venter's doing it right now.
- dekhn 13y agoI admire Venter's ability to withstand years of toil and criticism to prove something that is absolutely fucking obvious. Given enough time and energy, you can build an organism from scratch. Of course, Venter's still pretty far away from that goal. But I suspect he will succeed; we all know there are none but technical barriers.
- jorgem 13y ago>> you can give DNA code ... and then the machine produces the organism from that DNA code My wife and I managed to do it a couple of times. Not that hard.
- nitrogen 13y agoNot all DNA would encode an organism, so sometimes you'd just end up with a goo of proteins and amino acids, or less. Still sounds like a cool machine.
- Aardwolf 13y agoOf course. Just like if you 3D print objects, some designs might print objects that are totally useless or would collapse, or if you compile C++ code, some code may give errors. Of course it will have to create a goo for bogus DNA, otherwise something would be wrong with the machine. The trick will be to find the DNA that prints real and interesting organisms :D
- kamakazizuru 13y agothis (kinda) happens already - algorithm would be along the lines of - take existing DNA - splice with added DNA code - run PCR - insert DNA into a host cell with minimal own DNA - allow it to Grow. The Craig Venter Institute pioneered this.
- TeMPOraL 13y agoThat assumes that DNA always means exactly the same thing for every organism, which - AFAIR - is not true. Information about the organism is encoded both in the DNA and the workings mechanism that uses it to construct proteins.
- Jun8 13y agoThis is fantastic! It would be awesome if there were workshops, say, of 3 months duration, where people from totally unrelated disciplines are put together with no pre-knowledge and see if anything useful will come out of it. Most of the time, nothing may come out of this, but every now and then spectacular advances may come about, I'm sure (for an example, see Adleman's development of DNA Computing, http://en.wikipedia.org/wiki/DNA_computing#History http://en.wikipedia.org/wiki/DNA_computing#History). The problem is that decades of work in a narrow field, although it makes you an expert, also dulls an outsider's novel look to the subject and leaves you with numerous explicit and, more dangerously, implicit dogmas/assumptions.
- toufka 13y agoAs someone who has a DNA synthesizer in lab, who works on manipulating DNA daily to make various synthetic proteins, who lives and works in the bay area, and who knows enough coding to have understood the language of the OP - I'd love to help bridge some of those boundaries. There is a desperate need for some programming types to think about these issues. The fields of systems & synthetic biology are just starting to gain traction, but there is so much we can learn from cross-discipline interaction. The one issue is that we pay terribly...
- davedx 13y agoHi there, a couple of us HN regulars are putting together a site to connect devs with science projects. If you're interested in hearing when it launches, drop me an email: davedx@gmail.com
- rch 13y agoCould you add some contact information to your profile perhaps? And feel free to contact me as well.
- artgon 13y agoI would be very interested as well.
- mtdewcmu 13y ago
- cristianpascu 13y agoIt's beyond my understanding, as a physicist and programmer, how can someone write a full comparison between DNA and a programming language or source code as written by intelligent beings, and at the end recommend a work on 'evidence that there is no designer' of life. The very definition of intelligence is not 'being smart', but having the ability to select one option out of a set of possible options. That is what we, programmers, do. We don't just throw lines of code randomly. We select specific ones for a specific purpose. That's how we build software, mechanisms of information put in motion by the computer. We put our logic into a decisional mechanism which mimics our decisional ability. However, life does more than that. Life is more than a mechanism driven by a source code. Consciousness goes beyond rules of decision found in programmable machines. But even if you're a physicalist, the abilities that simple beings have such as recognizing objects, paths, building nests, traveling long distances, using tools, are amazing in their own right. And yet, these all are strong evidence there is no designer beyond it all. It's mere chance, bits on a string selected by nature.
- skyraider 13y agoNot to go all [0][1][2][3] on one word in your thoughtful comment, but for me, it is always worthwhile to ponder the fact that the theory of evolution is not about chance per se. You take the intelligent-design approach - pattern recognition on designed things. I hear you. But what about the compelling inductive evidence we have that deterministic, if chaotic, natural systems are perfectly capable of establishing a feedback loop and modifying themselves? IMHO, accepting evolution is all about wrapping one's head around the notion that the result of this modification, when stretched over unimaginably large timescales, is significant change.
- kingkawn 13y agoThe time scales are not unimaginable at all. http://en.wikipedia.org/wiki/Domesticated_silver_fox http://en.wikipedia.org/wiki/Domesticated_silver_fox By selecting for behavior rather than physical byproduct, they have induced evolution at a rate not thought possible in vertebrates. Not to mention: http://en.wikipedia.org/wiki/Evolution_of_influenza http://en.wikipedia.org/wiki/Evolution_of_influenza Edit: I think the parent comment was about the difficulty imagining the process of evolution which we assume takes billions of years because we cannot observe its impact directly in ourselves except to interpret the results. Yet, it is both observable and inducible in things around us. Not so hard to imagine.
- nabla9 13y agoUsing coding examples like conditional compilation is not right abstraction for programmers to understand how genes compute. GRN is. https://en.wikipedia.org/wiki/Gene_regulatory_network https://en.wikipedia.org/wiki/Gene_regulatory_network https://en.wikipedia.org/wiki/Gene_regulatory_network#Modelling https://en.wikipedia.org/wiki/Gene_regulatory_network#Modell... GRN can be modeled using different levels of abstraction and accuracy as boolean network , recurrent neural network or as stochastic gene networks. In other words, they are capable of complex computations, but computational model looks more like neural network or stochastic network.
- mattdeboard 13y agoWell, speaking as someone who has no idea what the computational model of a neural nor stochastic network is, I strongly disagree with you.
- thethirdwheel 13y agoMy background is in bioinformatics, so this naturally caught my eye. I came away disappointed. The mappings are no easier to understand than simplistic descriptions in biology textbooks. The only thing they add is the mistaken impression of intent in the genetic code, and the expectation the analogy will continue to hold outside the scope of the enumerated mappings. Kind of ironic to run into that issue with so many Dawkins references at the end...
- benched 13y agoSurely mappings onto programming concepts can provide a different kind of understanding to programmers than biology textbooks. I'm kind of appalled by the anti-cross-disciplinary attitude displayed on HN sometimes. (Like the recent 'This guy's a physicist. He should shut up about a.i.' in regards to David Deutsch.)
- atratus 13y agoIt's important to be wary of the term 'junk DNA'...just because a segment of a chromosome is noncoding does not mean it has no role in the genome's function. Assembly of functional structure ie a Replisome requires formation of elaborate secondary and tertiary 3-D conformations that support the primary replication machinery. This is facilated by topoisomerases, binding proteins, a whole soup of RNAs, and spans of "junk" which allow the necessary conformations. In other cases, the 'junk' can serve to insulate highly conserved genes. "Junk" is a terrible characterization. This is one of those instances where the press/pop media can be a bit behind. Some bchem textbooks from even a few years ago are obsolete. Research into DNA-DNA interaction really has become hotter in only the last few years as we've begun pinning down protein roles. There is a whole layer of interaction between epigenetics, differential RNA splicing, and DNA-DNA feedback that is just mind-boggling.
- fabian2k 13y agoIt's very annoying how the media, and sometimes even the university press released, continue to announce that we have finally shown that "junk DNA" is not actually junk DNA. We've known that for decades now, but every time it is announced as if it was a completely new discovery. Of course the extent of non-coding DNA that plays some important role has not been known long, and we surely don't understand it yet completely. But finding that some non-coding DNA has a regulatory function has not been a surprise for decades now.
- deleted 13y ago[deleted]
- jonathansizz 13y agoDescribing functional non-coding DNA as junk is obviously incorrect, but the fact remains that most non-coding DNA is indeed non-functional, and therefore junk.
- dekhn 13y agohahahah you're so naive. can you provide some evidence there is any non-functional DNA in the genome? Try hard, now, you're talking to somebody who's studied this for 20+ years.
- kamakazizuru 13y agothis guy really needs to go speak to a bioinformatician. Having studied the same myself - I can safely say that he is at best drawing vague analogies - the goal of this exercise however is very unclear (especially ending with all the Dawking b.s.). I take it as him trying to say "oh look it may seem like a programming language - but it's not - so that means we were not designed by some intelligent being". But that's based on the flawed assumption of DNA being like a programming language. It's not - it's a mapping - there's no point comparing an orange to an apple - and saying - here's why it could be that an orange is an apple - but in reality it isn't. In fact - drawing such analogies is what limits our understanding of the DNA in the first place (and which is why increasing amounts of research is going into looking at it from more multi discplinary perspectives). As a simple example - researchers at Uwash recently discovered the 2nd meaning of some genetic sequences [1]. Essentially - this article is taking something man-made (programming languages & software engineering approaches) - which are often influenced by natural designs - and then comparing them to a natural design - that has a different purpose. [1] http://www.washington.edu/news/2013/12/12/scientists-discover-double-meaning-in-genetic-code/ http://www.washington.edu/news/2013/12/12/scientists-discove...
- mikektung 13y agoThe recent "duon" hype around there being a "2nd meaning of genetic sequences" isn't something scientists haven't know for a while. To take the analogy even further, there are regions of the genetic code for control flow (if/else/while/mutexes) and other regions with data (constants/numbers/strings), that make it into the final product. (ref: I used to be a bioinformatician)
- ahubert 13y agoauthor here. Turns out I am a bioinformatician these days, ten years after writing this page. I work in an actual lab, with biologists, getting results. http://bertusbeaumontlab.tudelft.nl/ http://bertusbeaumontlab.tudelft.nl/ is what I do. DNA is not a programming language, and the page itself says so. But it is possible to admire the features that DNA does have through the eyes of a software developer! Secondly, within the world of practicing DNA scientists, the link you provided was 'laughed out of court' as being the stuff of PR dreams, but not actually true. For example, see http://www.bacteriatobonobos.com/1/post/2013/12/go-home-pr-team-youre-drunk.html http://www.bacteriatobonobos.com/1/post/2013/12/go-home-pr-t...
- alcari 13y agoHere's a relevant, interesting talk [0] from 24C3 about engineering organisms. [0] https://www.youtube.com/watch?v=gadBNBJRPr0 https://www.youtube.com/watch?v=gadBNBJRPr0
- grownseed 13y agoThis is wonderful, I've always seen programming as the application of a given mindset (as opposed to the other way around) and for years since I was a kid, I thought biology, and in particular DNA, applied to the concept very well. It's not until watching the show Regenesis that I realized there was a field for it, Bioinformatics! After years of being a senior dev and such in some web shop, I'm actually starting a job in bioinformatics in a few weeks, it's beyond exciting. It's articles like this that remind me why being a programmer can be interesting beyond the code. We live in very interesting times.
- stiff 13y agoBiology is completely different from Computer Science and metaphors between the fields build no understanding and can only be misleading, every time I hear someone comparing DNA to a computer program I fall into pieces. I recommend "Molecular Biology for Computer Scientists" instead for those willing to learn some actual biology: http://www.biostat.wisc.edu/~craven/hunter.pdf http://www.biostat.wisc.edu/~craven/hunter.pdf I think it's the first chapter of this book: http://mitpress.mit.edu/books/processes-life http://mitpress.mit.edu/books/processes-life I once considered going into bioinformatics, and did an intense three weeks sprint trying to learn some molecular biology, ending in a seminar presentation to other people explaining the basics. I used this book back then which I also recommend strongly to those interested: http://www.amazon.com/Bioinformatics-Molecular-Evolution-Paul-Higgs/dp/1405106832/ref=sr_1_1?ie=UTF8&qid=1387141666&sr=8-1&keywords=bioinformatics+and+molecular+evolution http://www.amazon.com/Bioinformatics-Molecular-Evolution-Pau... It covers all the basics of molecular biology very understandably and at the same time the scientific/computational content is interesting even for a computer scientist. Still, learning this stuff takes hard work, you have to rehash some relevant chemistry first or you get nowhere, than biologists use a lot of both chemical and biological lingo which you have to understand, and only then the actual biological content becomes clear. Once you do understand it, however, it's beautiful, beautiful stuff, one of the most beautiful things one can learn in general I think, of which you unfortunately won't get a sense from reading this article, or in general from trying to understand it by sloppy metaphors. Do yourself a favour and try to understand this for real.
- dekhn 13y agoSo, you would say that information theory has nothing to do with biology? Because that's what your first sentence implies.
- Datsundere 13y agoNot if our universe was a simulation of a computer program
- ramsaysnuuhh 13y ago> Biology is completely different from Computer Science and metaphors between the fields build no understanding and can only be misleading, every time I hear someone comparing DNA to a computer program I fall into pieces. That's the kind of attitude that pushes competent programmers away from bioinformatics. End result? Almost all bioinformatics software is a steaming pile of crap.
- coin 13y ago"Coder" - boy do I hate that term. It implies that all the person does is code - no design, no collaboration, no releasing, no testing. It's like calling a roofer an hammerer. As a software engineer/developer/programmer, coding is just one aspect of what I do.
- err4nt 13y agoPerhaps encoder would fit your use of the term better. A craftsman who takes all of these disparate considerations (design, functionality, speed, sustainability) and measures them up against the known limitations of programming languages and the existing hardware available, and intentionally encodes that experience/exptertise into machine language so that knowledge can be easily communicated from human to human.
- dekhn 13y agoAh, this reminds me of my childhood. No- seriously, when I was in high school almost 25 years ago I thought this way. My interest was more in the similarity between the C preprocessor and intron splicing, and even dabbled with the similarity between the ribosome and the compiler (except, the ribosome is simultaneously far simpler than a compiler, yet infinitely richer in complexity). It's useful to have these analogies, and to some extent that really do represent true universals. In particular, in reading the history of Crick, I realized that he was a huge fan of information theory, and it helped guide his thinking about how DNA sequences are interpreted and converetd to protein sequences. However, it can be dangerous to fall down this path. In particular, biology is hotter, wetter and messier than computing. It requires scientists to have extraordinarily flexible brains; I woudl say after many years, I think the people I met in MIT Biology are smarter than the people in MIT CS- their ability to reason over ambiguous data and come up with predictive conclusions is downright amazing. If you're a computer person who wants to learn more about this, I have a couple suggestions: 1) buy Molecular Biology of the Cell 2) read the whole goddamn thing, slowing down to understand every concept rather than skimming.
- Tycho 13y agoNow, DNA is not like a computer programming language. It really isn't. But there are some whopping analogies. We can view each cell as a CPU, running its own kernel. Each cell has a copy of the entire kernel, but choses to activate only the relevant parts. Which modules or drivers it loads, so to speak. I wonder if we turned this back around, would it suggest some novel designs for computer systems?
- altras 13y agoHey, you should check out https://github.com/VarnaLab/node-organic https://github.com/VarnaLab/node-organic - organic development with NodeJS :D It has implementations on java & php too :)
- rakesh111989 13y agoThere are many people who think that DNA code should not be compared to a computer code. But I think it is actually a Holy Code. People argue that because DNA is more complex than Computer code. But this complexity can be explained in following way. When the first organisms came they only had amino acids for doing all the biological processes so the holy code was very simple. Than with evolution there was need of more complex code to execute more complex biological processes, so RNA came into existence. These new living thing had only RNA as genetic material like RNA virus. Than more evolution and We got new version of Holy Code the DNA. It has happened in billions of years so now I think you can now understand the reason for complexity. The another reason why its complex is because DNA is a code but we cannot understand computer code unless we know the language.
- mikelemmon 13y agoPerhaps the programming analogy is more similar to a language such as Logo or G-code used in CNC machines, that is used more to provide instructions to build something rather than computation and logical operations. http://en.wikipedia.org/wiki/Logo_(programming_language) http://en.wikipedia.org/wiki/Logo_(programming_language) http://en.wikipedia.org/wiki/G-code http://en.wikipedia.org/wiki/G-code