Wednesday, 30 March 2011

E anche bioinformatica è archiviata

Nucleotides bonanza
Materia assai affascinante la bioinformatica; mi sono scoperto attratto dalla biologia computazionale e da quello strato di meccanismi e processi naturali che regolano il funzionamento degli esseri viventi. In termini astratti funzioniamo esattamente nella stessa maniera in cui lavorano i computer: il DNA è un linguaggio formale, ed è ammaliante il pensiero che questo codice da interpretare contenga anche il programma stesso dell'interprete: gli enzimi che regolano la sintesi proteica sono a loro volta proteine. Uno "strano anello", per dirla alla Hofstadter.

Certo, dal punto di vista pratico si è risolto tutto in una grande abboffata di programmazione dinamica, perverse strutture dati per indicizzazione (ma con interessanti applicazioni per il web) e algoritmica di ricostruzione di alberi, ma questo è l'aspetto meno rilevante del corso.

Ben più interessante è stato studiare come a partire da quattro basi azotate si dipani un universo di specie; come la natura trovi escamotage perversi per specializzarsi e migliorarsi (per esempio, la bizzarra questione dello splicing alternativo); quante e quali siano le differenze tra i genomi delle specie, spesso assai poche!, e quali tipi di ricombinazione assurdi siano avvenuti nel corso dei millenni (il pensiero di avere codice genetico "fossile" di virus al nostro interno toglie il fiato).

Subunità "grande" di un ribosoma... bel casino!
Ma è anche straordinario vedere come le cellule armonizzino processi mostruosamente complessi, custodendo il codice genetico in modo molto geloso e protettivo, mandando in pasto a quei bestioni dei ribosomi solo delle copie sacrificabili di RNA. In particolare, il processo di traduzione cui sono delegati ha uno smaccatissimo sapore informatico: prendono in input una sequenza di RNA e la analizzano, a mo' di automa, alla ricerca di una sequenza di inizio (il codone di start); da lì in poi avviene un lookup di sotto-sequenze, per collegare tra loro gli amminoacidi corrispondenti, fino al raggiungimento del codone di stop. Tutto molto meccanico ed elementare. Non ricorda vagamente la macchina di Turing? In effetti sì, e c'è chi ha già teorizzato di exploitare il DNA per risolvere problemi di classe NP: Adlemann nel 1994 ha implementato il problema del cammino Hamiltoniano proprio su queste basi, aprendo la strada all'interessantissimo fronte del DNA computing. Chissà se tra qualche decennio i super-computer basati su filamenti saranno all'ordine del giorno.

2 comments:

Anonymous said...

Hello,

This is a question for the webmaster/admin here at aresio.blogspot.com.

Can I use part of the information from this blog post above if I give a backlink back to this site?

Thanks,
William

Marco S. Nobile said...

Sure, of course you can. :)