DNA mit den Augen eines Programmierers

Von einem Übersetzer: Da ich kein Biologe bin, kann es zu Ungenauigkeiten bei der Übersetzung von Begriffen kommen (und nicht nur :). Das Original ist hier .

Wenn Sie ein Hammer sind, werden Sie in allem einen Nagel sehen


Dies sind nur die Gedanken des Programmierers zur DNA. Ich bin kein Molekulargenetiker.

Quellcode


Befindet sich hier . Das ist kein Scherz. Quellen können mit einem wunderbaren Satz von Perl-Skripten namens " Ensembl " angezeigt werden. Das menschliche Genom beträgt ungefähr 3 Gigabyte, was auf 750 Megabyte reduziert werden kann, wenn die Schale weggeworfen wird. Es ist ein wenig traurig, dass dies nur 2.8 Mozilla Firefox-Browser sind .

DNA ist eher nicht wie C-Quellcode, sondern eher ein Bytecode für eine virtuelle Maschine, die als Zellkern bezeichnet wird. Es ist höchst zweifelhaft, dass es Quellcodes gibt, die in diesen Bytecode kompiliert werden können: Was wir sehen, ist alles, was wir haben.

DNA Die DNA-Sprache ist digital, aber nicht binär. Der Binärcode verwendet 0 und 1 (weshalb er als binär bezeichnet wird), die DNA verwendet 4 Werte: T, C, G und A.

Während ein binäres Byte hauptsächlich aus 8 binären Ziffern besteht, enthält ein DNA-Byte (als Codon bezeichnet) 3 Zeichen. Und da jedes Zeichen einen von vier Werten haben kann, hat das DNA-Codon 64 mögliche Werte, im Gegensatz zu 256 binären Bytewerten.

Ein typisches Beispiel für ein DNA-Codon ist "GCC", das die Aminosäure Alanin codiert. Die Kombination einer großen Anzahl dieser Aminosäuren wird als Polypeptid oder Protein bezeichnet und ist ein chemisch aktiver Bestandteil aller Lebewesen. Lesen Sie mehr über Codons.

Positionsunabhängiger Code


Der Code dynamisch verbundener Bibliotheken (.so auf Unix-Systemen, .dll unter Windows) kann keine statischen Adressen in sich selbst verwenden, da sich dieser Code in verschiedenen Situationen in verschiedenen Teilen des Speichers befinden kann. DNA hat auch eine ähnliche Funktion, die als Code-Transposition bezeichnet wird:
Fast die Hälfte des menschlichen Genoms besteht aus transponierbaren (oder „mobilen“) genetischen Elementen. Diese Elemente wurden erstmals in den 1940er Jahren von Dr. Barbara McClintock entdeckt, als sie die einzigartigen Vererbungsmuster in den Farben des indischen Mais untersuchte. Die Idee der mobilen DNA ist, dass einige Regionen instabil und "transponierbar" sind, dh sie können sich bewegen - innerhalb und zwischen Chromosomen.

Bedingte Kompilierung


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/de410103/


All Articles