Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Medicine Science

Engineers Invent Programming Language To Build Synthetic DNA 51

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."
This discussion has been archived. No new comments can be posted.

Engineers Invent Programming Language To Build Synthetic DNA

Comments Filter:
  • exception handling (Score:5, Interesting)

    by wierd_w ( 1375923 ) on Monday September 30, 2013 @05:24PM (#44995923)

    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?

    • by Anonymous Coward on Monday September 30, 2013 @05:30PM (#44995957)

      How do they intend to resolve this problem?

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

      • 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.

        • So, more like conditional statements than comments.
          So they are more likely #ifdef followed by code than // followed by ramblings.

      • What if they remove the organism's ability to synthesize lysine [wikia.com]? That should make them dependent on supplements for survival; thus easy to control. After all, what could go wrong?
    • Just a thought, but how about "try{what_if}catch{o_no_you_didnt}finally{zombies}"?
      • by wierd_w ( 1375923 ) on Monday September 30, 2013 @05:53PM (#44996117)

        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.

        • You could make a simulation using genetic algorithms to find the best code to avoid or revert the exception.

        • Wouldn't the cell treat the defective H proteins as "not useful", and "flush" it like waste?
          • 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.

            • I'm thinking the Liver is involved in this some way. But in order for the Liver to filter this junk out, the stuff has to be placed in the blood supply. Don't "T" Cells attract White Blood cells that then drag the garbage to the Liver? Damn, feature creap, and this project hasn't even started.

              Oh man! Google doesn't have anything listed for a RFC on "amyloid plaque."
        • by Tablizer ( 95088 )

          Only a full-on nerd would be choosey about how zombies are QA'd.

    • by Nesa2 ( 1142511 )
      Reboot 3 times.
    • by tool462 ( 677306 )

      Just mention in the ToC that this is a beta service and any claims of warranty or suitability for a given purpose, blah, blah, blah. Then just offer to release a patch once the exception can be reproduced and a suitable bug report has been filed.

      • Biological simulation engineers at Umbrella Corporation cannot guarantee the accuracy of any simulated systems created using this product, and cannot be held liable for any resulting products that may result in injury or harm to any species, including but not limited to uncontrolled anomalous tissue growths, genetically linked deformities, or the mass extinction of human kind via a zombie apochalypse.

        By using this software you agree to the above enclosed terms and conditions, and to be bound to said agreeme

  • implement RAM in a synthetic genome?
  • Will people in the near future carry gene sequencers in their pockets?

    Go back to 1969 and say that people will carry computers in their pockets.

    • by Skiron ( 735617 )
      If you can remember the 60's you wasn't there.
    • Will people in the near future carry gene sequencers in their pockets?

      Future pick-up line: "Is that a gene sequencer in your pocket, or are you just happy to see me?"
      [Apologies to Mae West]

    • Will people in the near future carry gene sequencers in their pockets?

      Probably, which will lead to the inevitable question:

      Is that a gene sequencer in your pocket, or are you happy to see me?

  • by Anonymous Coward

    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).

  • by PPH ( 736903 ) on Monday September 30, 2013 @06:22PM (#44996301)

    Of humans. Like in Gattaca.

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

  • Now that we've got the code, has anyone checked our DNA to see what got REM'd out?
  • by TheloniousToady ( 3343045 ) on Monday September 30, 2013 @07:16PM (#44996699)
    Brooks' law doubtless applies. To maximize productivity, I recommend that the size of DNA programming teams be limited to two .
  • The sample looks like APL. Why invent a language with non-standard-keyboard symbols unless you really have to?

  • So... I didn't read all of the references in TFA, but this instruction set is written in LISP right? It certainly seems like the only sane language to use to develop something like this.

    Then it seems like we don't have too much to worry about in regards to viruses, since few people understand LISP worth a damn. :-) I kid, but I definitely would be interested in knowing more details, since TFA was sparse on its own.

  • To be clear, this method of computation is not a method that is done by any natural biological system as far as I know. Their method of computation involves recombining how DNA single-strands hydrogen-bond to each other. Chemical reaction networks don't necessarily have to be done with DNA, but it's much easier to implement arbitrary networks with DNA than with other sorts of molecules since you can design how DNA sticks to other DNA. So there's really no correlation between how this code works and the "gen
  • Pretty simple language: four constants, no explicit operators, but concatenation is implied between constants.

    I sequenced my girlfriend last night. I'd paste the base pairs here, but the window isn't large enough.

If you have a procedure with 10 parameters, you probably missed some.

Working...