Hat DNA so etwas wie IF-Anweisungen, GOTO-Sprünge oder WHILE-Schleifen?
In der Softwareentwicklung haben diese Konstrukte folgende Funktionen:
Sind ähnliche Konstrukte in der DNA vorhanden? Wenn ja, wie werden sie umgesetzt und wie heißen sie?
Biologische Beispiele ähnlich Programmieranweisungen:
IF
: Transkriptionsaktivator; wenn vorhanden, wird ein Gen transkribiert. Im Allgemeinen gibt es keine Beendigung von Ereignissen, es sei denn, das Signal ist weg; das Programm endet erst mit dem Tod der Zelle. Die IF
Anweisung ist also immer Teil einer Schleife.WHILE
: Transkriptionsrepressor; Das Gen wird transkribiert, bis der Repressor nicht mehr vorhanden ist.function
Anrufen. Alle Ereignisse finden im selben Raum statt und es besteht immer die Wahrscheinlichkeit von Interferenzen. Man kann argumentieren, dass Organellen als Kompartiment fungieren können, das function
ähnliche Eigenschaften haben kann, aber sie sind hochkomplex und nicht nur eine Art Input-Output-Geräte.GOTO
ist immer abhängig von einer Bedingung. Dies kann bei bestimmten Netzwerkverbindungen wie Feedforward-Schleifen und verzweigten Pfaden passieren. Wenn es zum Beispiel einen Signalweg wie diesen gibt: Logikgatter wurden unter Verwendung synthetischer biologischer Schaltkreise konstruiert. Weitere Informationen finden Sie in dieser Bewertung.
Molekularbiologische Prozesse lassen sich nicht direkt mit einem Computercode vergleichen. Es ist die zugrunde liegende Logik, die wichtig ist, und nicht das Aussagekonstrukt selbst, und diese Beispiele sollten nicht als absolute Analogien angesehen werden. Es ist auch anzumerken, dass DNA nur eine Reihe von Anweisungen und nicht wirklich eine voll funktionsfähige Einheit ist (sie ist bis zu einem gewissen Grad funktionsfähig). Obwohl es sich jedoch nur um einen Code handelt, ist es vergleichbar mit einem HLL-Code, der kompiliert werden muss, um seine Funktionen auszuführen. Siehe auch diesen Beitrag.
Es ist auch wichtig zu beachten, dass die Zelle, wie viele andere physikalische Systeme, analoger Natur ist. Daher gibt es in den meisten Situationen keinen 0/1 (binären) Wert von Variablen. Betrachten Sie die Genexpression. Wenn ein Transkriptionsaktivator vorhanden ist, wird das Gen transkribiert. Wenn Sie jedoch die Konzentration des Aktivators weiter erhöhen, wird die Expression dieses Gens zunehmen, bis es einen Sättigungspunkt erreicht. Hier gibt es also keine digitale Logik. Allerdings möchte ich hinzufügen, dass Schaltverhalten in biologischen Systemen möglich ist (inklusive Genexpression) und auch in vielen Fällen genutzt wird. Bestimmte regulatorische Netzwerkstrukturen können solche Dynamiken hervorrufen. Kooperation mit oder ohne positives Feedback ist einer der Mechanismen, die Schaltverhalten implementieren können. Weitere Einzelheiten finden Sie unterUltrasensibilität . Sehen Sie sich auch „ Kann die Molekulargenetik aus einer kontinuierlichen Variablen eine boolesche Variable machen? “ an.
BREAK
SWITCH-CASE
. Es hängt alles ab. Die logische Verknüpfung ist hier relevanter als Programmanweisungen. Schließlich beruhen diese Aussagen auf logischen Tests.DNA ist nicht analog zu Computercode, was Ihre Suche nach ähnlichen Konstrukten darin bedeutungslos macht. Um ein paar einfache Beispiele zu nennen, warum das so ist:
Computercode hat eine sequentielle Ausführungsreihenfolge; DNA wirkt parallel und außerhalb der Reihenfolge, sie wird nicht "ausgeführt".
Computercode hat eine strenge und konsistente Bedeutung, sodass die Zeile if x==4 : x=7
immer dasselbe tut. kodierende DNA wird in Aminosäuren übersetzt, und es sind die komplexen chemischen Wechselwirkungen zwischen diesen Säuren, die Proteinen ihre Funktion verleihen, sodass kein Stück kodierender DNA außerhalb seines Proteins verstanden werden kann.
Biologische Systeme haben einige Wege, die ähnlich wie Computer funktionieren, aber Sie sollten diese auf der Proteinebene suchen, nicht auf der DNA-Ebene, und selbst dann müssen Sie äußerst vorsichtig sein, dass Ihre Analogie Ihr Verständnis nicht beeinträchtigt was wirklich passiert.
Es gibt sicherlich einige Vergleiche zwischen der Art und Weise, wie Gene aus DNA exprimiert werden, und logischen Funktionen, aber sie sind nicht großartig.
Aber die Synthetische Biologie ist wirklich ein blühendes neues Gebiet, das versucht, logische Funktionen in die Biologie zu integrieren, siehe zB Siuti et al (2013) .
Das obige Papier ist ein brillantes Beispiel für eine Gruppe, die Bakterien verwendet, um Informationen zu speichern und sich zu biologischen Schaltkreisen zusammenzusetzen, die dann zur Verarbeitung logischer Funktionen verwendet werden können. Es wird also gemacht, aber nicht genau so, wie Sie es vorschlagen.
Nur um die vorherigen Antworten zu ergänzen, aber transkriptionelle Interferenz (siehe z . B. Shearwin et al., 2005 ) kann als eine Form der IF-Anweisung (oder WHILE) in dem Sinne angesehen werden, dass:
if(x transcribed){not y transcribed}
Die Interferenz muss jedoch nicht binär sein, und häufiger sind abgestufte Reaktionen. Eine transkriptionelle Interferenz kann auch auf der RNA-Stufe stattfinden (siehe z. B. Xue et al, 2014 ), indem Antisense-RNA verwendet wird und häufig eine negative Rückkopplungsschleife bereitgestellt wird, aber die Interferenz wird dann von der DNA entfernt und stellt keine direkte IF-Aussage dar analog auf der DNA-Stufe.
Für mich ist GOTO hauptsächlich für die sequenzielle Codeausführung sinnvoll, und dies ist für DNA nicht der Fall (viele Transkriptionen finden ständig parallel statt). Allgemeiner bedeutet die parallele "Ausführung" von DNA zusammen mit den kontinuierlichen Wechselwirkungen und Rückkopplungsschleifen zwischen DNA, Transkripten und Proteinen (unter anderem), dass zelluläre Prozesse weitaus weniger eindeutig und nachvollziehbar sind als Computercode, was bedeutet, dass Computer Code ist eine sehr schlechte Metapher für zelluläre Prozesse und das Funktionieren der DNA.
Wie WYSIWYG sagte, gibt es kein Äquivalent für Funktionsaufrufe, da es immer zu Interferenzen kommen wird. Man könnte jedoch argumentieren, dass einige modulare Signalwege (z. B. Apoptose-Signalisierung) als "Codeblock" angesehen werden können, bei dem eine bestimmte Eingabe (fast) sicher zu einer bestimmten Wirkung führt. Die Analogie zu Funktionsaufrufen besteht darin, dass es bei der Beschreibung vieler verschiedener Mechanismen zu kürzerem und effizienterem "Code" führt, um alles zwischen z. Caspase-Aktivierung und Cytochrom-Leakage als ein Block. Auch die Markierung eines Proteins mit Ubiquitin kann als Funktionsaufruf für den Abbau angesehen werden.
Wenn Sie an den Bausteinen für die Programmierung mit Biologie interessiert sind, schauen Sie sich das Programm biobricks.org an, das darauf abzielt, modulare Teile (Bausteine) zu definieren, die Sensoren, Logikfunktionen, Effektoren usw. sein können.
Bezüglich Funktionsaufrufen:
Es gibt keine Äquivalente von Funktionsaufrufen. Alle Ereignisse finden im selben Raum statt und es besteht immer die Wahrscheinlichkeit von Interferenzen. Man kann argumentieren, dass Organellen als Kompartiment fungieren können, das eine Funktion wie Eigenschaften haben kann, aber sie sind hochkomplex und nicht nur eine Art Input-Output-Geräte.
und
Wie WYSIWYG sagte, gibt es kein Äquivalent für Funktionsaufrufe, da es immer zu Interferenzen kommen wird.
Ich denke, dass Kernrezeptoren großartige Beispiele für Funktionsaufrufe sind. Sie hängen im Cytosol herum und ermöglichen so, dass die normale Programmierung auf normative Weise funktioniert. Nach der Aktivierung mit ihrem Liganden verlagern sie sich in den Zellkern, um Subroutinen der Genrepression/-aktivierung und nachfolgende Downstream-Prozesse zu aktivieren.
Auf diese Weise könnte man sogar argumentieren, dass die meisten anfänglichen Ligandenwechselwirkungen, die die zelluläre Signalgebung auslösen, Funktionsaufrufe sind.
Neben der hervorragenden WYSIWYG-Antwort gibt es auf der unteren Ebene einige programmierähnliche Konstrukte:
aaaaa sagt Monica wiedereinsetzen
Benutzer
GOTO
Anweisung.Dateiunterwasser
WYSIWYG
WYSIWYG
GOTO
auf der anderen Seite ist der Teil des Hauptprogramms und steuert nur den Befehlsfluss. Während der Informationsfluss in biologischen Systemen kontrolliert werden kann, ist es fast unmöglich, eine separate Umgebung bereitzustellen, die für echte Funktionen erforderlich ist.Dateiunterwasser
WYSIWYG
GOTO
. In den meisten Sprachen ist es veraltet. Die Aktion vonGOTO
kann also von anderen Anweisungen ausgeführt werden. Sie haben also Recht. Darüber hinausGOTO
erfordert Etiketten; Auch wenn man sich einen Promotor für einen bestimmten TF als Label vorstellen kann, ist er doch eher eine logische Bedingung, die es zu erfüllen gilt. Wichtiger als eigentliche Aussagen ist also die zugrunde liegende Logik.skymningen
Michael
Kyle Strand
Leichtigkeitsrennen im Orbit
Leichtigkeitsrennen im Orbit
Jonathan
Sanchises
display:none
(obwohl es in DNA durchaus erlaubt ist); Diese Elemente können das Protein Javascript enthalten. Hier und da ist eine rudimentäre Form von PHP vorhanden (siehe Antwort von @WYSIWYG).kon psych
alias DrHouse
Immer verwirrt
James