¿Tiene el ADN algo como declaraciones IF, saltos GOTO o bucles WHILE?
En el desarrollo de software, estas construcciones tienen las siguientes funciones:
¿Hay construcciones similares a estas presentes en el ADN? En caso afirmativo, ¿cómo se implementan y cómo se llaman?
Ejemplos biológicos similares a declaraciones de programación:
IF
: activador transcripcional; cuando esté presente, se transcribirá un gen. En general, no hay terminación de eventos a menos que la señal se haya ido; el programa termina solo con la muerte de la célula. Entonces, la IF
declaración siempre es parte de un bucle.WHILE
: represor transcripcional; el gen se transcribirá hasta que el represor no esté presente.function
llamadas. Todos los eventos suceden en el mismo espacio y siempre existe la posibilidad de interferencia. Se puede argumentar que los orgánulos pueden actuar como un compartimento que puede tener function
propiedades similares, pero son muy complejos y no son solo algún tipo de dispositivo de entrada y salida.GOTO
siempre depende de una condición. Esto puede suceder en el caso de ciertas conexiones de red, como bucles de avance y rutas ramificadas. Por ejemplo, si hay una vía de señalización como esta: Las puertas lógicas se han construido utilizando circuitos biológicos sintéticos. Consulte esta revisión para obtener más información.
Los procesos biológicos moleculares no se pueden comparar directamente con un código de computadora. Es la lógica subyacente lo que es importante y no la declaración en sí misma y estos ejemplos no deben tomarse como analogías absolutas. También se debe tener en cuenta que el ADN es solo un conjunto de instrucciones y no es realmente una entidad completamente funcional (es funcional hasta cierto punto). Sin embargo, aun siendo solo un código, es comparable a un código HLL que debe compilarse para ejecutar sus funciones. Vea esta publicación también.
También es importante señalar que la célula, como muchos otros sistemas físicos, es de naturaleza analógica. Por lo tanto, en la mayoría de las situaciones no hay un valor 0/1 (binario) de variables. Considere la expresión génica. Si está presente un activador transcripcional, el gen se transcribirá. Sin embargo, si sigue aumentando la concentración del activador, la expresión de ese gen aumentará hasta llegar a un punto de saturación. Así que no hay lógica digital aquí. Habiendo dicho eso, agregaría que el cambio de comportamiento es posible en los sistemas biológicos (incluida la expresión génica) y también se usa en muchos casos. Ciertos tipos de estructuras de redes regulatorias pueden dar lugar a tales dinámicas. La cooperatividad con o sin retroalimentación positiva es uno de los mecanismos que pueden implementar el comportamiento de cambio. Para más detalles, lea sobreultrasensibilidad _ Consulte también " ¿Puede la genética molecular hacer una variable booleana a partir de una variable continua? "
BREAK
SWITCH-CASE
. Todo depende. La activación lógica tiene más relevancia aquí que las sentencias del programa. Después de que todas estas declaraciones se basan en pruebas lógicas.El ADN no es análogo al código de computadora, lo que hace que su búsqueda de construcciones similares en él no tenga sentido. Para dar un par de ejemplos simples de por qué esto es:
El código de computadora tiene un orden secuencial de ejecución; El ADN actúa en paralelo y fuera de secuencia, no se "ejecuta".
El código de computadora tiene un significado estricto y consistente, por lo que la línea if x==4 : x=7
siempre hace lo mismo; El ADN codificante se traduce en aminoácidos y son las interacciones químicas complejas entre estos ácidos las que dan a las proteínas su función, por lo que ninguna parte del ADN codificante puede entenderse fuera de su proteína.
Los sistemas biológicos tienen algunas vías que funcionan de manera similar a las computadoras, pero debe buscarlas a nivel de proteína, no a nivel de ADN e, incluso entonces, debe tener mucho cuidado de que su analogía no perjudique su comprensión de lo que realmente está pasando.
Ciertamente, se pueden hacer algunas comparaciones entre la forma en que los genes se expresan a partir del ADN y las funciones lógicas, pero no son muy buenas.
Pero la biología sintética es realmente un nuevo campo floreciente que intenta integrar funciones lógicas en la biología, véase, por ejemplo, Siuti et al (2013) .
El documento anterior es un ejemplo brillante de un grupo que usa bacterias para almacenar información y ensamblarlas en circuitos biológicos que luego pueden usarse para procesar funciones lógicas. Así que se está haciendo pero no exactamente de la manera que propones.
Solo para agregar a las respuestas anteriores, pero la interferencia transcripcional (ver, por ejemplo , Shearwin et al., 2005 ) puede verse como una forma de declaración IF (o MIENTRAS) en el sentido de que:
if(x transcribed){not y transcribed}
Sin embargo, la interferencia no tiene que ser binaria, y las más comunes son las respuestas graduadas. La interferencia transcripcional también puede tener lugar en la etapa de ARN (ver, por ejemplo , Xue et al, 2014 ), utilizando ARN antisentido y, a menudo, proporcionando un ciclo de retroalimentación negativa, pero la interferencia luego se elimina del ADN y no representa una declaración IF directa. análogo en la etapa de ADN.
Para mí, GOTO tiene sentido principalmente para la ejecución de código secuencial, y este no es el caso para el ADN (muchas transcripciones ocurren todo el tiempo en paralelo). En términos más generales, la "ejecución" paralela del ADN junto con las interacciones continuas y los bucles de retroalimentación entre el ADN, las transcripciones y las proteínas (entre otras cosas) también significa que los procesos celulares son mucho menos claros y rastreables que el código informático, lo que significa que la computadora El código es una metáfora muy pobre de los procesos celulares y el funcionamiento del ADN.
Como dijo WYSIWYG, no hay un equivalente para las llamadas a funciones, ya que siempre habrá alguna interferencia. Sin embargo, se podría argumentar que algunas vías modulares (por ejemplo, la señalización de la apoptosis) pueden verse como un "bloque de código" en el que una determinada entrada (casi) seguramente conducirá a un determinado efecto. La analogía con las llamadas a funciones es que, al describir muchos mecanismos diferentes, hace que el "código" sea más corto y más eficiente para considerar todo entre, por ejemplo. activación de caspasa y fuga de citocromo como un bloque. Además, marcar una proteína con ubiquitina puede verse como una llamada funcional para la degradación.
Si estás interesado en los bloques de construcción para programar con biología, consulta el programa biobricks.org, que tiene como objetivo definir piezas modulares (ladrillos) que pueden ser sensores, funciones lógicas, efectores,...
Con respecto a las llamadas a funciones:
No hay equivalentes de llamadas a funciones. Todos los eventos suceden en el mismo espacio y siempre existe la posibilidad de interferencia. Se puede argumentar que los orgánulos pueden actuar como un compartimento que puede tener una función similar a las propiedades, pero son muy complejos y no son solo algún tipo de dispositivo de entrada y salida.
y
Como dijo WYSIWYG, no hay un equivalente para las llamadas a funciones, ya que siempre habrá alguna interferencia.
Creo que los receptores nucleares son excelentes ejemplos de llamados a funciones. Pasan el rato en el citosol permitiendo que la programación normal funcione de manera normativa. Tras la activación con su ligando, se translocan al núcleo para activar subrutinas de represión/activación de genes y procesos posteriores posteriores.
De esta manera, incluso se podría argumentar que la mayoría de las interacciones iniciales de ligandos que inician la señalización celular son llamadas de función.
Además de la excelente respuesta WYSIWYG, hay algunas construcciones similares a la programación en el nivel inferior:
aaaaa dice reincorporar a Monica
usuario
GOTO
.archivobajo el agua
WYSIWYG
WYSIWYG
GOTO
por otro lado es la parte del programa principal y solo controla el flujo de instrucciones. Si bien el flujo de información en el sistema biológico se puede controlar, es casi imposible proporcionar un entorno separado necesario para las funciones reales.archivobajo el agua
WYSIWYG
GOTO
. En la mayoría de los idiomas está en desuso. Entonces la acción deGOTO
puede ser realizada por otras declaraciones. Así que tienes razón. Además,GOTO
requiere etiquetas; aunque un promotor de un TF determinado puede considerarse como una etiqueta, es más una condición lógica que debe cumplirse. Entonces, más importante que las declaraciones reales es la lógica subyacente.skymningen
Miguel
hebra kyle
Carreras de ligereza en órbita
Carreras de ligereza en órbita
jonathan
sanchises
display:none
está perfectamente permitido en el ADN); estos elementos pueden incluir la proteína Javascript. Aquí y allá está presente una forma rudimentaria de PHP (ver la respuesta de @WYSIWYG).kon psiquiatra
aliasDrHouse
siempre confundido
Jaime