程序员眼中的DNA

译者的话:由于我不是生物学家,所以术语的翻译可能不准确(不仅是:)。 原来在这里

如果您是锤子,您会在所有物件上看到钉子


这些只是程序员对DNA的想法。 我不是分子遗传学家。

源代码


位于这里 。 这不是在开玩笑。 可以使用一组称为“ Ensembl ”的Perl脚本来查看源。 人类基因组大约为3 GB,如果将果壳丢弃,则可以减少到750 MB。 令人遗憾的是,这些只是2.8 Mozilla Firefox浏览器

DNA很可能不像C源代码,而是用于称为细胞核的虚拟机的字节码。 可以将源代码编译成该字节码是非常令人怀疑的:我们所看到的就是我们所拥有的全部。

脱氧核糖核酸 DNA语言是数字的,但不是二进制的。 二进制代码使用0和1(这就是为什么将其称为二进制)的原因,DNA使用4个值:T,C,G和A。

二进制字节主要由8个二进制数字组成,而DNA“字节”(称为密码子)包含3个字符。 并且由于每个字符可以具有四个值之一,因此与256个二进制字节值相比,DNA密码子具有64个可能值。

DNA密码子的典型例子是“ GCC”,其编码氨基酸丙氨酸。 这些氨基酸的大量结合称为多肽或蛋白质,是所有生物的化学活性成分。 了解有关密码子的更多信息。

职位独立代码


动态连接的库的代码(在Unix系统上为.so,在Windows上为.dll)本身不能使用静态地址,因为在不同情况下,该代码可以位于内存的不同部分。 DNA也具有类似的功能,称为代码转置:
人类基因组的几乎一半由转座(或“移动”)遗传元件组成。 这些元素是由Barbara McClintock博士于1940年代首次研究印第安玉米颜色发现的独特遗传模式时首次发现的。 移动DNA的思想是某些区域是不稳定的并且是“可转座的”,也就是说,它们可以在染色体内部和染色体之间移动。

条件编译


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/zh-CN410103/


All Articles