Tuesday 18 June 2019

bioinformatics - Does DNA have the equivalent of IF-statements, WHILE loops, or function calls? How about GOTO?


Does DNA have anything like IF-statements, GOTO-jumps, or WHILE loops?


In software development, these constructs have the following functions:




  • IF-statements: An IF statement executes the code in a subsequent code block if some specific condition is met.

  • WHILE-loops: The code in a subsequent code block is executes as many times as specified, or as long as a specific condition is met.

  • Function calls: The code temporarily bypasses the subsequent code block, executing instead some other code block. After execution of the other code block the code returns (sometimes with some value) and continues the execution of the subsequent block.

  • GOTO-statements: The code bypasses the subsequent code block, jumping instead directly to some other block.


Are constructs similar to these present in DNA? If yes, how are they implemented and what are they called?



Answer



Biological examples similar to programming statements:



  • IF : Transcriptional activator; when present a gene will be transcribed. In general there is no termination of events unless the signal is gone; the program ends only with the death of the cell. So the IF statement is always a part of a loop.


  • WHILE : Transcriptional repressor; gene will be transcribed until repressor is not present.

  • There are no equivalents of function calls. All events happen is the same space and there is always a likelihood of interference. One can argue that organelles can act as a compartment that may have a function like properties but they are highly complex and are not just some kind of input-output devices.

  • GOTO is always dependent on a condition. This can happen in case of certain network connections such as feedforward loops and branched pathways. For example if there is a signalling pathway like this:
    A → B → C and there is another connection D → C then if somehow D is activated it will directly affect C, making A and B dispensable.


Logic gates have been constructed using synthetic biological circuits. See this review for more information.




Note


Molecular biological processes cannot be directly compared to a computer code. It is the underlying logic that is important and not the statement construct itself and these examples should not be taken as absolute analogies. It is also to be noted that DNA is just a set of instructions and not really a fully functional entity (it is functional to some extent). However, even being just a code it is comparable to a HLL code that has to be compiled to execute its functions. See this post too.


It is also important to note that the cell, like many other physical systems, is analog in nature. Therefore, in most situations there is no 0/1 (binary) value of variables. Consider gene expression. If a transcriptional activator is present, the gene will be transcribed. However, if you keep increasing the concentration of the activator, the expression of that gene will increase until it reaches a saturation point. So there is no digital logic here. Having said that, I would add that switching behaviour is possible in biological systems (including gene expression) and is also used in many cases. Certain kinds of regulatory network structures can give rise to such dynamics. Co-operativity with or without positive feedback is one of the mechanisms that can implement switching behaviour. For more details read about ultrasensitivity. Also check out "Can molecular genetics make a boolean variable from a continuous variable?"



No comments:

Post a Comment

evolution - Are there any multicellular forms of life which exist without consuming other forms of life in some manner?

The title is the question. If additional specificity is needed I will add clarification here. Are there any multicellular forms of life whic...