Slashdot Mirror


Engineers Invent Programming Language To Build Synthetic DNA

vinces99 writes "Chemists soon could be able to use a structured set of instructions to 'program' how DNA molecules interact in a test tube or cell. A team led by the University of Washington has developed a programming language for chemistry that it hopes will streamline efforts to design a network that can guide the behavior of chemical-reaction mixtures in the same way that embedded electronic controllers guide cars, robots and other devices. In medicine, such networks could serve as smart drug deliverers or disease detectors at the cellular level."

8 of 51 comments (clear)

  1. exception handling by wierd_w · · Score: 5, Interesting

    Biological systems have many broken legacy "routines" that don't get called, or get called, and execute incorrectly. How do these engineers intend to deal with exception handling in this capacity?

    For instance, a well known mutation known as bombay phenotype involved a precursor protein called "H protein", which then gets modified by additional cellular processes to become either A or B blood antigen. The mutation makes a defective H protein, and thus prevents the proper activation of the A or B antigen "routine".

    If they try to build a programing language for cellular processes involving DNA and protein synthesis, then how will they handle exception cases, such as that one? It can be likened to the halting problem, because the question asked is "given these inputs and this program, will the program ever halt?"

    How do they intend to resolve this problem?

    1. Re:exception handling by Anonymous Coward · · Score: 5, Funny

      How do they intend to resolve this problem?

      Same way we always do - incoherent comments in the code.

    2. Re:exception handling by wierd_w · · Score: 4, Insightful

      The issue is that the "zombies", in this case, defective H proteins, stay in the cell and are NOT really dealt with. They become a new, undefined input in the system that must be accounted for when simulating other cellular processes being performed in parallel inside the cell.

      This can lead to a very extensive chain ot unexpected executions and transformations. Dealing with that programmatically is going to make any computer currently in operation attempting it cry to the ghost of Alan Turing and beg for mercy.

      If the goal is accurate simulation, then a (try),(catch),(finally) isn't going to work properly.

    3. Re:exception handling by wierd_w · · Score: 2

      Only if there is a process for the cell to do so. Like a computer, a cell isn't magical. This is why amyloid plaque buildup in neural tissues is a fatal degenerative disease. There is no mechanism for the cells to flush the defective products they are synthesizing from the broken synthesis chain.

      The real world KEEPS the defective biproduct, and simulates its impact on the rest of the system. A computer based simulation of that process that aims to be accurate, must also do so.

    4. Re:exception handling by WillAffleckUW · · Score: 2

      How do they intend to resolve this problem?

      Same way we always do - incoherent comments in the code.

      Actually, most of the comments in the code for DNA are regulatory siRNA, miRNA, mRNA, and other sequences which adapt to changing environmental conditions to form different protein variants by "misfolding".

      They're not garbage, they're instructions.

      Naturally, some of the instructions have graffiti written on them by actual viruses. But not as much as you think.

      --
      -- Tigger warning: This post may contain tiggers! --
  2. This is for DNA computing by Anonymous Coward · · Score: 2, Informative

    The proposed language is for DNA computing only not synthetic biology. For synthetic biology there is already an established language called the Synthetic Biology Open language (SBOL).

  3. Genetic Engineering by PPH · · Score: 2

    Of humans. Like in Gattaca.

    On the other hand, programming errors could explain a few of the people I know today: null pointer assignments.

    --
    Have gnu, will travel.
  4. If it's a programming language... by TheloniousToady · · Score: 3, Funny

    Brooks' law doubtless applies. To maximize productivity, I recommend that the size of DNA programming teams be limited to two .