DNA melalui mata seorang programmer

Dari penerjemah: Karena saya bukan ahli biologi, mungkin ada ketidakakuratan dalam terjemahan istilah (dan bukan hanya :). Aslinya ada di sini .

Jika Anda palu, Anda akan melihat paku dalam segala hal


Ini hanya pemikiran programmer tentang DNA. Saya bukan ahli genetika molekuler.

Kode sumber


Terletak di sini Ini bukan lelucon. Sumber dapat dilihat menggunakan satu set skrip Perl yang indah yang disebut " Ensembl ". Genom manusia adalah sekitar 3 gigabytes, yang dapat direduksi menjadi 750 megabytes jika sekamnya dibuang. Agak menyedihkan bahwa ini hanya 2,8 browser Mozilla Firefox .

DNA lebih cenderung tidak seperti kode sumber C, tetapi lebih sebagai bytecode untuk mesin virtual yang disebut inti sel. Sangat diragukan bahwa ada kode sumber yang dapat dikompilasi ke dalam bytecode ini: apa yang kita lihat adalah semua yang kita miliki.

DNA Bahasa DNA adalah digital, tetapi bukan biner. Kode biner menggunakan 0 dan 1 (itulah sebabnya disebut biner), DNA menggunakan 4 nilai: T, C, G dan A.

Sementara byte biner terdiri dari 8 digit biner, DNA "byte" (disebut sebagai kodon) berisi 3 karakter. Dan karena setiap karakter dapat memiliki satu dari empat nilai, kodon DNA memiliki 64 nilai yang mungkin, berbeda dengan 256 nilai byte biner.

Contoh khas kodon DNA adalah "GCC", yang mengkode asam amino Alanine. Kombinasi sejumlah besar asam amino ini disebut polipeptida atau protein, dan merupakan komponen aktif secara kimia dari semua makhluk hidup. Baca lebih lanjut tentang kodon.

Posisi Kode Independen


Kode pustaka yang terhubung secara dinamis (.so pada sistem Unix, .dll pada Windows) tidak dapat menggunakan alamat statis di dalamnya, karena kode ini dapat ditemukan di berbagai bagian memori dalam situasi yang berbeda. DNA juga memiliki fungsi serupa yang disebut transposisi kode:
Hampir setengah dari genom manusia terdiri dari unsur-unsur genetik transposable (atau "mobile"). Elemen-elemen ini pertama kali ditemukan pada tahun 1940-an oleh Dr. Barbara McClintock ketika mempelajari pola pewarisan unik yang ditemukan dalam warna jagung India. Gagasan DNA seluler adalah bahwa beberapa daerah tidak stabil dan "transposable", yaitu mereka dapat bergerak - di dalam dan di antara kromosom.

Kompilasi bersyarat


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

, . , « », , .

Source: https://habr.com/ru/post/id410103/


All Articles