Register | Sign In


Understanding through Discussion


EvC Forum active members: 65 (9162 total)
2 online now:
Newest Member: popoi
Post Volume: Total: 915,817 Year: 3,074/9,624 Month: 919/1,588 Week: 102/223 Day: 0/13 Hour: 0/0


Thread  Details

Email This Thread
Newer Topic | Older Topic
  
Author Topic:   A Programmer Unimpressed with Biological "Design"
lpetrich
Inactive Member


Message 1 of 18 (62511)
10-24-2003 2:34 AM


This Salon article, How I decoded the human genome, contains a comment from someone with a lot of experience in computer programming:
quote:
Kent spoke to me in nerdspeak, with geekoid locutions such as the use of "build" as a noun: "That's the most recent build of the genome. Build 31." I was used to hearing biologists talking about the elegance of DNA with what might be called reverence. By contrast Kent spoke of DNA as if it were the most convoluted, ill-documented, haphazardly maintained spaghetti code -- not God's most sublime handiwork, but some hack's kludge riddled with countless generations of side effects, and "parasites on parasites."
"It's a massive system to reverse-engineer," he said. "DNA is machine code. Genes are assembler, proteins are higher-level languages like C, cells are like processes ... the analogy breaks down at the margins but offers useful insights." It was nearly impossible to tell the working code from cruft, Kent said. "That's why a lot of people say, 'The genome is junk.'" But that's what he found interesting: a high-quality programmer's code is always self-evident, but legacy assembler handed down from generation to generation of bricoleurs (I'm paraphrasing again) provides a real challenge for people who like puzzles.

Replies to this message:
 Message 2 by JIM, posted 10-25-2003 6:12 PM lpetrich has not replied
 Message 3 by DNAunion, posted 11-01-2003 2:47 AM lpetrich has not replied
 Message 15 by Brad McFall, posted 11-02-2003 9:47 PM lpetrich has not replied

  
JIM
Inactive Member


Message 2 of 18 (62805)
10-25-2003 6:12 PM
Reply to: Message 1 by lpetrich
10-24-2003 2:34 AM


The completion of the efforts to sequence the human genome, as well as the genomes of other organisms, will bring about a new era in biomedical and biochemical engineering research. Advances in genomic technology open a new repertoire of tools for bioengineering applications. In the near future, genetic manipulations will offer novel strategies for diagnosing and treating diseases, maximizing agricultural output, and using living cells to generate chemical compounds. As chemical engineers, we bring an important set of skills to implementing this exciting technology.
In order to utilize the power of genomic techniques fully, we must better understand how quantitative changes in the expression or activity of individual genes can affect global cellular processes. Living cells are extremely complex systems, comprised of 1000-100,000 different gene products. Each gene product can interact with several others, often forming regulatory mechanisms with elaborate features such as pathway redundancies or feedback loops. In our efforts to design cells for a particular function, we generate mathematical models of the relevant cellular processes in an attempt to identify candidate genes which strongly and specifically regulate that function. Then we test our models by genetically altering the expression or activity of the prime candidate genes. This combination of modeling and experiments can enhance our efficiency in developing an understanding of cellular processes as dynamic systems.
One limitation of modeling biological systems is the relative lack of quantitative data on intracellular reactions responsible for transmitting biochemical signals. We are developing new techniques to fuse pro-teins to surfaces and to detect their binding to, or modification by, other proteins. These "protein chip" experiments will permit us to analyze the kinetics of hundreds or thousands of different enzyme-ligand reactions in parallel, and obtain data for accurate models of cell behavior. This will improve our understanding of how chemical signaling reactions in cells regulate cell behavior, allowing us to experimentally alter those signaling pathways to achieve the desired cell function.

This message is a reply to:
 Message 1 by lpetrich, posted 10-24-2003 2:34 AM lpetrich has not replied

  
DNAunion
Inactive Member


Message 3 of 18 (63778)
11-01-2003 2:47 AM
Reply to: Message 1 by lpetrich
10-24-2003 2:34 AM


quote:
"DNA is machine code. Genes are assembler, proteins are higher-level languages like C, cells are like processes ... the analogy breaks down at the margins but offers useful insights."
/*DNAunion*/ I think the analogy is already broken.
Let's start with the assumption that DNA is the machine code of the cell. "Genes are assembler" is then wrong. The idea is that "Genes are to DNA as assembly language is to machine code". But...
(1) Assembly language is based on mnemonics -- short 3- or 4-letter English-like instructions that represent longer, binary (0's and 1's) machine code: the two languages use completely different coding systems.
(2) Genes are basically just stretches of DNA, which, of course, use the same coding system.
The correct analogy would be "Genes are to DNA as (processor) instructions are to machine code".
Then there's the last part: "Cells are like processes". That's incorrect too. Perhaps way back before OOP (object-oriented programming) days that might have been a decent analogy, but for the past decade and more the correct statement would be "Cells are like objects in an OOP".

This message is a reply to:
 Message 1 by lpetrich, posted 10-24-2003 2:34 AM lpetrich has not replied

Replies to this message:
 Message 4 by Percy, posted 11-01-2003 7:35 AM DNAunion has replied

  
Percy
Member
Posts: 22392
From: New Hampshire
Joined: 12-23-2000
Member Rating: 5.3


Message 4 of 18 (63782)
11-01-2003 7:35 AM
Reply to: Message 3 by DNAunion
11-01-2003 2:47 AM


Hi DNAunion!
You quoted this from the Salon article (How I decoded the human genome):
quote:
"DNA is machine code. Genes are assembler, proteins are higher-level languages like C, cells are like processes ... the analogy breaks down at the margins but offers useful insights."
I agree that the analogy breaks down pretty quickly, and at the core, not at the margins. It is essentially useless except for pointing out that both software and heredity have a hierarchy of representation.
The key flaw in the analogy is where DNA is compared to machine code while genes are compared to assembler. The key advantage provided by assemblers is symbolic addressing and automatic encoding of machine instruction fields (address modes, address offsets, register specification, etc). Assembler instructions have a nearly one-to-one correspondence with machine instructions, while genes in no way have a one-to-one relationship with DNA nucleotides, but rather are collections of many contiguous DNA nucleotides.
A more workable analogy would be to compare DNA nucleotides to individual program statements and genes to functions created from many program statements.
I don't think I could agree with this:
DNAunion writes:
The correct analogy would be "Genes are to DNA as (processor) instructions are to machine code".
Processor instructions and machine code are pretty much synonyms.
--Percy

This message is a reply to:
 Message 3 by DNAunion, posted 11-01-2003 2:47 AM DNAunion has replied

Replies to this message:
 Message 5 by DNAunion, posted 11-01-2003 12:58 PM Percy has replied
 Message 6 by DNAunion, posted 11-01-2003 1:06 PM Percy has replied

  
DNAunion
Inactive Member


Message 5 of 18 (63808)
11-01-2003 12:58 PM
Reply to: Message 4 by Percy
11-01-2003 7:35 AM


quote:
Percipient: Processor instructions and machine code are pretty much synonyms.
/*DNAunion*/ As are DNA and genes.
As used by the author, the term DNA in general would represent a genome or at least a relatively large portion of the genome under investigation: a gene is a single segment of that DNA.
When someone refers to machine code in general they are referring to a series of processor instructions (opcodes) and data, both represented in binary, that constitutes a program, module, function, or other compound unit of logic.
In such contexts, a single processor instruction is to machine code as a gene is to DNA.
[This message has been edited by DNAunion, 11-01-2003]

This message is a reply to:
 Message 4 by Percy, posted 11-01-2003 7:35 AM Percy has replied

Replies to this message:
 Message 7 by Percy, posted 11-01-2003 1:56 PM DNAunion has replied

  
DNAunion
Inactive Member


Message 6 of 18 (63810)
11-01-2003 1:06 PM
Reply to: Message 4 by Percy
11-01-2003 7:35 AM


/*DNAunion*/ I think the analogy breaks down at the very first statement: that DNA is like machine code.
DNA performs no real function itself, it basically just stores information for the rest of the system. Probably the most analogous component of a computer system is a secondary storage device, such as a hard drive, CD-ROM drive, etc.
Both in a computer system and a cell, the information stored is useless until it is moved out of its storage medium to a location where it can be processed. Copying of DNA information (and loosely, the subsequent tranporting of it to where it can be used) is trascription. This is analogous to retrieving information from a hard drive and storing it in main memory.
And so on.

This message is a reply to:
 Message 4 by Percy, posted 11-01-2003 7:35 AM Percy has replied

Replies to this message:
 Message 8 by Percy, posted 11-01-2003 4:37 PM DNAunion has replied

  
Percy
Member
Posts: 22392
From: New Hampshire
Joined: 12-23-2000
Member Rating: 5.3


Message 7 of 18 (63817)
11-01-2003 1:56 PM
Reply to: Message 5 by DNAunion
11-01-2003 12:58 PM


DNAunion writes:
When someone refers to machine code in general they are referring to a series of processor instructions (opcodes) and data, both represented in binary, that constitutes a program, module, function, or other compound unit of logic.
Yes, I think you're right, that must be how they are defining machine code, but it is a misuse of the term. Since you also find this definition acceptable, I wonder if this use of the term is becoming common. After reading a couple definitions on the net (Machine Code1, Machine Code2) I can see how the misimpression might arise that it is an acceptable use of the term to refer to the collection of all processes as "machine code", and since definition follows usage, perhaps this is accepted now, but I hope not. It would be like referring to the collection of metal, plastic and rubber in your driveway as matter - you wouldn't really be wrong, but people are more likely to understand what you're talking about if you call it a car.
In the software industry the terms machine code or machine instructions or processor instructions are all synonyms for the bit level representation of instructions that sit at the bottom of the hierarchy of more abstract programming concepts. One might be able to build a workable analogy by comaparing machine code to DNA nucleotides, but it would probably be better to leave machine code out of the analogy altogether and to instead compare nucleotides to assembler-level instructions. Genes could be functions, and the genome could be the entire program that consists of all the functions.
--Percy

This message is a reply to:
 Message 5 by DNAunion, posted 11-01-2003 12:58 PM DNAunion has replied

Replies to this message:
 Message 10 by DNAunion, posted 11-02-2003 7:33 PM Percy has not replied
 Message 11 by DNAunion, posted 11-02-2003 7:48 PM Percy has not replied

  
Percy
Member
Posts: 22392
From: New Hampshire
Joined: 12-23-2000
Member Rating: 5.3


Message 8 of 18 (63825)
11-01-2003 4:37 PM
Reply to: Message 6 by DNAunion
11-01-2003 1:06 PM


DNAunion writes:
I think the analogy breaks down at the very first statement: that DNA is like machine code.
DNA performs no real function itself, it basically just stores information for the rest of the system.
As does machine code. The DNA code is interpreted by the cells RNA machinery, and the machine code is interpreted by the processor, so I couldn't agree with this:
Probably the most analogous component of a computer system is a secondary storage device, such as a hard drive, CD-ROM drive, etc...Copying of DNA information (and loosely, the subsequent tranporting of it to where it can be used) is trascription. This is analogous to retrieving information from a hard drive and storing it in main memory.
I think you're forgetting that machine instructions in memory are copied to the processor where they are executed.
But I think we're over-analyzing this. Getting back to the original analogy:
quote:
"DNA is machine code. Genes are assembler, proteins are higher-level languages like C, cells are like processes ... the analogy breaks down at the margins but offers useful insights."
If by "machine code" he actually means all the instructions available to a processor, then this analogy improves but still breaks down quickly. Genes encode for proteins, but assembler does not encode for higher-level languages, except perhaps when you bootstrap onto a new architecture. To me a gene is more analogous to a sequence of assembler statements that carry out a function, so saying that genes are to proteins as assembler is to higher level languages doesn't really hold together for me, though I like the comparison of cells to processes. I think his analogy says more about his misconceptions of computing machinery than it does about the DNA machinery behind heredity.
--Percy

This message is a reply to:
 Message 6 by DNAunion, posted 11-01-2003 1:06 PM DNAunion has replied

Replies to this message:
 Message 9 by DNAunion, posted 11-02-2003 7:15 PM Percy has replied

  
DNAunion
Inactive Member


Message 9 of 18 (64022)
11-02-2003 7:15 PM
Reply to: Message 8 by Percy
11-01-2003 4:37 PM


quote:
/*DNAunion*/ Probably the most analogous component of a computer system is a secondary storage device, such as a hard drive, CD-ROM drive, etc...Copying of DNA information (and loosely, the subsequent tranporting of it to where it can be used) is trascription. This is analogous to retrieving information from a hard drive and storing it in main memory.
quote:
Percipient: I think you're forgetting that machine instructions in memory are copied to the processor where they are executed.
/*DNAunion*/ Nope. Having a 4-year degree in CIS I am well aware of that.
But YOU seem to have forgotten about the same RNA machinery you reference. Otherwise, you would have seen more deeply into the analogy and realized your objection was wrong.
First, let’s look at this quote and note how good my analogy between DNA and secondary storage is.
quote:
6. Secondary storage unit. This is the long-term, high-capacity warehousing section of the computer. Programs or data not actively being used by the other units normally are placed on secondary storage devices (such as disks) until they are again needed, possibly hours, days, months, or even years later. (Dietel & Dietel, C++: How to Program: Fourth Edition, Prentice Hall, 2003, p6)
/*DNAunion*/ One could almost translate that directly into molecular biology (DNA is the long-term, high-capacity, information warehousing component of a cell, where information is read as needed by other components of the cell, etc.).
So back to my analogy, with another step added (the one that Percipient was incapable of determining).
(1) Secondary storage devices store a computer’s information as symbol sequences but are not what interpret that information
(2) The information stored in the secondary storage devices is read into main memory as needed
(3) The binary sequences in main memory are moved into the CPU where they are interpreted/processed
(1) The cell’s DNA stores information as symbol sequences but is not what interprets that information
(2) The information stored in DNA is read into mRNA (and other RNAs) as needed
(3) The nucleotide sequences in the mRNA are moved to the ribosome where they are interpreted/processed
Of course, although cells and computers share many similarities they also have many differences. You’re not likely going to find any analogy that fits 100% accurately and covers 100% of both systems. As far as this one goes, it’s about as good as one can be.
[This message has been edited by DNAunion, 11-02-2003]

This message is a reply to:
 Message 8 by Percy, posted 11-01-2003 4:37 PM Percy has replied

Replies to this message:
 Message 12 by Percy, posted 11-02-2003 7:53 PM DNAunion has replied

  
DNAunion
Inactive Member


Message 10 of 18 (64024)
11-02-2003 7:33 PM
Reply to: Message 7 by Percy
11-01-2003 1:56 PM


quote:
/*DNAunion*/ When someone refers to machine code in general they are referring to a series of processor instructions (opcodes) and data, both represented in binary, that constitutes a program, module, function, or other compound unit of logic.
quote:
Percipient: Yes, I think you're right, that must be how they are defining machine code, but it is a misuse of the term. Since you also find this definition acceptable, I wonder if this use of the term is becoming common. After reading a couple definitions on the net (Machine Code1, Machine Code2). ... In the software industry the terms machine code or machine instructions or processor instructions are all synonyms for the bit level representation of instructions that sit at the bottom of the hierarchy of more abstract programming concepts.
/*DNAunion*/ Let's look at the definition you linked to in Machine Code1 and read their paragraphs. I’ll highlight some things.
quote:
MACHINE CODE Computer Dictionary
Definition: The representation of a computer program which is actually read and interpreted by the computer. A program in machine code consists of a sequence of machine instructions (possibly interspersed with data). Humans almost never write programs directly in machine code. Instead, they use a programming language which is translated by the computer into machine code. (Forbidden)
/*DNAunion*/ By that dictionary's usage, which you linked to,a single processor instruction is to machine code as a gene is to DNA.
By the way, even when looking at your preferred interpretation of the term machine code my generaly analogy still holds, since it is just as correct to say that an organism's genes are made of DNA as it is to say that an organism's DNA is made of genes.
[This message has been edited by DNAunion, 11-02-2003]

This message is a reply to:
 Message 7 by Percy, posted 11-01-2003 1:56 PM Percy has not replied

  
DNAunion
Inactive Member


Message 11 of 18 (64027)
11-02-2003 7:48 PM
Reply to: Message 7 by Percy
11-01-2003 1:56 PM


quote:
Percipient: One might be able to build a workable analogy by comaparing machine code to DNA nucleotides,
/*DNAunion*/ No, nucleotides, being the symbols used by the coding system, would be analogous to bits, not machine code.

This message is a reply to:
 Message 7 by Percy, posted 11-01-2003 1:56 PM Percy has not replied

  
Percy
Member
Posts: 22392
From: New Hampshire
Joined: 12-23-2000
Member Rating: 5.3


Message 12 of 18 (64029)
11-02-2003 7:53 PM
Reply to: Message 9 by DNAunion
11-02-2003 7:15 PM


DNAunion writes:
So back to my analogy, with another step added (the one that Percipient was incapable of determining).
Oh, good grief! In the future I'll keep in mind that your posts aren't really ambiguous but are actually clever puzzles with the missing portions left as an exercise for the reader.
Turning the focus back to the original analogy, I think he was trying to make things simple by keeping the focus on structures familiar in both biology and CS. It isn't that your analogy isn't an improvement, but it may possibly be at a point where you've left the original audience behind.
--Percy

This message is a reply to:
 Message 9 by DNAunion, posted 11-02-2003 7:15 PM DNAunion has replied

Replies to this message:
 Message 13 by DNAunion, posted 11-02-2003 8:03 PM Percy has replied

  
DNAunion
Inactive Member


Message 13 of 18 (64030)
11-02-2003 8:03 PM
Reply to: Message 12 by Percy
11-02-2003 7:53 PM


quote:
/*DNAunion*/ So back to my analogy, with another step added (the one that Percipient was incapable of determining).
quote:
Percipient: Oh, good grief! In the future I'll keep in mind that your posts aren't really ambiguous but are actually clever puzzles with the missing portions left as an exercise for the reader.
/*DNAunion*/ Oh good grief! In the future I'll keep in mind that you read what you want into others' statements and then claim they are wrong.

This message is a reply to:
 Message 12 by Percy, posted 11-02-2003 7:53 PM Percy has replied

Replies to this message:
 Message 14 by Percy, posted 11-02-2003 8:33 PM DNAunion has not replied

  
Percy
Member
Posts: 22392
From: New Hampshire
Joined: 12-23-2000
Member Rating: 5.3


Message 14 of 18 (64036)
11-02-2003 8:33 PM
Reply to: Message 13 by DNAunion
11-02-2003 8:03 PM


DNAunion writes:
Oh good grief! In the future I'll keep in mind that you read what you want into others' statements and then claim they are wrong.
Gee, guy, I don't know how to respond to this. They're no smilies, so you don't appear to be joking, yet what you say seems a complete fiction to me. Tell you what, rather than doing something as silly as trying to figure out who's at fault, why don't we just stick to the Forum Guidelines and avoid the personal stuff. If you have any further comments about the analogies then go right ahead, but otherwise I think we're done.
--Percy

This message is a reply to:
 Message 13 by DNAunion, posted 11-02-2003 8:03 PM DNAunion has not replied

  
Brad McFall
Member (Idle past 5033 days)
Posts: 3428
From: Ithaca,NY, USA
Joined: 12-20-2001


Message 15 of 18 (64048)
11-02-2003 9:47 PM
Reply to: Message 1 by lpetrich
10-24-2003 2:34 AM


I am not going yet to get into this as deep as my thought on this acutally goes as I am hoping others will pick up on some other things I have recently posted so as not to let this thread "die" I will start with a quote from HLK Whithouse's Chapter 13 The theory of the genetic code @13.1 which printed "Dounce (1952) and, apparently, Gamow (1954) had the brilliant idea that the linear sequence of nucleotides in nucleic acids was responsible for determining the linear sequence of amnio acids in the polypeptide chains of protein molecules. That the linear construction of the genetic material might relfect the linear structure of the specific polypeptides was a highly original idea of attractive simplicity."p203
I will be suggesting that this induction is in fact false no matter how bright it may appear and abducts the wrong materiality. I will be attempting to construct an axiom system from which a better deduction can be gained. If I am correct the relation of parrallels and orthogonals is more complex than this determinant in evaluation of the creationist argument from similiarity given Gould's notion of convergence. While this last sentence may be unobjectionable as it stands the paticular philosophy I envelop it with may. It may raise the objection I need to remand if I am to argee somewhat with Gould against Wolfram that Natrual Selection was "over sold." We cant tell a priori, we need to find out in nature not from it.
The book reference title was, "Towards an Understanding of the Mechanism of Heredity"
[This message has been edited by Brad McFall, 11-02-2003]

This message is a reply to:
 Message 1 by lpetrich, posted 10-24-2003 2:34 AM lpetrich has not replied

  
Newer Topic | Older Topic
Jump to:


Copyright 2001-2023 by EvC Forum, All Rights Reserved

™ Version 4.2
Innovative software from Qwixotic © 2024