1. Introduzione
L'informatica è una scienza e una tecnologia, come scienza del calcolabile il suo scopo più
profondo è quello di giungere a un sistema di conoscenze oggettive, ottenute con metodo
scientifico, atte a descrivere la realtà e le leggi che regolano l'occorrenza dei fenomeni; come
tecnologia (l'arte del fare) il suo fine ultimo è quello di estendere i limiti del possibile.
Nell'incontro con le altre scienze, matematica e informatica si assomigliano molto, entrambe
sono strumenti indispensabili al loro servizio, ma è proprio nell'incontro con queste che
l'informatica e la matematica ampliano loro stesse, nel rendere modellabile e calcolabile ciò
che non lo era e, nell'osservarle dal loro particolare punto di vista, trarne ispirazione per nuovi
modelli; ciò è evidente nel rapporto che lega la biologia all'informatica.
La biologia sempre più attinge dall'informatica algoritmi e strumenti di calcolo per problemi
specifici; dalla fine degli anni 70 con lo sviluppo delle tecnologie del DNA ricombinante e
quindi con la pubblicazione delle prime sequenze di acidi nucleici nasce una nuova disciplina,
la bioinformatica [1], che si occupa principalmente di:
• Fornire modelli statistici validi per l'interpretazione dei dati provenienti da esperimenti
di biologia molecolare e biochimica al fine di identificare tendenze e leggi numeriche.
• Generare nuovi modelli e strumenti per l'analisi di sequenze di DNA, RNA e proteine
al fine di creare un corpus di conoscenze relative alla frequenza di sequenze rilevanti, la loro
evoluzione ed eventuale funzione.
• Organizzare le conoscenze acquisite a livello globale su genoma
1
e proteoma
2
in basi
di dati, al fine di rendere tali dati accessibili a tutti ed ottimizzare gli algoritmi di ricerca dei
dati stessi per migliorarne l'accessibilità.
D'altra parte informatica e biologia spesso si ritrovano a dover affrontare problemi con
scenari simili [2], in riferimento alla Figura 1:
(A) I sistemi biologici e computazionali spesso devono coordinare e mantenere la
funzionalità senza fare affidamento su un controllore centrale.
(B) Le reti sono spesso il mezzo attraverso il quale i processi si propagano, sia sul
Web che nelle cellule.
1 Genoma:l'informazione ereditabile di un organismo (contenuta nel DNA o, per alcuni virus, nell' RNA).
2 Proteoma:l'insieme delle proteine di un organismo o di un sistema biologico, ovvero le proteine prodotte dal genoma.
1
(C) La modularità è un principio di progettazione comune nei linguaggi di
programmazione e serve anche come base per la crescente complessità e la flessibilità
nei sistemi in evoluzione.
(D) Processi stocastici
3
in ambienti computazionali e biologici ci aiutano a rimanere
robusti in contesti limitati e rumorosi.
La convergenza di contesti, a fatto si che l'informatica attingesse con successo dalla biologia
diversi algoritmi e modelli di calcolo 'naturale', ad esempio:
• le reti neurali che si sono rivelate un valido approccio in tutti i contesti caratterizzati
dalla presenza di errori o rumore per cui non esiste un modello analitico in grado di affrontare
il problema (come il data mining o le previsioni finanziarie e meteorologiche);
• gli algoritmi genetici, una classe di algoritmi di ricerca euristica e di ottimizzazione
sul principio di selezione naturale Darwiniana;
• la swarm intelligence inspirata alle dinamiche delle colonie di insetti sociali, in cui
unità dalle capacità limitate che non conoscono lo stato globale del sistema, senza l'aiuto di un
ente coordinatore, implementano un'intelligenza distribuita (di sciame) in grado di risolvere
problemi anche molto complessi;
• gli algoritmi di ottimizzazione ispirati al sistema immunitario dove si sfruttano
memoria ed apprendimento da esperienza, per risolvere problemi complessi.
3 Processi stocastici: dati uno spazio di probabilità (Ω, F, P ) e uno spazio parametrico T , un processo stocastico è una funzione X(t, ω) finita a valori reali che, per
ogni t T , `e una funzione misurabile di ∈ ω Ω (cioè una variabile casuale). ∈
2
Figura 1: esempi di scenari di calcolo in ambito informatico e biologico.
Questo ci porta a pensare che esiste un terreno comune nel quale può proficuamente nascere e
svilupparsi, dalla sinergia di queste due scienze, un 'pensiero computazionale' dalle grandi
potenzialità.
1.1 L'esperimento di Adleman
Il giorno del 1993 che per la prima volta Leonard Adleman entrò in un laboratorio di biologia
molecolare, fu l'inizio di qualcosa che rivoluzionerà per sempre l'informatica e la biologia (ma
anche la medicina e l'ingegneria negli anni che seguiranno) e legherà questi due mondi in
modo sostanziale e stupefacente.
Quel giorno Adleman imparò le tecniche della biologia e ne restò affascinato, poter creare del
DNA non esistente in natura, introdurlo in dei batteri dove avrebbe funzionato come progetto
per la costruzione di proteine che, a loro volta, avrebbero rivoluzionato la natura stessa di
quegli organismi, lo spinse a volerne sapere di più.
Vediamo innanzitutto, brevemente, la struttura del DNA:
DNA è l’acronimo di DeoxyriboNucleic Acid (acido deossiribonucleico). Si tratta di una
macromolecola, cioè di una molecola grande, o meglio lunga. I suoi costituenti primari, i
nucleotidi, sono formati da un fosfato, uno zucchero e una base azotata. Mentre il legame
zucchero-fosfato è sempre uguale, lo zucchero si lega a quattro tipi diversi di basi: adenina,
guanina, citosina e timina, che vengono comunemente indicate con le loro lettere iniziali
maiuscole A, G, C e T. I nomi delle basi sono generalmente usati anche per riferirsi ai
nucleotidi che le contengono.
Ogni molecola di DNA è formata da due filamenti, ciascuno dei quali è costituito da una
successione anche molto numerosa di nucleotidi. Gli zuccheri sono disposti a uguale distanza
3
Figura 2: la doppia elica del DNA
sul bordo, mentre le basi si protendono e si legano a quelle dell’altro filamento con un legame
idrogeno piuttosto debole rispetto agli altri. Gli unici legami possibili fra le basi sono adenina
con timina, A=T (due legami idrogeno), e guanina con citosina, G≡ C (tre legami idrogeno).
I due filamenti di una molecola di DNA risultano quindi complementari rispetto a questi
legami; per convenzione l’estremità di un filamento è chiamata 3’, mentre l’altra è
denominata 5’. I filamenti complementari sono antiparalleli, nel senso che l’estremità 3’ di
uno di essi si appaia con l’estremità 5’ dell’altro e viceversa; pertanto ognuno dei due può
fungere da stampo sul quale realizzare la catena complementare, (vedi Fig. 2) I due filamenti
formano nello spazio una doppia elica che si ripiega in modo così compatto da entrare nel
nucleo della cellula. Le molecole di DNA pur essendo così complesse, hanno dimensioni assai
ridotte. Per esempio una molecola di DNA umano, che contiene circa tre miliardi di basi, è
lunga intorno a due metri e larga 10
-6
millimetri. Dopo essersi avvolta ad elica e ripiegata
entra nel nucleo che ha un diametro di un centesimo di millimetro.
La DNA-polimerasi è l'enzima
4
che, partendo da un filamento di DNA, produce un secondo
filamento complementare al primo e lo fa scorrendo lungo il filamento di input leggendo ogni
base e scrivendo la sua forma complementare in un nuovo filamento che sta crescendo.
Una versione base della macchina di Turing consiste in una coppia di nastri e un meccanismo
di controllo a 'stati finiti' che si muove leggendo i dati lungo il nastro di input, e allo stesso
tempo scorre sul nastro di output leggendo e scrivendo altri dati secondo istruzioni molto
semplici.
La struttura del DNA, e in particolare il funzionamento dell'enzima DNA-polimerasi,
portarono Adleman all'intuizione che difficilmente si potrebbe pensare a qualcosa di più
simile ad una macchina di Turing della DNA polimerasi.
Per la tesi di Church la classe delle funzioni calcolabili coincide con quella delle funzioni
calcolabili da una macchina di Turing. Quindi una macchina di Turing è un computer
universale, ecco quindi che si delineò l'idea: il DNA può essere usato come strumento
computazionale: serviva però una dimostrazione.
La prima idea di Adleman [3][4][5] (che da un punto di vista teorico era già stata suggerita da
Charles Bennet e Rolf Landauer nell'anno 1985 [6]) fu quella di costruire un computer a DNA
simile a una macchina di Turing, in cui il meccanismo di controllo a stati finiti fosse sostituito
con un enzima. Per quanto questa ipotesi sia affascinante, difficilmente gli altri enzimi
svolgono azioni interessanti per il calcolo come la DNA-polimerasi.
4 Enzima: Gli enzimi sono i catalizzatori dei sistemi biologici.
4
Bisognava quindi partire dagli strumenti che aveva a sua disposizione:
1. La complementarietà fra le eliche: se un filamento di DNA in soluzione incontra
una sequenza di DNA complementare le due eliche si appaiano.
2. La separazione (temperatura di melting): la divisione di una molecola o di un
frammento di DNA nei due filamenti complementari che lo costituiscono. Si ottiene
riscaldando la soluzione, in tal caso infatti il debole legame idrogeno che tiene insieme le
coppie di basi complementari si spezza.
3. L'amplificazione: avviene mediante la reazione a catena della polimerasi
(comunemente detta PCR da polymerase chain reaction) che permette in poco tempo di
replicare milioni di volte un filamento di DNA; Abbiamo già visto cosa fa la DNA-
polimerasi, vediamo come si attiva: questo enzima ha bisogno di un segnale di inizio che gli
indichi da dove cominciare a fabbricare la copia complementare del filamento, questo segnale
gli viene dato da un primer, cioè un tratto di DNA, anche corto, che si appaia al filamento
stampo grazie alla sua complementarietà e da quel punto la DNA-polimerasi inizierà ad
operare.
4. Le ligasi: uniscono insieme due o più molecole, ad esempio la DNA-ligasi riconosce
due tratti di DNA che si trovano vicini e li unisce in modo covalente formando un unico
filamento, il suo compito è infatti quello di riparare le interruzioni accidentali del DNA.
5. Le nucleasi di restrizione: perlustrano il DNA alla ricerca di specifiche sequenze
dopo le quali tagliare, per esempio per l'enzima di restrizione EcoRI la sequenza cercata è
GAATCC.
6. L'elettroforesi su gel: è una tecnica che permette di separare i filamenti di DNA per
lunghezza. Per effettuarla una soluzione di molecole di DNA di diversa lunghezza viene posta
in un pozzetto all’estremità di un sottile strato di gel a cui viene applicata una corrente
elettrica. Le molecole di DNA che hanno una carica elettrica negativa, vengono attirate verso
l’anodo, le molecole più corte migrano più velocemente di quelle più lunghe. Utilizzando
particolari reagenti e illuminando il gel con luce ultravioletta, l’insieme delle molecole che
hanno la stessa lunghezza appaiono come bande a diversa distanza dal pozzetto.
7. La sintesi artificiale del DNA: è possibile realizzare, in breve tempo e a costi
contenuti, molecole di DNA aventi la sequenza desiderata di lunghezza fino a 100 nucleotidi.
5