De un traductor: como no soy biólogo, puede haber imprecisiones en la traducción de los términos (y no solo :). El original está aquí .Si eres un martillo, verás un clavo en todo
Estos son solo los pensamientos del programador sobre el ADN. No soy un genetista molecular.
Código fuente
Ubicado
aquí Esto no es una broma. Las fuentes se pueden
ver usando un maravilloso conjunto de guiones de Perl llamado "
Ensembl ". El genoma humano es de aproximadamente 3 gigabytes, que se pueden reducir a 750 megabytes si se descarta la cáscara. Es un poco triste que estos sean solo 2.8
navegadores Mozilla Firefox .
Es más probable que el ADN no sea como el código fuente C, sino más bien un bytecode para una máquina virtual llamada núcleo celular. Es muy dudoso que haya códigos fuente que se puedan compilar en este código de bytes: lo que vemos es todo lo que tenemos.

El lenguaje del ADN es digital, pero no binario. El código binario usa 0 y 1 (por eso se llama binario), el ADN usa 4 valores: T, C, G y A.
Mientras que un byte binario consta principalmente de 8 dígitos binarios, un "byte" de ADN (denominado codón) contiene 3 caracteres. Y dado que cada carácter puede tener uno de cuatro valores, el codón de ADN tiene 64 valores posibles, en contraste con 256 valores de bytes binarios.
Un ejemplo típico de un codón de ADN es "GCC", que codifica el aminoácido Alanina. La combinación de una gran cantidad de estos aminoácidos se llama polipéptido o proteína, y es un componente químicamente activo de todos los seres vivos. Lea más sobre codones.Posicionar Código Independiente
El código de las bibliotecas conectadas dinámicamente (.so en sistemas Unix, .dll en Windows) no puede usar direcciones estáticas dentro de sí mismos, ya que este código puede ubicarse en diferentes partes de la memoria en diferentes situaciones. El ADN también tiene una función similar llamada transposición de código:
Casi la mitad del genoma humano consta de elementos genéticos transponibles (o "móviles"). Estos elementos fueron descubiertos por primera vez en la década de 1940 por la Dra. Barbara McClintock al estudiar los patrones de herencia únicos que se encuentran en los colores del maíz indio. La idea del ADN móvil es que algunas regiones son inestables y "transponibles", es decir, pueden moverse, dentro y entre cromosomas.
Compilación condicional
20000-30000 , – , -, .
, («») , ,
#ifdef
. .
#if/#endif
.
"
" – .
#ifdef
, .
, – , . , . , (
fork()
) , . .
( ) , . ( ).
, , . ,
, «» , .
:
, , .
, Linux, , , ( ), . -
if (numcpus > 1)
, -
nop
-. ,
nop
- , .
, , . (« ») (« »). «» , .
,
, , , .
, , – «» – , , , .
, .
, , , .
«» , , ( )

( ). , . «».
, 97% . . , , , C. 3%, , «». , «» «».
-. C, (
/*
) (
*/
). . , , , , ! «GT»,
/*
, «AG», , ,
*/
.
, - , , , HTML, : – .
, :
<!-- ---- -->
| | | | | |
1 * 1 ** 2
*
**
, . - , , . , .
, . , «» ( ) «» () .
? vim/emacs. , , , . , .
– , ( ), «» (folding propensity). , .
RLL- MFM-. . 0 « » 1 «».
000000 — . , — ? 6 5? , , .
« , , , » , , «0011» – , , «00011» «00111». , , . « » (Run Length Limiting, RLL) .
, () , . , , .
, – ! « » « », , «» « » (stem-loop potential). , .
: , . , « » , .
fork()
fork- ()
unix-, «» – . , . , ,
fork()
() , .
unix, ,
fork
. , . .
ulimit
(watchdogs) . ,
.
, – "
". , . , (« ») .
, . , , -, , , ?
,

– , – « ». , «». T A, C – G. , , RAID-1.
, – , – Y-, . , , . , , . .
API,
, ́ -. 2001-2002 , , , , , ( Nature 28 2001, M. Kimura, T. Ohta Science 26 2002).
, , «» ́. , , , .
,
, , - , , , - . « Nimda!»
, . .
. , , .
: .c -> .o -> a.out/.exe
, , . , , , « ».
, , , , .c- .o, (a.out/exe). , , , .
, . , , - . , , ́, .
, , , .
, aka « »
. , , ASCII-, . .
«» « » , . . (, ), , «», .
, (SCID, Severe Combined Immunodefeciency) – , , , , . , .
«» , , . , , – , Microsoft!
, , , , ,
.
, . . , :
, , , , , .
…
, . , , , , .
.
-:
, ( – ) . « » . 4 : U, C, G A – , «» 2 . .
, 6 64 , 20 . , UCU, UCC, UCA UCG – , UGG .
, , «» (UCU -> UCC) . "
Metamagical Themas" (Douglas Hofstadter).
: /* */
. , , , . , , , . .
« ». , – . H3 H4.
, , . .
, , , , . H3 H4
. . , , .
1 - 80 , :
-
3 135 0.00
4 101 0.00
51 0.13
- 136 2.79
, , . : , , «».
, , . , .
, H3 H4 , «» , .
:
...0 0000 0001 0000 0010 0000 0011 0...
, , 8- 1, 2 3. , , . , . :
...00 0000 0010 0000 0100 0000 0110 ...
2, 4, 6! , , , . , , , ( ) . !
6, 3 .
: –
-, . . , . , . , – , .
- (« »), . , , . !
. , , , . , , .
-, , , , , , – .
Makefile
, , , . tar-, , . ?
. . , , « », « ». , , , , , , .
1983, . , makefile, «HOX» .
, «» «» , . , «HOX» , « » ?
, HOX-B6 , antennapedia .
,
. («» ) makefile- . , « » , , «» .
:
, («»), ( , ). . «» – .
. , , «» .
, , .so LD_PRELOAD . , . .
, . , « », , .