Sei sulla pagina 1di 79

DNA COMPUTING

Modelli di calcolo non convenzionali


Prof. Vincenzo Manca
Dispensa a cura di Marco Devincenzi
1
Indice
1 Introduzione 4
2 Fondamenti di DNA 5
2.1 La molecola DNA . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Il desossiribosio . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Logica della concatenazione della molecola DNA . . . . . . . 8
2.4 Triangolo monomerico . . . . . . . . . . . . . . . . . . . . . . 13
2.5 Elica bilineare astratta . . . . . . . . . . . . . . . . . . . . . . 15
2.6 Forme bilineari . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.7 Notazione doppia stringa . . . . . . . . . . . . . . . . . . . . 17
3 Operazioni sul DNA 22
3.1 Operazioni di base: mix, split, length(elettroforesi), separate,
synthetize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2 Denaturazione e Rinaturazione del DNA . . . . . . . . . . . . 26
3.3 Amplicazione con PCR . . . . . . . . . . . . . . . . . . . . . 27
3.3.1 Alberi PCR . . . . . . . . . . . . . . . . . . . . . . . . 30
3.4 Altre operazioni: Ligasi, Fish, Inx-Sux . . . . . . . . . . . 34
3.5 Amplicazione con clonaggio molecolare . . . . . . . . . . . . 36
3.5.1 Vettori di clonaggio . . . . . . . . . . . . . . . . . . . 36
3.5.2 Enzimi di restrizione . . . . . . . . . . . . . . . . . . . 37
3.5.3 Plasmidi . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.5.4 Algoritmo di clonazione . . . . . . . . . . . . . . . . . 40
3.6 Sequenziamento . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.6.1 Lenergia di attivazione delle reazioni chimiche . . . . 46
3.6.2 Gli enzimi catalizzatori . . . . . . . . . . . . . . . . . 47
3.6.3 ATP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.6.4 Metodo chimico . . . . . . . . . . . . . . . . . . . . . . 48
3.6.5 Metodo enzimatico di Sanger . . . . . . . . . . . . . . 48
3.6.6 Pyrosequencing . . . . . . . . . . . . . . . . . . . . . . 50
4 Calcolare con il DNA 53
4.1 Lesperimento di Adleman (1994) . . . . . . . . . . . . . . . . 53
4.1.1 Extract Model . . . . . . . . . . . . . . . . . . . . . . 54
4.2 Algoritmi per 3-SAT . . . . . . . . . . . . . . . . . . . . . . . 56
4.2.1 Mix&Split Model . . . . . . . . . . . . . . . . . . . . . 56
4.2.2 Algoritmo di Lipton . . . . . . . . . . . . . . . . . . . 57
4.2.3 SAT come rete di contatto . . . . . . . . . . . . . . . . 58
4.2.4 Algoritmo di Jonoska . . . . . . . . . . . . . . . . . . 59
4.2.5 Algoritmo di Sakamoto . . . . . . . . . . . . . . . . . 60
4.2.6 Algoritmo di Manca . . . . . . . . . . . . . . . . . . . 61
4.3 Considerazioni . . . . . . . . . . . . . . . . . . . . . . . . . . 63
2
5 XPCR (Cross Pairing PCR) 64
5.1 Estrazione con XPCR . . . . . . . . . . . . . . . . . . . . . . 65
5.1.1 Considerazioni . . . . . . . . . . . . . . . . . . . . . . 66
5.2 Ricombinazione con XPCR . . . . . . . . . . . . . . . . . . . 67
6 Teoria dei Linguaggi Formali (FLT) 68
6.1 introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
6.2 Stringhe e linguaggi . . . . . . . . . . . . . . . . . . . . . . . 68
6.2.1 Gerarchia di Chomsky . . . . . . . . . . . . . . . . . . 69
6.2.2 Classi di Chomsky . . . . . . . . . . . . . . . . . . . . 70
6.2.3 Inclusioni . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.3 Risultati fondamentali . . . . . . . . . . . . . . . . . . . . . . 72
6.3.1 Teorema di universalit`a di Chomsky . . . . . . . . . . 72
6.3.2 Teorema di Kleene . . . . . . . . . . . . . . . . . . . . 74
6.3.3 Teorema di Ginzburg . . . . . . . . . . . . . . . . . . . 76
6.3.4 Teorema di Savich . . . . . . . . . . . . . . . . . . . . 77
3
1 Introduzione
Lidea iniziale del DNA computing `e molto semplice: calcolare, in termini
astratti, signica trasformare dati iniziali in risultati, ma dati e risultati
sono sempre esprimibili tramite stringhe di un qualche linguaggio di rap-
presentazione (teorema fondamentale della digitalizzazione). In particolare
il DNA computing `e un ottimo strumento per risolvere problemi intratta-
bili. Un problema `e intrattabile se non si conoscono algoritmi polinomiali
in tempo che lo risolvono. Un problema viene classicato NP se pu`o essere
risolto in tempo polinomiale da una macchina non deterministica, inne un
problema `e NP-completo se ogni altro problema nella classe NP pu`o essere
ridotto ad esso in un tempo polinomiale (riduzione in tempo polinomiale). I
problemi NP-completi sono considerati i pi` u dicili, cos` se si dimostra che
ogni problema in NP `e intrattabile allora tutti gli NP-completi lo sono, e se
ogni problema NP-completo pu`o essere risolto in tempo polinomiale allora
tutti i problemi nella classe NP diventano trattabili.
Un computer non deterministico pu`o essere simulato tramite lamenti
di DNA utilizzando tecniche di biologia molecolare per implementare le op-
erazione su di esso. in teoria i problemi intrattabili possono essere risolti
in tempo polinomiale tramite un qualche tipo di DNA computer. Adleman,
con il suo esperimento del 1994, risolse una istanza del problema del cammi-
no Hamiltoniano (problema NP-completo) in tempo polinomiale utilizzando
il DNA come macchina di calcolo. Successivamente sono stati risolti altri
problemi NP-completi come SAT, indipendent Set e 3-colorabilit`a.
Come vedremo, per poter eetuare un tale tipo di elaborazione sono nec-
essarie diverse operazioni biologiche tra cui: Separazione (melting), Accoppi-
amento (annealing), Extract, Amplify, Merge, Elettroforesi su gel, Append,
Split. Tuttavia gli algoritmi implementati con queste operazioni biologiche
non sono esenti da errori. Cause di errori possono essere lamplicazione
PCR che non `e al cento per cento eciente, il graduale deterioramento del
DNA e lo schema di codica dellistanza del problema: infatti se una codi-
ca contiene sottostringhe, che anche in modo approssimato coincidono con
sottostringhe di unaltra codica, allora linput iniziale potrebbe essere com-
promesso. Altra limitazione sono la lunghezza dei lamenti; grandi istanze di
un problema richiedono spesso lamenti molto lunghi per una corretta cod-
ica e c`e un limite alla lunghezza che pu`o essere separata in modo eciente
con elettroforesi.
4
2 Fondamenti di DNA
Ci`o che contraddistingue in modo assoluto la materia vivente `e che la sua
complessit`a risulta caratterizzata in modo preciso e si ripete in tutti gli in-
dividui di una data specie. La complessit`a del mondo inorganico `e invece
casuale, per cui due sistemi inorganici non si ripetono mai in modo iden-
tico, anzi, la probabilit`a che ci`o si verichi diviene tanto pi` u remota tanto
pi` u complesso `e il sistema. Lesistenza di questa complessit`a comporta che
nella materia vivente sia presente una enorme quantit`a di informazione,
proprio per sapere come deve essere fatta e come deve essere duplicata.
Tale informazione `e registrata in un particolare composto, lacido desos-
siribonucleico (DNA). La capacit`a di duplicare linformazione genetica `e
una caratteristica fondamentale per generare nuovi organismi, in modo che
ogni nuovo individuo riceva la stessa informazione posseduta dai genitori.
Come vedremo la struttura stessa delle molecole di DNA, costituite da due
lamenti che sono uno lo stampo dellaltro, ore il modello con cui tutto
questo pu`o realizzarsi.
2.1 La molecola DNA
Il grosso del peso di una cellula `e rappresentato da molecole di grandi di-
mensioni, costituite quindi da migliaia di atomi dette macromolecole. Esse
sono rappresentate, essenzialmente, da acidi nucleici e proteine. Tali
molecole ne assicurano la struttura e il funzionamento. in particolare gli
acidi nucleici svolgono le funzioni di contenere e trasmettere linformazione
genetica. Le varie proteine invece costituiscono la struttura stessa della cel-
lula e svolgono tutte le funzioni fondamentali della materia vivente. In altri
termini gli acidi nucleici, ed in particolare il DNA, costituiscono il supporto
materiale nel quale `e registrato il genotipo di un individuo (informazione
genetica), e le proteine sono la base del suo fenotipo cio`e la concretizzazione
di tale informazione.
Una molecola di DNA `e una sequenza di nucleotidi che, dal punto di vista
della loro struttura chimica, risultano costituiti da tre porzioni legate tra di
loro da legami covalenti: zucchero, acido fosforico e base azotata. Le basi
sono le uniche che portano linformazione e sono di quattro tipi (Adenina,
Timina, Guanina, Citosina), mentre le altre due parti fungono da supporto:
la base azotata legata allo zucchero costituisce un nucleoside, il nucleoside,
legato al fosfato, costituisce un nucleotide. La molecola `e composta da una
catena di zuccheri (Z) legati tramite il gruppo fosforico (P): ...Z P Z P Z
P...; in particolare si hanno due le parallele (binario) e ogni la possiede un
orientamento intrinseco. Le due le sono legate da traversine che contengono
linformazione genetica. Tali traversine sono composte da basi azotate (B)
che obbediscono al principio di Complementeriet`a (regola di Charga): A
5
(Adenina) lega con T (Timina) e C (Citosina) lega con G (Guanina). Si
tratta di legami a idrogeno tra le coppie di basi che presentano una giusta
disposizione dei gruppi donatori e accettori degli elettroni di valenza; questo
si verica solo se una adenina si trova di fronte ad una timina (due legami a
idrogeno) e una guanina di fronte ad una citosina ( tre legami a idrogeno).
Per tale motivo, le coppie adenina-timina (A-T) e guanina-citosina (G-C)
vengono dette coppie di basi complementari. Inoltre come vedremo le due
catene hanno orientamenti opposti: si dice che hanno orientamento antipar-
allelo.
Si tratta ora di comprendere come questi vincoli strutturali imposti dalla
Z
P
Z
P
Z
Z
P
Z
P
Z
B
B
B
B
B
B
Figura 1: Catena nucleotidi
doppia catena si concilino con la funzione di trasportare linformazione del
materiale genetico. La sequenza nucleotidica, e quindi linformazione di una
delle due catene, `e assolutamente libera in quanto in ogni posizione pu`o es-
sere presente uno qualsiasi dei quattro nucleotidi che costituiscono il DNA;
tuttavia una volta denita la sequenza di una delle due catene, la sequenza
dellaltra `e completamente vincolata, poich`e deve presentare le basi com-
plementari a quelle sullaltra catena. Le due catena hanno quindi sequenza
diverse ma complementari: il DNA pu`o contenere qualsiasi informazione e
la contiene due volte. Questa ridondanza di informazione `e di fondamentale
importanza biologica per due motivi:
ore un modello molto eciente per la replicazione dellinformazione
genetica: vedremo come le due catene si separino per costituire cias-
cuna lo stampo per la polimerizzazione di una nuova catena, secondo
le regole della complementariet`a delle basi;
consente la conservazione dellinformazione nei casi in cui una delle due
catene venisse danneggiata: nch`e la catena complementare rimane in-
tegra, la cellula pu`o sempre provvedere a riparare il danno utilizzando
linformazione conservata nella catena complementare.
Studiando matematicamente il DNA ci si rende conto che questi vincoli
strutturali obbediscono a precisi criteri algoritmici; la molecola deve essere
cos` fatta per avere algoritmi di duplicazione ecienti. La duplicazione, come
6
abbiamo accennato, `e alla base della vita; la riproduzione si basa su mec-
canismi di duplicazione e avere un meccanismo (algoritmo) eciente e ve-
loce `e essenziale: la struttura del DNA `e quindi legata allecienza della
duplicazione.
2.2 Il desossiribosio
Lo zucchero (Z) utilizzato nei nucleosidi `e un desossiribosio a 5 atomi di
carbonio: Gli atomi di carbonio vengono denominati con gli indici da 1

a
C H 2 O H
O H H
H
H
O H
H
O H
5 1 0 4
C H O
Figura 2: struttura desossiribosio
5

. Il concatenamento dei nucleotidi per formare le catene avviene tramite il


legame di un fosfato in posizione 5

o 3

a fronte di un fosfato gia presente


rispettivamente in 3

o in 5

. Il fosfato funge da ponte tra i due desossiribosi.


Si vengono cos` a formare due catene lineari di lunghezza indenita che
presentano una struttura costituita dalla alternanza di zucchero e fosfato,
dalla quale sporgono le basi azotate. Le due estremit`a della catena non
sono equivalenti: quella che presenta un fosfato libero (non impegnato in
un legame) `e detta estremit`a 5

, quella che presenta un fosfato legato con


uno zucchero `e detta estremit`a 3

. Per convenzione, la sequenza dei nucleotidi


viene descritta a partire dalla estremit`a 5

: si dice che viene letta in direzione


5

. Le Figure 3 e 4 mostrano rispettivamente la formazione di un


nucleoside e di un nucleotide:
B
5
4
3
2
1
Figura 3: nucleoside
7
B
5
4
3
2
1
P
H O
2
Figura 4: nucleotide
Nella Figura 5 vediamo la formazione di un nucleotide a partire da un
nucleoside: al nucleoside formato dallo zucchero con base azotata viene ag-
giunto in posizione 5

il fosfato (PO4) e nella reazione vengono eliminati gli


elementi di una molecola dacqua.
( 3 ) OH_Z( B) _( 5 ) CH OH + PO = ( 3 ) OH_Z( B) _( 5 ) CH PO
2
4 4
2
Figura 5: formazione-nucleotide
Sono quindi emersi tre vincoli strutturali che possiamo enunciare come tre
principi costitutivi della molecola DNA:
1. BILINEARIT
`
A: il DNA `e formato da due catene appaiate
2. COMPLEMENTARIET
`
A: le catene sono appaiate rispettando la regola di
Charga
3. ANTIPARALLELISMO: la catena appaiata `e posizionata nel verso oppos-
to rispetto allaltra catena; Testa (Ch2PO4) Coda(OH), Coda(OH
Testa(CH2PO4) ).
Come vedremo, la bilinearit`a e la complementariet`a sono strettamente legate ad
una esigenza algoritmica piu che biochimica, volte ad una esecuzione eciente del-
la duplicazione. Ci si chiede invece come mai proprio lantiparallelismo e non sem-
plicemente il parallelismo? questa propriet`a, come vedremo, `e dovuta alla struttura
stessa, `e un obbligo strutturale.
2.3 Logica della concatenazione della molecola DNA
Si cerca di astrarre dalla formazione chimica delle molecole per concentrarsi prin-
cipalmente sulla struttura necessaria per contenere linformazione genetica.
I nucleotidi visti come singoli componenti vengono chiamati monomeri, per poi
formare tramite concatenazione i polimeri detti anche polimeri informazionali. I
monomeri sono oggetti chirali
1
, ovvero oggetti rispetto a cui `e possibile denire un
1
Una molecola `e detta chirale se la sua immagine speculare non `e sovrapponibile a se.
8
sistema cartesiano di riferimento destrorso o sinistrorso con un certo orientamento.
In particolare indichiamo la chiralit`a di un monomero, il piano cartesiano associato
ai versi x,y,z con le seguenti direzioni: concatenazione per il verso x, appaiamento
per il verso y e posizione del lettore per l verso z (Figura 6).
Inoltre i monomeri hanno un tipo denotato da un simbolo appartenente allinsieme
A, T, C, G per cui se un monomero m ha un tipo X si scrive m : X
c o n c a t e n a z i o n e
pai r i ng
l et t or e
Figura 6: mappatura
Si possono stabilire i seguenti principi sui quali si baser`a la notazione che verr`a
introdotta nel paragrafo 2.7
1. PRINCIPIO DI UNIFORMIT
`
A DELLA CONCATENAZIONE: stesso verso
di concatenamento. Ogni monomero di una catena ha lo stesso verso che va
dalla coda del monomero alla testa del monomero successivo. Il nucleotide N
`e chimicamente una struttura orientata da 5

a 3

. Dopo la concatenazione, la
struttura deve mantenere lorientamento, quindi tale operazione pu`o avvenire
solo se i due nucleotidi hanno lo stesso verso e di conseguenza il risultato avr`a
lo stesso verso: N ; N N N .
2. PRINCIPIO DI COMPLEMENTARIET
`
A: Due monomeri si possono appa-
iare solo se i loro tipi rispondono alla regola di Chargaf (A-T; G-C)
3. MIRROR PAIRING. I versi dellappaiamento sulle due catene sono opposti :
La direzione dellappaiamento va dalla testa del monomero alla testa del
monomero appaiato: un monomero pu`o essere appaiato con al pi` u un altro
monomero e due monomeri concatenati con altri due monomeri concatenati.
Questo implica che i monomeri di una singola catena hanno lo stesso orienta-
mento nella direzione del pairing (appaiamento). La Figura 7 a) mostra una
catena concorde con tale principio mentre la b) va contro il principio.
a)
b)
Figura 7: a) stesso verso y. b) verso y opposto
9
4. FREE BILINEAR LOCATION. Le molecole sono libere di posizionarsi in
qualsiasi punto della catena, limportante `e che siano rispettati gli altri prin-
cipi.
Le catene bilineari possono essere denaturate in due singoli lamenti separati;
questo signica che la forza di appaiamento `e debole rispetto alla forza di concate-
nazione. La forza debole di appaiamento `e legata alla complementariet`a. Infatti se
i monomeri appaiati avessero lo steso tipo, allora i legami sarebbero legami chimici
covalenti, ovvero molto forti e quindi molto dicili da rompere in fase di denatu-
razione e tale operazione `e fondamentale per la duplicazione del DNA.
Come `e intuibile, tale struttura bilineare e complementare `e lunica che permette
una duplicazione in tempo polinomiale oltre a facilitare un controllo di possibili
errori. Vedremo che grazie a questa caratteristica si avr`a un numero esponenziale
di coppie in un tempo lineare; se si lavorasse su una sola stringa, infatti, ogni algo-
ritmo di duplicazione avrebbe complessit`a quadratica rispetto alla dimensione della
stringa stessa.
La struttura bilineare pu`o essere rappresentata come in Figura 8, oppure come
in Figura 9 e in entrambi i casi sono rispettati i principi strutturali sopra men-
zionati, tuttavia vedremo che lunica disposizione possibile `e quella antiparallela;
inoltre lappaiamento tra due lamenti pu`o essere parziale dando origine a molte
combinazioni come mostrato in Figura 10.
x
y
y
x
Figura 8: pairing paralleli
x
y
y
x
Figura 9: pairing antiparalleli
10
Figura 10: possibili appaiamenti
Riassumendo la struttura bilineare dei monomeri `e cosi denita:
Il verso di concatenazione corrispondente allasse x. La coda-testa del monomero
corrisponde al verso 5

.
Il verso y corrisponde alla direzione lungo la quale i monomeri si appaiano.
La direzione z perpendicolare al piano xy, identica il punto in cui si posiziona
un ipotetico lettore. Infatti i nucleotidi contengono informazione e per tale
motivo necessitano di essere letti.
In accordo con il principio 1 e 3, i monomeri sono asimmetrici rispetto sia allasse x
che allasse y. La seguente proposizione aerma che sono asimmetrici anche rispetto
allasse z :
Proposizione 1. I monomeri devono essere asimmetrici rispetto allasse z.
Dimostrazione. Se per assurdo un monomero fosse simmetrico allasse z, al-
lora dopo una rotazione attorno allasse y o x, il monomero si posizionerebbe con
verso opposto rispetto allasse x o y e quindi sarebbe simmetrico rispetto a x o y;
ma non pu`o essere perch`e violerebbe il mirror pairing e luniformit`a della concate-
nazione.
Corollario. I monomeri sono oggetti chirali: sono asimmetrici rispetto a tutte
le direzioni. Ad un oggetto chirale si associa un sistema cartesiano.
La asimmetria rispetto allasse z suggerisce un naturale verso di lettura pref-
erenziale e questa intuizione ci porta ad enunciare il Principio del verso di let-
tura uniforme: un lettore (ad esempio lenzima polimerasi) pu`o leggere tutti i
monomeri di una catena stando sempre nello stesso lato rispetto al piano xy, ovvero
tutti i monomeri della stessa catena devono avere lo stesso verso z (Figura 11).
Lemma. Se due oggetti chirali con sistemi di riferimento F1 e F2 dieriscono
per due versi, `e possibile tramite un movimento rigido, sovrapporre i due oggetti in
modo che abbiano lo stesso sistema cartesiano (oggetti omochirali ). Se dieriscono
per un solo verso, non `e possibile sovrapporli e tali oggetti si chiamano eterochirali.
Proposizione 2. Il principio delluniversalit`a del verso di lettura implica che
tutti i monomeri della stessa catena devono avere la stessa chiralit`a.
Dimostrazione. Se per assurdo esistessero due monomeri con chiralita diversa
nello stesso lamento, allora per luniformit`a di concatenamento avrebbero lo stesso
asse x, e per il mirror pairing avrebbero lo stesso asse y, quindi per il lemma devono
dierire per lasse z (essendo per assurdo eterochirali), ma questo contraddice il
11
x
y
z
Let t or e di et r o
al pi ano xy
Let t or e davant i
al pi ano xy
Figura 11: Lettore
principio delluniformit`a di lettura. Segue che i monomeri sono omochirali
Proposizione 3. Il verso di lettura dei due lamenti appaiati coincide se e solo
se i due orientamenti sono antiparalleli.
Dimostrazione. Si `e visto che i monomeri hanno chiralit`a e sono omochirali,
quindi devono essere messi per forza in modo antiparallelo, altrimenti si infrange il
mirror pairing o luniformit`a o la free location. Quindi essendo omochirali il verso
z coincide solo se sono disposti in modo antiparallelo.
(): se sono antiparalleli i monomeri dei due lamenti dieriscono per due versi x
e y, ma essendo omochirali ed avendo versi opposti per x e y, il verso z deve per
forza coincidere e quindi hanno lo stesso verso di lettura.
():Dimostro il contronominale. Se sono paralleli allora i monomeri dieriscono
solo per il verso y, ma essendo omochirali allora devono dierire per unaltro verso,
ed essendo paralleli questa direzione `e lasse z, quindi hanno una diversa direzione
di lettura.
Questa proposizione mostra il grande vantaggio dellantiparallelismo rispetto al
parallelismo: con il primo abbiamo un unico verso di lettura.
Proveremo che la disposizione antiparallela delle due stringhe `e lunica possibile e
lo proveremo utilizzando solo argomenti geometrici.
12
2.4 Triangolo monomerico
Il monomero `e completamente individuato da un triangolo composto da i due punti
di concatenazione ovvero i due fosfati, e il punto di appaiamento (Figura 12)
T
H
H
t es t a( hed)
t est a appai at a
coda( t ai l )
angol o ac ut o
Figura 12: triangolo-monomerico
Langolo del triangolo `e acuto; se fosse stato ottuso avrebbe occupato pi` u spazio e
la catena avrebbe assunto dimensioni spropositate per una cellula. Langolo acuto
ci permette di dare una ulteriore conferma che la disposizione antiparallela `e lunica
possibile. Se solo lo ipotizziamo notiamo che lunico modo per mettere due triangoli
appaiati consiste nel disporli in modo antiparallelo (Figura 13)
T
H
H
H
T
Figura 13: angolo acuto e triangoli antiparalleli
I tre punti che individuano il triangolo sono essenziali per determinare la funzion-
alit`a monomerica:
Il punto H di testa `e i primo punto del monomero lungo il verso di concate-
nazione.
La coda T `e la testa del successivo monomero lungo il verso di concatena-
mento.
H `e la testa del monomero appaiato.
Questi punti specicano il triangolo HTH chiamato appunto triangolo monomreri-
co. In termini di nucleotidi, H corrisponde al fosfato in 5

e T al fosfato in 3

(Figura
14). In base al tipo di informazione trasportata, esistono quattro tipi di triangoli:
A, T, C, G. Quindi dal punto di vista astratto un monomero `e un triangolo avente
un tipo che appartiene allalfabeto delle basi azotate.
Proposizione. Se langolo THH del triangolo `e acuto allora la disposizione
parallela bilineare non `e possibile e quella antiparallela `e lunica possibile.
13
P
T
T
H
H
bas e az ot at a
gr uppo f os f or i c o
Figura 14: punti del triangolo monomerico
Dimostrazione. Se i due monomeri sono sullo stesso piano, sono appaiati lungo
il loro asse di pairing (y) e langolo `e acuto, lunico modo per ottenere la bilinearit`a
`e una disposizione antiparallela. Unaltra disposizione `e mostrata in Figura 15, ma
in questo caso si perde la bilinearit`a.
x
y
y
x
Figura 15: disposizione non lineare
Tuttavia nella struttura bilineare antiparallela, i monomeri non sono sullo stesso
piano perch`e si trovano in un ambiente uido. In questo caso avviene una rotazione
di un certo angolo da parte dei lati esterni del triangolo e questo `e possibile se
contemporaneamente ciascun triangolo `e libero di ruotare lungo lasse x nei punti di
contatto della concatenazione. Questa rotazione provoca la classica forma a doppia
elica del DNA.
14
2.5 Elica bilineare astratta
I legami del doppio lamento sono liberi di muoversi in un ambiente uido, ma tale
movimento rimane connato allinterno di un cilindro chiamato cilindro astratto
(Figura 16). Il triangolo ruota attorno allasse del cilindro il quale `e determinato
H
T
H
T
Figura 16: cilindro monomerico
dai seguenti punti:
Angolo : rotazione rispetto allasse del cilindro del segmento di concate-
nazione; dice di quanto ruota per concatenarsi.
Angolo : torsione; dice di quanto il monomero si piega rispetto alla verticale
Angolo : fase; dice di quanto ruota laccoppiamento nel cilindro (angolo
formato tra H e la perpendicolare di H).
Raggio cilindro.
La forma dellelica del DNA `e quindi completamente determinata da tre angoli, un
raggio e la non complanarit`a (ovvero i monomeri sono situati su piani dierenti).
15
2.6 Forme bilineari
Avendo come riferimento i seguenti principi:
bilinearit`a: doppia catena,
antiparrallelismo: direzione delle due catene opposte 5

e 3

,
complementeriet`a: regola di Charga.
la struttura nucleotidica viene rappresentata tramite due frecce parallele aventi ver-
so opposto:
Se consideriamo le forme bilineari strette si hanno le forme chiamate STICKY
ENDS (ovvero delle incollature, appiccicature) dovute proprio alla complementa-
riet`a la quale si pu`o vedere come una forma di adesione tra cose complementari. Gli
Sticky ends si dierenziano in base ai terminali, ovvero alle sporgenze di ossidrile o
fosfato in 3 o 5 dei lamenti come mostrato in Figura 17.
3
3
st i cky end 3 - 3
3
st i cky end 3
3
5
st i cky end 5 - 3
3
bl unt - y
y
3
st i cky end 3 - y
y
3
y - y
y
5
st i cky end y- 5
5
5
st i cky end 5 - 5
5
st i cky end 5
mol ecol a bl unt : senza spi gol i
1)
2)
6)
7)
2)
3)
4)
5)
8)
9)
10)
Figura 17: sticky-end
16
Nota: la parte y indica la porzione di lamento non complementare.
Alle forme bilineari strette si aggiungono la monostruttura: , gli eteroduplex,
strutture con un singolo lamento: hairpin (punta di capello) e le varie combinazioni
circolari e doppio circolari (Figura 18)
et er odupl ex
har pi n
ci r col ar i
Figura 18: forme non lineari
2.7 Notazione doppia stringa
A questo punto occorre fornire le molecole di una opportuna notazione per poter
descrivere matematicamente le operazioni sulla struttura monomerica.
Dato un alfabeto nito A, deniamo A

come tutte le possibili sequenze di stringhe


su A. Nel nostro caso A = A, T, C, G e corrisponde allalfabeto nucleotidico. Chi-
amiamo , , . . . le sequenze sullalfabeto. Avendo a disposizione loperazione di
concatenazione, le sequenze sono a tutti gli eetti delle stringhe; preso e , la
concatenazione produce la sequenza seguita da : . Per rappresentare lorienta-
mento dei nucleotidi faremo seguire la stringa da una freccia : la parte sinistra
indica la presenza del gruppo fosforico e la pate destra lossidrile. Lorientamento
opposto lo otteniamo con lndicazione .
Indichiamo con la sequenza vuota formata cio`e da nessun nucleotide. Unaltra
operazione su A

`e il rev, ad esempio rev(cane) = enac.


Denizione di rev:
rev(x) = x
rev() = rev()rev()
rev() =
Esempio:
rev(cane) = rev(ane)rev(c) = rev(ne)rev(a)rev(c) = rev(e)rev(n)rev(a)rev(c) =
enac.
17
Assioma:
=
=
Sulle stringe deniamo inoltre la lunghezza [[:
[[ = 0
[[ = [[ +[[
[x[ = 1
Abbiamo cos` denito tre operazioni di base sulle stringhe:
concatenazione
reverse
lunghezza
Per rappresentare lappaiamento di due lamenti utilizziamo la notazione
frazionaria in cui il lamento superiore ha verso 5

e quello inferiore `e il
reverse ovvero 3

.
Ad esempio, se N `e un generico nucleotide una possibile notazione frazionaria `e la
seguente:
NNNCACGNNN
GCAC
Operazioni sulle doppie stringhe
sottostringa [i, j]: porzione di stringa tra le posizioni i e j
concatenazione
complemento (
c
): ad ogni base si prende la lettera complementare
reversing rev(): stringa girata in senso opposto
mirroring rev((
c
)): composizione tra rev e complemento, ovvero la stringa
`e girata dallaltra parte ed `e complementata
Hibridazione ][: indica che le stringhe si possono ibridizzare
pairing

: `e sottointeso che hanno verso opposto


overlapping
overlap concatenation [
blunt pairing < >
Le operazioni non vengono svolte su singole stringhe, ma su popolazioni di stringhe;
si tratta dunque di capire come agire sulla popolazione per avere i comportamenti
voluti sulle singole stringhe.
18
Denizioni.
()
c

()
c
=
(T)
c
= A
(A)
c
= T
(C)
c
= G
(G)
c
= C
()
c
= ()
c
()
c
mirr() = rev(()
c
) = si usa questo simbolo come abbreviazione
orientamento:

= notazione superiore

= rev() notazione inferiore


rev( )
=< > ovvero:

rev(rev()
c
)
=

c
Nota: rev e mirr sono involutive, ovvero: rev(rev()) = e (
c
)
c
=
Esempio:
Sia la seguente stringa: 5ATTCCG 3

se ora si esegue il mirror si


ottiene: CGGAAT, ma vediamo nel dettaglio come operare.
Per eettuare il mirror, prima si complementa e poi si fa il reversing:
()
c
= TAAGGC =

rev(

) = CGGAAT
pairing: | sse = mirr(), ricordando che mirr = rev(
c
)
ovvero si ha il pairing se e solo se `e il mirror() e in questo caso `e denita
loperazione di pairing:

rev()
Esempio.
ATTCCG | CGGAAT
La seconda stringa `e il mirr della prima e quindi `e possibile eettuare il pair-
ing:
ATTCCG
TAAGGC
La dicolt`a rispetto alle stringhe normali consiste nel fatto che si deve oper-
are in primo luogo con doppie stringhe e poi occorre considerare due elementi
aggiuntivi come la coplementariet`a e lorientamento.
Nota:
Se [[ allora

rev( )
=

rev(rev(
c
))
=

c
19
Sopra si legge da 5

a 3

e sotto da 3

a 5

anche se `e la stessa stringa (la


stringa `e la stessa, ma il verso `e opposto).
La molecola in forma doppia la si indica con < >. Quando la molecola `e
perfettamente doppia si ha luguaglianza < >=< > ovvero `e uguale al
suo mirror, infatti:
< >=

rev(

))
=

rev()
=

rev( )
=

rev(rev(
c
))
=

c
che `e proprio < >
][ indica il pairing generale, cio`e si accoppia con se esiste tale che
, e [[ > h, ovvero la lunghezza di `e maggiore di un certo
valore chiamato costante di ibridizzazione che dipende dalla temperatura e
dalla composizione della molecola.
Se sussistono tali condizioni allora pu`o esistere la struttura doppia

rev()
.
Linsieme di tutte le strutture doppie le indichiamo con B

[B

.
Assioma di rotazione:

rev()
=

rev()
Le molecole doppie sono rotazionali perch`e si trovano in un ambiente uido
e pertanto un enzima le pu`o leggere indierentemente da sopra o da sotto.
Overlapping = maxg[ = fg = gp
Loperazione max si riferisce alla massima lunghezza.
Lidea `e la seguente(Figura 19): Due lamenti appaiati hanno una parte
f g
g
p
Figura 19: overlapping
perfettamente appaiata, quindi loverlapping `e quella parte appaiata.
overlap concatenation
< [ >=< fgp > questa `e una operazione che viene eettuata dallenzima
polimerasi (Figura 20).
Extend (ext)
ext(,

) = ext(,

c
) =
Questa operazione corrisponde allestensione di un lamento prendendo come
template, come stampo, il lamento inferiore. Se la seconda molecola si ap-
paia per un pezzo con la prima, allora come risultato si ha lestensione della
prima copiando quello che trova sotto. Ovvero si mette la seconda stringa
in notazione frazionaria, si vede se ce una parte in comune () e copio la
20
f g
g
p
Figura 20: overlap concatenation
sottostringa rimanente nella stringa superiore (indipendentemente da e
).
Inoltre si ha:
ext(, ) = se ,=


ovvero se non si pu`o fattorizzare con il template

, allora lestensione
non fa nulla e ritorna il primo lamento come risultato
Nella notazione a doppia stringa, lext() utilizza come template il lamemto
appaiato.
Abbreviazioni
ext(,)
rev()

ext()
rev()

rev(ext(,))


rev(ext())
ext(,)
rev(ext(,))

ext()
rev(ext())
: Overlap Concatenation su doppia stringa
21
3 Operazioni sul DNA
Consideriamo come oggetto delle operazioni un pool di DNA; un pool `e un mul-
tiinsieme di elementi appartenente a B

[B

ovvero linsieme di tutte le stringhe


doppie. Il pool di DNA `e contenuto in una provetta che indichiamo con P. P indica
sia il contenuto che il contenitore: ad esempio R = R + 1 `e loperazione di incre-
mento in cui R indica a sinistra il registro e a destra il contenuto del registro; o
ancora P = ext(p) dove a sinistra P indica la provetta e a destra il contenuto.
Chiamiamo lamento un oggetto s sul quale `e denita loperazione type che
assegna ad s una stringa di B

[B

. in particolare, se type(s) `e una singola stringa


allora s `e un singolo lamento, mentre se type(s) `e una doppia stringa, allora s `e
un doppio lamento.
Consideriamo un pool P di DNA come un insieme di lamenti o come un multiin-
sieme di singole o doppie stringhe di B

[B

.
Possiamo scrivere:
P = n
1
:
1
, n
2
:
2
, . . . , n
k
:
k
dove:

1
. . .
k
B

[B

, n `e il numero della molecola di uno specico tipo e `e il tipo


della molecola
Oppure possiamo indicare P come segue:
P = S
1
, S
2
, . . . , S
i
i si ha che S : ,
1
. . .
k

Ovvero un multiinsieme di stringhe di B

[B

`e specicato dalla funzione molteplic-


it`a multp da B

[B

ai numeri naturali, che indica il numero di copie per ogni


lamento di tipo B

[B

:
multp : B

[B

N
Esempio:
multp(
1
) = n
1
multp(
k
) = n
k
multp() = 0
Si pu`o dunque scrivere che:
y P sse multp(y) ,= 0: la stringa y appartiene al pool sse nel pool c`e qualche
oggetto di quel tipo.
S P sse type(S) ,= : Ogni lamento in provetta ha come tipo una stringa, i
lamenti che non sono in provetta hanno come tipo una stringa vuota.
Si ha che:
Type(P) = y B

[B

[y P = type(S)[S P
Type `e un insieme di stringhe ovvero `e un linguaggio.
Loperatore type assegna ad un lamento una stringa e loperatore Type asseg-
na ad un pool di lamenti linsieme dei tipi dei suoi lamenti. Stringhe e lamenti
sono concetti dierenti anche se spesso i due termini vengono usati come sinonimi.
Infatti una stringa `e sicamente implementata dal lamento che ha come tipo la
22
stringa stessa.
Le operazioni sul DNA viste con la nostra notazione sono sostanzialmente op-
erazioni su linguaggi. Vedremo le operazioni biologiche mix, split, length, separate,
sintesi, amplicazione, naturazione, denaturazione e sequenziamento.
Note sul calcolo
Dato un singolo lamento S, con la notazione introdotta esso viene rappresen-
tato come stringa e un doppio lamento come una doppia stringa. Si dice che S
ha un tipo: rispettivamente S : t.c type(S) = e S :

t.c. type(S) =

.
Anche una popolazione P ha un tipo, che `e linsieme di tutti i tipi che si hanno
nella popolazione:
Type(P) = type(S) B

[S P dove P = S
1
, S
2
, . . . , S
n
`e un multiinsieme.
Le operazioni viste e che vedremo operano su popolazioni di oggetti per cui si
passa da P a P senza avere la piena conoscenza di come `e fatto P; si conosce sola-
mente il suo tipo, ovvero il tipo degli oggetti in P. Quello che interessa `e passare a
P contenente altri oggetti di un certo tipo; si ha quindi il passagio di tipi: Type(P)
Type(P).
3.1 Operazioni di base: mix, split, length(elettroforesi), sep-
arate, synthetize
1. mix o merge (unione).
mix(P1, P2) = P1 + P2: `e la somma delle molteplicit`a come multiinsieme;
il contenuto di due provette separate viene mescolato in una unica provetta.
2. split (divisione).
split(P) = (P1, P2) tale che P1 + P2 = P e Type(P1) = Type(P2 =
Type(P)): il tipo di entrambi gli elementi prodotti deve uguagliare il tipo
di partenza.
Dopo lo split il linguaggio di P si trova sia in P1 che in P2, quindi se in P si
hanno le stringhe
1
e
2
, allora un certo numero di esse si sono distribuite
sia in P1 che in P2 (Figura 21)
P
P 1
P 2
Figura 21: split
3. length.
length(P) = n
1
, n
2
, . . . , n
n

`e un insieme nito di numeri che rappresentano le lunghezze presenti in


23
provetta.
Questa operazione viene eettuata tramite uno strumento di analisi chiamato
elettroforesi su gel e consente di separare le molecole in base alle loro dimen-
sioni. Un gel costituito da agarosio pu`o essere considerato come una rete tridi-
mensionale in cui vengono fatte migrare le molecole sotto lazione di un campo
elettrico. Le molecole di DNA, essendo cariche negativamente per la presen-
za del gruppo fosfato, migrano verso il polo positivo con una velocit`a che `e
funzione del loro peso molecolare. Molecole di dimensioni minori si muovono
pi` u velocemente attraverso le maglie del gel e quindi si separano da quelle di
dimensioni maggiori. Dopo un certo tempo linsieme delle molecole che han-
no la stessa lunghezza appaiono come bande a diversa distanza dal pozzetto
di ingresso, Figura 22. Si possono vedere utilizzando particolari reagenti e
illuminando il gel con luce ultravioletta.
0
1 0
2 0
3 0
4 0
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
i ngr essi per var i pool di DNA
0
1 0
2 0
3 0
4 0
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
T
Figura 22: elettroforesi
4. separate.
separate(P, n) = s P[ type(s) = , [[ = n prende la banda delle molecole
lunghe n; questa operazione si basa sullelettroforesi.
5. synthetize.
`
E la procedura per creare ovvero scrivere una stringa di DNA. I nucleotidi
possono essere creati con metodi di sintesi chimica e quello che si desidera `e
mettere questi nucleotidi in una specica posizione nella sequenza; ad esempio
potremmo essere interessati a produrre la sequenza ATCG.
La scrittura avviene da destra a sinistra, contrariamente alla lettura che
avviene da sinistra a destra. Il procedimento si basa su una sequenza di tre
operazioni: ancoraggio, blocco e sblocco come descritto di seguito.
(a) Si prende una certa quantit`a di molecole di un certo tipo a esempio
G. Non essendo possibile operare su singole molecole (data la loro pic-
colissima dimensione) se ne prende un quantitativo pari ad esempio a
10
14
e si eettua la procedura di ancoraggio, ovvero si rende solidale la
molecola con un supporto solido.
(b) Si riempiono quattro vaschette con i nucleotidi A,T,C,G (una per vaschet-
ta) e si bloccano in 5

tramite la defosforilazione (eliminazione del fos-


foro); in questo modo si impedisce la possibile formazione di un legame
con 3

dalla parte di 5

.
24
(c) Si intinge il supporto solido nella vaschetta C e poich`e, tali nucleotidi
non hanno il fosforo, lunico legame che si pu`o creare `e dalla parte
dellossidrile (3

), cos` la C si attacca con la G dalla parte voluta: si `e


creato un legame 3

tra C e G.
(d) Si toglie il supporto dalla vaschetta e quindi tramite opportune oper-
azioni chimiche si sblocca C. A questo punto si ha 5

su CG. Quindi
si intinge il supporto cos` formato in T e dopo averlo estratto si ha
5

su TCG; si ripete per A e si ottiene la sequenza voluta ATCG.


La lettura della stringa `e invece piu complicata perch`e necessita di una fase di am-
plicazione del materiale genetico. Solitamente lordine di grandezza del materiale
amplicato `e di 10
20
. A livello simbolico un pool di molecole avente un certo tipo,
occorre trasformarlo in un pool contenete tanti insiemi di molecole, dove ogni in-
sieme contiene cloni di molecole dello stesso tipo:
Type(P) =
1
,
2
. . .
k
(
1
,
2
. . .
k
)
Nei prossimi capitoli vedremo le tecniche di amplicazione e di lettura.
25
3.2 Denaturazione e Rinaturazione del DNA
Il DNA, per eetto di agenti denaturanti sici (calore) e chimici (condizioni estreme
di pH e forza ionica) pu`o subire il fenomeno della denaturazione. Esso consiste nella
distruzione della struttura a doppia elica con separazione delle due catene nucleo-
tidiche cha la costituiscono, senza per`o che vengano scissi i legami del gruppo fos-
forico che assicurano la continuit`a della catena con il desossiribosio (Figura 23). Il
DNA in questo stato denaturato non pu`o essere utilizzato dalle cellule come fonte
di informazione genetica.
Se il DNA, denaturato al calore, viene rareddato lentamente lasciandolo ad
una temperatura vicina a quella di denaturazione per un tempo abbastanza lungo, si
consente alle eliche di provare ad accoppiarsi formando alcuni legami ad idrogeno:
se lappaiamento `e coretto, la formazione dei primi legami porta vicine fra loro
altre basi complementari che possono formare cos` altri legami, per cui le catene
si chiudono rapidamente come se fossero una cerniera lampo dando luogo ad una
doppia elica stabile, identica a quella di partenza: si `e vericata la rinaturazione
(Figura 24).
La sola cosa che conta ai ni della formazione della doppia elica, `e la presenza
di sequenze complementari, per cui la rinaturazione avviene anche se le catene
provengono da DNA diversi: tale fenomeno prende il nome di ibridazione
A T G C G A G C G T A T G A T C T G
T A C G C T C G C A T A C T A G A C
3 5
3 5
A T G
C
G
A G C G T A T
G
A
T C T G
T A C
G
C
T C G C A T A
C
T
A G A C
3
3
5
5
A T G C G A G C G T A T G A T C T G
3 5
T A C G C T C G C A T A C T A G A C
3 5
Si ngol e c at ene
di nucl eot i di
DNA a doppi o
f i l ament o
I ni zi o del pr ocesso
di denat ur az i one
Figura 23: denaturazione
26
A T G C G A G C G T A T G A T C T G
T A C G C T C G C A T A C T A G A C
3 5
3
5
A T G C G A G C G T A T G A T C T G
3 5
T A C G C T C G C A T A C T A G A C
3 5
A T G C G A G C G T A T G A T C T G
3 5
T A C G C T C G C A T A C T A G A C
3 5
Due f i l ament i separ at i
Ap p a i a me n t o
cor r et t o
Tent at i vo di
a p p a i a me n t o
Figura 24: rinaturazione
3.3 Amplicazione con PCR
La reazione a catena della DNA polimerasi detta PCR (Polymerase Chain Reac-
tion) `e una tecnica introdotta nel 1985 da Kary Millis che consente di amplicare
in modo specico e selettivo una stringha di DNA.
Per amplicare una striga di DNA `e indispensabile disporre di un nucleotide com-
plementare alla estremit`a della sequenza di partenza (primer). La sintesi richiede
pertanto che sia nota almeno la sequenza nucleotidica di brevi zone adiacenti alla
sequenza da amplicare.
La PCR consiste di vari cicli di amplicazione e ogni ciclo `e costituito da tre fasi:
denaturazione, appaiamento (annealing) e sintesi.
In breve la duplicazione `e completamente svolta dallenzima Polimerasi (ad esempio
lenzima TAQIII, Termo Acquaticus III), il quale una volta identicato un innesco
(Primer), inizia a duplicare la parte complementare del lamento mancante leggen-
do laltro lamento (Figura 25).
Gli ingredienti principali per la PCR sono il DNA campione, i primer, i nucleotidi
5
5
3
3
mol ec ol a da dupl i c ar e
pr i mer
par t e aggi unt a
dal TAGI I I
Figura 25: polimerasi
trifosfati (A,T,C,G) e il TaQIII. La reazione di amplicazione avviene tramite cicli
27
sequenziali ed `e una reazione a catena in cui i lamenti neosintetizzati agiscono da
stampo per lulteriore sintesi di DNA nel ciclo successivo.
La procedura `e la seguente:
Si parte da una molecola bersaglio < . . . >, ma come si `e gia detto non
si lavora mai con singole molecole, ma con pool di DNA.
Denaturazione: si innalza la temperatura a 90

C per facilitare la denatu-


razione (Figura 26)
a b
b a
a b
b a
Figura 26: denaturazione di < . . . >
Annealing: si disegnano i primer e

e si abbassa la temperatura attorno
ai 30

C per facilitare lappaiamento per complementariet`a con i lamenti


template (Figura 27)
a b
b a
b a
Figura 27: Annealing con i primers
Sintesi: si porta la temperatura attorno ai 70

C per un certo tempo per fa-


cilitare il lavoro della polimerasi (Figura 28): il TaqIII, partendo dal primer,
aggiunge i singoli nucleotidi (sparsi nella soluzione del pool) che sono com-
plementari al lamento template.
a b
b a
b a
t aqI I I
t aqI I I
A G
C
T
A G
C
T
Figura 28: Estensione
Iterando il processo per n volte si ottengono 2
n
copie.
Nota:
La PCR copia un lamento template, aggiungendo nucleotidi, sempre nella direzione
28
5

e mai nella direzione 3

(Figura 29); pi` u precisamente il lamento, lungo


il quale le basi sono scansite, `e percorso dallenzima nella direzione 3

, ma la
scrittura avviene nel neolamento in direzione 5

.
G G A G A T C C G A
C C T C T A G G C T A A G C T A G G A C C A T T A C G
T T C G A T C C T G G 5
3
A G C C T A G A G G G G T C C T A G C T T
G C A T T A C C A G G A T C G A A T C G G A T C T C C
o p p u r e
3
5
Aggi unt a di nucl eot i di :
Nes s una aggi unt a di nuc l eot i di :
G A G G A C A T C C G A T T C A G G A G T A C C 5
C T C C T G T A G G 3
o p p u r e
G G A T G T C C T C
C C A T G A G G A C T T A G C C T A C A G G A G
3
5
Figura 29: Direzione di sintesi
Algoritmo per PCR:
PCR(P,n){
let Type(P) = {<a...b>,c,d} //<a..b>: tipo del template; c,d: primers
input P
for i = 1,n do
{
P:= denature(P)
P:= hybridize(P)
P:= extend(P)
}
output P
}
29
3.3.1 Alberi PCR
La visualizzazione della PCR tramite alberi `e particolarmente utile per osservare
cosa accade quando la forma e la posizione delle molecole risulta essere complessa.
Si dimostra che tra le molecole che vengono duplicate esponenzialmente, c`e ne sar`a
sicuramente una di tipo blunt; si avranno tante forme diverse, ma una o pi` u saranno
blunt. La forma della molecola blunt sar`a delimitata dai primers considerando il
template superiore (Figura 30)
a y b 2
b 1 b 2
y
Figura 30: Regola molecola blunt
Esempio.
Con riferimento alla Figura 31a, nel primo ciclo della PCR, la molecola template
si divide e i lamenti 1 e 2 si attaccano ai relativi primer, e dopo il lavoro della
polimerasi si ottengono le molecole descritte nella Figura 31b.
Al secondo ciclo le molecole cos` ottenute si separano e i lamenti 1 e 2 si riattaccano
con i primer (infatti sono i template di partenza) e si ottengono le stesse molecole
ottenute al passo precedente. I lamenti 3 e 4 non si attaccano ai primers perch`e non
sono complementari (rispetto ai primers), per`o si appaiano nella loro parte comune
e la polimerasi completa i lamenti ottenendo cos` una molecola blunt (Figura 31c).
30
1
2
a)
1
2
3
4
b)
3
4
c)
pr i mer
pr i mer
Mol ec ol e ot t enut e
al pr i mo ci cl o
Mol ec ol e ot t enut e
al secondo ci cl o
1
2
Figura 31: esempio blunt
Nota:
Quando si scrive signica che si sta leggendo un lamento singolo da 5

a 3

; se
invece si vuole leggere in notazione doppia si deve scrivere

rev( )
Alcuni alberi PCR:
Esempio 1 , Figura 32
Figura 32: Albero pcr esempio 1
31
Esempio 2 , Figura 33
2
2
1
1
Da quest o l at o,
da qui i n poi , si
ot t engono s equenz e
t ut t e ugual i .
Figura 33: Albero pcr esempio 2
Esempio 3 , Figura 34
2
1
1
2
3
4
3
4
5
5
2
Al t er zo passo si ot t enut a
l a mol ecol a bl unt l a cui l unghezza
quel l a del i mi t at a dai due pr i mer sul l a
mol ecol a i ni zi al e
Figura 34: Albero pcr esempio 3
32
Altri esempi di forme di PCR:
Sticky end 3-3 La polimerasi lavora nel verso 5-3 e con molecole con Sticky
ends 3-3, la PCR non fa nulla (Figura 35)
3
3
5
5
Figura 35: Albero pcr Sticky end 3-3
Sticky end 5-5 Con Sticky ends 5-5 la polimerasi completa i lamenti (Figura
36)
3
3
5
5
Figura 36: Albero pcr Sticky end 5-5
Blunt Ad ogni passo la polimerasi lavora solo sul lamento inferiore e scarta quello
superiore. In questo caso si ha una amplicazione lineare (Figura 37)
3
3
5
5
3 5
3 5
Figura 37: Albero pcr blunt
Forma a Y Anche in questo caso si ha una amplicazione lineare in quanto le
parti nuove non possono essere appaiate dai primers, mentre quelle vecchie
si (Figura 38)
Forma a Y Altro esempio di molecola a forma di Y (Figura 39)
33
1
1
n e w
ol d
2
2
n e w
ol d
Figura 38: Albero pcr y-y
Figura 39: Albero pcr y
3.4 Altre operazioni: Ligasi, Fish, Inx-Sux
ligasi. Concatena le stringhe aggiungendo un legame fosforico.La ligazione `e un
processo di saldatura di frammenti di DNA e avviene grazie ad un enzima
denominato DNA Ligasi. La ligazione tra molecole di DNA, `e indispensabile
per eettuare il clonaggio molecolare (vedi Paragrafo 3.5).
Esempio.
In riferimento alla Figura 40 la polimerasi allunga il primer complementare
al template, poi lenzima ligasi concatena il neolamento con il lamento
accanto. Si pu`o dire che la polimerasi chiude i buchi grandi e la ligasi
i buchi piccoli. Con la notazione introdotta possiamo esprimere la ligasi
come segue:

. La ligasi toglie lossidrile in posizione 3

e forma ununica
catena.
Pol i mer as i
Col l egament o per
Li gasi
Al l ungament o per
Figura 40: Ligasi
34
sh. Si tratta di un pescaggio dei lamenti desiderati, ovvero identica una speci-
ca sequenza di DNA. Si eettua lancoraggio del complementare della parola
che si vuole pescare, la si immerge nella popolazione e i lamenti che cor-
rispondono al template si attaccheranno. Questa operazione si basa sulla
ibridazione molecolare.
ibridazione molecolare. Permette di evidenziare la presenza di una specica se-
quenza di DNA allinterno di un pool. Si basa sulla propriet`a della molecola
di DNA di poter subire i processi di denaturazione e rinaturazione. In con-
dizioni opportune di temperatura i singoli lamenti che presentano sequenze
di basi complementari possono appaiarsi e dare origine a molecole a doppio
lamento, ovvero possono ibridare tra di loro
2
.
Per poter individuare un dato lamento di DNA occorre disporre di una
molecola detta sonda, che contiene la sequenza complementare a quella che
si `e interessati. La sonda viene denaturata a singolo lamento e immersa
in un pool anchesso denaturato. A questo punto la sonda potr`a appaiarsi
al lamento complementare presente tra le migliaia di lamenti non com-
plementari. Si forma cos` un ibrido molecolare a lavvenuta ibridazione pu`o
essere evidenziata mediante un opportuno sistema di rilevazione ad esempio
tramite radiograa se le sonde sono state marcate con elementi radioattivi.
inx-sux. Se si vuole duplicare una molecola blunt, si deve conoscere la porzione
di DNA corrispondente alla testa e alla coda per poi utilizzare i loro comple-
mentari come primers. Non sempre `e possibile avere questa conoscenza, cos`
si aggiunge al lamento un presso e un susso per poi usare i loro comple-
mentari come primers (Figura 41).
a b
a
b
a b
b
a
b
a
Figura 41: inx-sux
Questa operazione utilizza la ligasi. Se non si conosce la sequenza della
molecola N, grazie allinx, la posso pressare e sussare riprendendo il con-
trollo della molecola: N.
Innanzitutto si prendono due molecole note e e gli si leva il fosforo nella
estremit`a 5 per ridurre la possibilit`a di aggancio, quindi la ligasi pu`o operare
solamente tra la punta e la coda (Figura 42). Una volta avvenuta la ligasi, la
polimerasi produrr`a una molecola doppia allungando i singoli lamenti.
A questo punto si ha il completo controllo della molecola poich`e si ha la
conoscenza delle parti terminali ed `e possibile progettare i primers in mo-
do opportuno per applicare la PCR e amplicare la molecola: PCR(,

)
(Figura 43).
2
Lappaiamento avviene per formazione di legami di idrogeno tra le basi complementari
appaiate
35
a
b
Mo l e c o l a N
+
b or a
a or b
Figura 42: Possibili agganci di inx-sux
b a
a
b
a
b
Al l u n g a me n t o p e r PCR
Figura 43: progettazione primer
3.5 Amplicazione con clonaggio molecolare
Tramite clonaggio molecolare `e possibile isolare un singolo gene o in generale un
frammento di DNA e produrne molte copie identiche. Per clonare un lamento di
DNA occorre inserirlo in un vettore di clonaggio tramite il processo di ligazione. I
vettori ricombinati vengono successivamente introdotti in idonee cellule ospiti (cel-
lule batteriche o di lievito), ottenendo una grande collezione di cloni ricombinati che
viene detta libreria di DNA. Dopo aver costruito una libreria, occorre identicare
la sequenza di DNA che contiene il gene.
Lamplicazione, eettuata tramite clonaggio o PCR, permette di ottenere in
entrambi i casi molte copie di una sequenza di DNA; tuttavia dono diversi i prin-
cipi e i metodi: con la clonazione si usa la macchina genetica della natura, ovvero i
batteri; la PCR invece permette di fotocopiare in modo sintetico (con un processo
semplice, poco costoso e soprattutto programmabile) attraverso il meccanismo dei
primers che sono i segnali che dirigono il fenomeno amplicativo.
3.5.1 Vettori di clonaggio
Sono molecole di DNA in grado di replicarsi autonomamente in una cellula ospite.
In tali molecole `e possibile inserire, in una posizione nota, i frammenti di DNA da
clonare. I singoli vettori ricombinati possono essere introdotti in una cellula ospite
(cellula batterica o di lievito) nella quale veicolano il frammento di DNA preceden-
temente inserito. In tali cellule i singoli vettori replicano il proprio DNA e quello
del frammento in esso integrato. Metaforicamente il vettore `e come se fosse un bus
contenente un passeggero; il bus entra in un box specializzato (cellula) che in pochi
istanti replica il bus stesso compreso il passeggero. In questo modo quando la cellula
batterica si divide, porta con se i plasmidi compreso il DNA target.
Esistono quattro tipi di vettori di clonaggio: i plasmisi, i batteriofagi, i cosmidi
e i cromosomi articiali di lievito. I primi tre usano come cellula ospite il batte-
36
rio Escherichia Coli (comunemente chiamato E.Coli), mentre il quarto il commune
lievito di birra. Tali vettori sono in grado di eettuare una replicazione autono-
ma nelle cellule ospiti, presentano pi` u siti di taglio per enzimi di restrizione in
corrispondenza dei quali inserire i frammenti di DNA da clonare (la regione della
cellula che contiene i siti si chiama polylinker), inoltre contengono uno o pi` u mar-
catori selettivi per distinguere le cellule ospiti che contengono il vettore da quelle
che non lo contengono; un marcatore selettivo potrebbe essere un gene resistente
ad un antibiotico.
La scelta dei vettori dipende dalle dimensioni dei lamenti di DNA che si `e inter-
essati a clonare.
3.5.2 Enzimi di restrizione
La scoperta degli enzimi di restrizione ha reso possibile la tecnologia del DNA ri-
combinante. Sono enzimi di origine batterica in grado di tagliare una molecola di
DNA a doppia elica in corrispondenza di speciche sequenze di basi. Questi enzimi
servono ai batteri per difendersi dallinvasione di virus, in quanto riconoscono e
degradano ogni DNA estraneo che penetra nella cellula.
La sequenza di coppie di basi riconosciuta da un enzima di restrizione prende il
nome di sito di restrizione. Ogni enzima riconosce uno specico sito che in genere
`e un palindromo
3
I siti di restrizione possono essere costituite da 4 o 6 o pi` u coppie di nucleotidi
e le modalit`a di taglio possono essere le seguenti:
esattamente al centro, generando estremit`a piatte
in modo asimmetrico, generando estremit`a a singolo lamento (estremit`a
coesive o appiccicose) sporgenti verso il 5
in modo asimmetrico, generando estremit`a a singolo lamento, sporgenti
verso il 3
Esempi di enzimi di restrizione:
Enzima Sequenza di riconoscimento
HaeIII
5

GG

CC3

CC

GG5

HbaI
GC

GC
C

GCG
HpaII
C

CGG
GGC

C
ecoRI
G

AATTC
CTTAA

G
3
In linguistica il palindromo e una parola che rimane identica sia se letta da sinistra
verso destra che viceversa. Nel caso di DNA, palindromo `e una sequenza di nucleotidi a
simmetria binaria che presenta la stessa sequenza di basi se letta in direzione 5-3 sia su
unelica sia sullaltra; esempio
5

GGTACC3

CCATGG5

37
In Figura 44 vediamo alcuni esempi di taglio con altri enzimi di restrizione.
5 CCCGGG3
3 GGGCCC5
5 CCC
3 GGG CCC5
GGG3
5 GGAT CC3
3 CCT AGG5
5 G
3 CCTAG5
5 GATCC3
G5
5 CT GCAG3
3 GAT GT C5
5 CTGCA3
3 G
G3
3 ACGTC5
St i ky end 3
St i ky end 5
Est r emi t a pi at t e
Tagl i o c on
Sma I
Tagl i o c on
Ba m HI
Tagl i o c on
Pst I
Figura 44: Esempi di taglio con enzimi di restrizione
38
3.5.3 Plasmidi
I plasmidi sono molecole circolari di DNA presenti nei batteri. Queste molecole
non sono strettamente necessarie alla vita del batterio, ma possiedono dei geni che
possono fornire caratteristiche aggiuntive al batterio che ne possiede; tipicamente
questi geni codicano la resistenza ad un antibiotico. Inoltre i plasmidi, essendo
dotati di unorigine per la replicazione, hanno la capacit`a di replicarsi autonoma-
mente allinterno di una cellula, e i loro geni vengono espressi indipendentemente
dal cromosoma principale. I geni vengono cos` trasmessi alle cellule glie nella di-
visione cellulare, conferendogli lo steso vantaggio.
I plasmidi possono essere riprodotti in laboratorio e progettati in modo da avere
caratteristiche aggiuntive rispetto a quelli naturali. In Figura 45 vediamo un gener-
ico plasmide in cui sono evidenziate le caratteristiche principali dove A
R
e B
R
sono
i geni capaci di conferire resistenza a un antibiotico.
I plasmidi si replicano in modo autonomo rispetto al cromosoma che contiene lin-
Or i gi ne r epl i cazi one( or i )
A
B
R
R
Pst I
Ec o RI
B a mHI
Si t i di t agl i o per enzi mi di r est r i zi one
Figura 45: Caratteristiche principali di un vettore plasmidico
formazione genetica principale, ma il principio `e lo stesso, ovvero tramite lenzima
DNA polimerasi, quindi durante la divisione cellulare i plasmidi vengono trasferiti
da una cellula allaltra come mostrato in Figura 46.
Grazie agli enzimi di restrizione in grado di tagliare il DNA in corrispondenza di
sequenze speciche, `e possibile utilizzare i plasmidi per introdurre nei batteri del
DNA esogeno al ne di produrre proteine o per amplicare tratti di DNA. La Figura
47 rappresenta il taglio di un plasmide e di un DNA esogeno tramite un enzima di
restrizione. La successiva ligazione tramite lenzima ligasi tra il plasmide e il DNA
estraneo, forma una molecola chiamata plasmide ricombinato.
39
Cr o mo s o ma
Pl a s mi d e
Figura 46: Trasferimento del DNA plasmidico
A
R
3
5 3
5
3 5
Fr a mme n t i d i DNA e s o g e n o
Vet t or e di cl onaggi o
Tagl i o i n cor r i spondenza di un
si t o di r est r i zi one
Figura 47: Ligazione tra molecole di DNA
3.5.4 Algoritmo di clonazione
Le tecniche di clonaggio consistono di inserire un frammento di DNA in un vettore,
introdurre la nuova molecola in una cellula ospite e successivamente isolare il clone
che contiene la molecola di DNA ricombinante.
Lalgoritmo dettagliato `e il seguente:
1. Si sceglie un vettore circolare (plasmide) che include un gene che codica la
resistenza ad un antibiotico A ed un gene per la resistenza ad un antibiotico
B.
2. Si linearizza il vettore tagliandolo con un enzima di restrizione in un sito che
compare una volta sola e che interrompe la sequenza del gene che codica
lantibiotico B. Ad esempio supponiamo che tale gene sia codicato dalla se-
quenza
5

TTTCCCGAATTCAAA3

AAAGGGCTTAAGTTT5

si applica un enzima di restrizione che spezza tale sequenza eliminando la


possibilit`a di produrre la proteina che produce la resistenza e di conseguenza
il plasmide diviene vulnerabile a tale antibiotico (Figura 48)
40
Figura 48: Taglio del plasmide
3. Si adatta il frammento da amplicare con inx-sux, in modo da avere
estremit`a complementari a quelle del plasmide linearizzato (Figura 49)
A A T T C
G
C T T A A
G
Figura 49: Adattamento DNA esogeno
4. Si collegano vettore e frammento per opera della ligasi ottenendo plasmidi
ricombinati (Figura 50) Lenzima DNA ligasi salda le estremit`a compatibili
A A T T C
G
C T T A A
G
Figura 50: Collegamento per ligasi
41
di DNA, senza selezionare le molecole a cui le estremit`a appartengono. Infatti
si possono creare due tipi diversi di molecole in grado di replicarsi una volta
inseriti nella cellula:
(a) DNA ricombinante ovvero plasmide con inserto DNA esogeno
(b) Plasmide circolare puro ovvero il taglio dellenzima di restrizione si `e
risaldato, per ligasi infatti pu`o avvenire la reazione del plasmide con se
stesso (Figura 51).
5 T T T CCCGA A T T CA A A 3
3 A A A GGGCT T A A GT T T 5
5 AAT T CXXXXXG3
3 GXXXXXCTTAA5
5 T T T CCCG3
3 AAAGGGCT T AA5
5 AATTCAAA3
3 GTTT5
Tagl i o c on enz i ma di
r est r i zi one
P L AS MI DE
I NS E RT O
5 T T T CCCGA A T T CA A A 3
3 A A A GGGCT T A A GT T T 5
Appai ament o e Li gas i
del pl as mi de c on s e s t es s o
Appai ament o e Li gas i
del pl asmi de con l i nser t o
5 T T T CCCGA A T T CX X X X X GA A T T CA A A 3
3 A A A GGGCT T A A GX X X X X CT T A A GT T T 5
Figura 51: Due tipi di appaiamento per ligasi
5. Si infetta un batterio non resistente allantibiotico A con il plasmide ricom-
binato, sfruttando il fenomeno della infezione univoca (al pi` u un plasmide
entra nella menbrana batterica). Attenzione, in questa fase possono entrare
nei batteri anche i plasmidi puri come descritto al passo precedente.
`
E da
notare che solo una minoranza di batteri assume DNA esogeno (circa 1 su
10.000), per cui i batteri che ospitano il plasmide ricombinato devono essere
individuate tra le numerose cellule non trasformate.
6. I batteri vengono posti in pozzetti di crescita separati (un batterio per pozzet-
to) il cui nutrimento contiene lantibiotico A; lantibiotico uccide tutti i bat-
teri privi di plasmide. Dopo ripetute divisioni cellulari si ha la formazione
di una colonia di tali batteri. Derivando da una singola cellula originaria,
tutte le cellule hanno il medesimo patrimonio genetico, per cui si parla di
cloni cellulari (i batteri hanno dimensioni che permettono lindividuazione di
singole unit`a ). Vedi Figura 52
7. Si selezionano nella colonia i batteri resistenti allantibiotico A, che costitu-
iscono una colonia M
42
DNA c r o mo s o mi c o
Pl a s mi d e
r i c ombi nat o
Bat t er i o
I bat t er i c he non c ont engono
i pas mi di muoi ono a c ont at t o c on
l ant i bi ot i co A
COL T URA CON ANT I BI OT I CO T I PO A
Mol t i pl i cazi one cel l ul ar e
Figura 52: Coltura con antibiotico A
8. Dei batteri sopravvissuti si preleva un batterio da ciascun clone in modo da
costruire, dopo crescita in coltura, una colonia mirror M della colonia M
(Figura 53)
1
2 3
4
5
6
7
8
Col oni a M di cl oni
sopr avvi ssut i
al l ant i bi ot i co A
1
2 3
4
5
7
8
Col oni a M .
E una c opi a c onf or me
al l a col oni a M
6
Pozzet t i
cont enet i i cl oni
Figura 53: Colonia mirror M di M
9. Si espone M allantibiotico B per discriminare i bateri resistenti a tale antibi-
otico da quelli non resistenti (Figura 54). Applicando lantibiotico al mirror si
vede chi muore in seguito alla sua azione. Se nel mirror muoiono le cellule nei
pozzetti 2, 5, 8 allora nella colonia originale, negli stessi pozzetti, deve esserci
linserto (che ha interrotto il gene che sviluppa la resistenza a B)
10. A questo punto dalla mappa della sopravvivenza in M si pu`o capire quali
43
1
3
4
7
Dopo l es pos i z i one
al l ant i bi ot i co B
sopr avvi vono sol o l e col oni e
r esi st ent i a t al e ant i bi ot i co, ovver o
quei bat t er i non r i combi nat i
6
Figura 54: Esposizione allantibiotico B
sono i batteri di M che sono resistenti a B. Si prelevano da M tali batteri
e si pongono in una coltura C; tutti questi batteri contengono il plasmide
ricombinato. (Figura 55)
1
3
4
7
6
2 3
4
5
6
7
8
1
Dal l a mappat ur a di M s i deduc e c he i n M
i pozzet t i 2, 5, 8 cont engono cl oni con pl asmi di
r i combi nat i
Col oni a M Col oni a M
Figura 55: Individuazione dei cloni con inserto
11. Per lisi si elimina la membrana dei batteri di C e si ltra il contenuto
trattenendo i plasmidi ricombinati.
12. Nel pool dei plasmidi ricombinati si agisce con lenzima di restrizione in modo
da separare il frammento inserito dal vettore originale. Quindi per elettro-
foresi si selezionano i lamenti di lunghezza uguale a quella del frammento
iniziale da amplicare.
Considerazioni.
La chiave dellalgoritmo sta nel fatto che il sito dellenzima di restrizione `e al-
linterno del gene dellantibiotico B, cos` quando un frammento di DNA esogeno
viene inserito in quel punto, la funzionalit`a del gene viene eliminata. Poi tutte le
cellule del batterio con plasmide trasformato o no, possono svilupparsi in presenza
dellantibiotico A. Ma le cellule del batterio che contiene il plasmide ricombinato
con DNA esogeno non sar`a mai in grado di svilupparsi in presenza dellantibiotico B.
Tuttavia, in modo meno preciso si pu`o recuperare il frammento di DNA esogeno
senza operare la seconda selezione con lantibiotico B. In questo caso lalgotimo
diventa il seguente; brevemente:
44
1. Linearizzazione
2. Inserimento del passeggero
3. Infezione dei batteri non resistenti allantibiotico A con plasmidi ricombinati
4. Produzione della colonia di batteri in presenza dellantibiotico A
5. Selezione dei batteri ricombinati, ovvero la colonia sviluppata al passo 4
6. Recupero dei plasmidi per lisi della cellula
7. Rimozione inserto con enzima di restrizione ed elettroforesi
45
3.6 Sequenziamento
Sequenziare un frammento di DNA signica leggere la successione di basi che esso
contiene individuando lordine con cui A,C,G,T si alternano. Negli anni settan-
ta sono state sviluppate due tecniche. Un metodo, messo a punto da Maxam e
Gilbert utilizza un processo di degradazione chimica del DNA; laltro `e stato messo
a punto da Sanger e utilizza un approccio di tipo enzimatico. Per tale contributo
questi ricercatori condivisero il premio Nobel.
Il metodo di Sanger ha subito nel tempo molti miglioramenti rendendolo robusto,
adabile e automatizzabile. Tuttavia questa tecnica ha delle limitazioni per tutte
quelle operazione che necessitano di un elevato usso di informazioni. Nel frattem-
po sono stati studiati metodi alternativi come il sequenziamento per ibridizzazione,
sequenziamento per rma parallela basato sulla ligazione e il pyrosequencing. Il
pyrosequencing sta avendo una notevole diusione in quanto risulta essere estrema-
mente rapido, totalmente automatizzabile e soprattutto a basso costo.
Nei prossimi paragra verranno analizzate in dettaglio le tecniche pi` u utilizzate,
ovvero il metodo di Sanger e il pirosequenziamento, ma per capire meglio il loro
funzionamento risulta utile un breve ripasso di alcuni concetti riguardo le reazioni
chimiche e del ruolo importantissimo degli enzimi catalizzatori.
3.6.1 Lenergia di attivazione delle reazioni chimiche
Tutte le reazioni per avvenire spontaneamente, devono svolgersi con liberazione
di energia (devono cio`e possedere un E negativo): in altre parole, il contenuto
energetico dei prodotti deve essere inferiore a quello dei reagenti. Ma il fatto che
un processo possibile (spontaneo) dal punto di vista termodinamico non implica
necessariamente che esso si verichi con velocit`a apprezzabile in ogni condizione.
Supponiamo di prendere in esame una reazione spontanea tra i composti A-B e
C-D, che dia come prodotti i composti A-D e B-C.
`
E chiaro che per formare il composto A-D `e necessario rompere gli altri legami. La
rottura di un legame chimico tra due atomi richiede energia almeno per destabiliz-
zare i legami esistenti che devono dare origine ai nuovi composti. Questo si verica
nel momento in cui le molecole dei reagenti collidono tra di loro per dare luogo alla
reazione: se lenergia `e suciente si forma il cosiddetto complesso di attivazione, nel
quale i vecchi legami sono resi instabili, mentre i nuovi cominciano a formarsi; `e una
sorta di stato intermedio tra quello iniziale e quello nale. Lenergia necessaria alla
formazione del complesso `e detta energia di attivazione. Il complesso di attivazione
si trova cos` ad un livello energia superiore quello dei reagenti. Una volta formato,
il complesso pu`o sia tornare indietro, riformando i reagenti, sia andare avanti, for-
mando i prodotti della reazione.
Lenergia di attivazione rappresenta un ostacolo allo svolgimento della reazione: se
le molecole dei reagenti non posseggono energia suciente a superare tale ostacolo,
la reazione, pur essendo possibile non pu`o avvenire.
Ora, lenergia che consente alle molecole di superare la barriera deriva dallenergia
con cui esse si muovono e collidono (energia cinetica), che a sua volta dipende dalla
temperatura del sistema (tanto pi` u alta `e la temperatura, tanto maggiore `e lener-
gia cinetica delle molecole). Alla temperatura ambiente, che caratterizza la materia
vivente, lenergia delle molecole `e mediamente insuciente a consentire loro di su-
perare la barriera di attivazione per la stragrande maggioranza delle reazioni, e
46
quindi queste, anche se teoricamente possibili, di fatto non avvengono, se non in
misura innitamente piccola.
Inoltre occorre che la collisione tra gli stomi avvenga in modo giusto. Se ci`o non ac-
cade, pu`o avvenire una reazione diversa, che porta alla formazione di sottoprodotti,
oppure ad un aborto della reazione stessa.
3.6.2 Gli enzimi catalizzatori
In un sistema che debba rimanere a temperatura costante e relativamente bassa,
come la materia vivente, il solo modo di aggirare questi problemi `e quello di ricorrere
ai catalizzatori, cio`e sostanze che si ritrovano inalterate al termine della reazione
e che sono capaci di accelerarne lo svolgimento abbassando lenergia di attivazione,
cos` che le molecole deo reagenti, pur avendo una energia cinetica bassa, sono in
grado ugualmente di eettuare la reazione. Questi catalizzatori sono gli enzimi.Gli
enzimi sono estremamente specializzati, in quanto ciascuno di essi catalizza un solo
tipo di reazione utilizzando un ristretto numero di composti simili tra loro, detti
substrati; in molti casi il substrato `e rappresentato da un singolo composto.
Alla base del meccanismo degli enzimi sta il fatto che il substrato si combi-
na temporaneamente con lenzima per formare un complesso enzima-substrato. La
combinazione non avviene a caso, ma in corrispondenza di una specica zona della
supercie dellenzima, detta sito attivo o sito catalitico. Esso `e costruito in modo
da riconoscere proprio i substrati ad esso dedicati.
Grazie alla formazione del complesso enzima-substrato, le molecole dei substrati
vengono orientate nello spazio nel modo corretto per lo svolgimento della reazione,e
soprattutto, sempre nelle molecole dei substrati, avviene una serie di modicazioni
che favoriscono il complesso di attivazione. In questo modo si abbassa lenergia di
attivazione. una volta avvenuta la reazione, il complesso enzima-substrato diviene
complesso enzima-prodotti della reazione. Questi si distaccano dallenzima, che ri-
torna nella situazione iniziale e pu`o tornare a combinarsi con nuove molecole di
substrato, iniziando un nuovo ciclo detto di catalisi (Figura 56)
E
En z i ma
S
Subs t r at o
E- S
Compl es s o
enz i ma- s ubs t r at o
E- P
Compl es s o
enz i ma- pr odot t i
E
En z i ma
P
Pr odot t i
+
Figura 56: catalisi
3.6.3 ATP
Il composto adenosintrifosfato (ATP
4
), o altri nucleotidi equivalenti, costituisce la
forma di energia immediata per tutte le forme di lavoro svolte dalla materia vivente.
4
Si ricorda che alcuni nucleotidi, oltre ad essere i monomeri che compongono gli aci-
di nucleici, svolgono un ruolo essenziale negli scambi di energia allinterno delle cellule,
fungono ci`e da carburante per le reazioni chimiche; lATP `e il pi` u importante
47
Lenergia utilizzabile `e quella che pu`o essere liberata dallidrolisi dei due legami
anidridici che uniscono tra di loro i fosfati: in caso di rottura del primo legame,
viene prodotto adenosindifosfato (ADP) e fosfato inorganico; in caso di rottura
del secondo, viene prodotto adenosinmonofosfato (AMP) e pirofosfato inorganico
(Figura 57)
P P Z +
H 2 O P P Z +
ATP
adenosi nt r i f osf at o
Ac q u a
ADP
adenos i ndi f os f at o
Fos f at o i nor gni c o
P P
+
H 2 O P P Z +
ATP
adenosi nt r i f osf at o
Ac q u a
AMP
a d e n o s i n mo n o f o s f a t o
Pi r i f osf at o i nor gni co
( ppi )
P P Z P P P
A
Adeni na
bas e az ot at a
A
Adeni na
bas e az ot at a
A
Adeni na
bas e az ot at a
A
Adeni na
bas e az ot at a
a) r ot t ur a di un f osf or o
b) r ot t ur a di due f osf or i
Figura 57: idrolisi ATP
3.6.4 Metodo chimico
Il metodo di Maxam e Gilbert, oggi praticamente abbandonato, impiega fosforo
radioattivo 32P per marcare le molecole ad una estemit`a. In seguito, il DNA da
analizzare viene ripartito in quattro provette, una per nucleotide (A,T,C,G), e sot-
toposto ad un trattamento chimico che modica un tipo solo di base per provetta.
Si aggiunge poi una sostanza chiamata piperidina che taglia la catena a livello del-
la base modicata, e quindi si procede allanalisi dei frammenti generati mediante
elettroforesi su gel.
3.6.5 Metodo enzimatico di Sanger
Il sequenziamento viene eettuato su un frammento di DNA clonato in un vettore
di clonaggio (vedi Paragrafo 3.5) oppure amplicato mediante PCR. Il DNA viene
dapprima denaturato a singolo lamento, poi si fa avvenire lappaiamento con un
primer in una zona adiacente a quella che si vuole sequenzaire.
Vengono quindi allestite quattro diverse reazioni contenenti i seguenti materiali:
DNA denaturato con primer appaiato
48
enzima polimerasi
desossinocleotidi trifosfati (dATP, dCTP,dGTP, dTTP), indicati come dNTP
uno dei quattro didesossinucleotidi trifosfati (ddATP o ddCTP o ddGTP o
DDTTP), uno diverso per ogni reazione
Un didesossinucleotide (ddNTP) `e un nucleotide privato di un gruppo OH in po-
sizione 3

(Figura 58) La mancanza del gruppo OH in 3

determina la terminazione
P
P
O H
5
3
P
B
Figura 58: ddNTP
della sintesi della catena di DNA. Il legame OH `e infatti indispensabile per il legame
con il nucleotide successivo.
Per questo il metodo di Sanger prende anche il nome di sequenziamento tramite
terminazione della catena o tramite didesossinucleotidi.
I desossi e i didesossinucleotidi sono presenti in ognuna delle quattro reazioni
in un rapporto di concatenazione tale che statisticamente possa essere incorporato
o il nucleotide normale o il corrispondente didesossinucleotide. Ad esempio se sul
lamento template `e presente una base T, allora sul lamento di nuova sintesi deve
essere incorporato una base A. Ora, nella reazione in cui `e presente il ddATP , lenz-
ima pu`o incorporare il dATP o il ddATP. Se avviene lincorporazione con il ddATP
la sintesi termina, se viene incorporato il dATP, la sintesi continua e lenzima pu`o
nuovamente scegliere tra il dATP o il ddATP: si generano quindi frammenti di DNA
di lunghezza diversa, ciascuno dei quali termina nellestremo 3

con un ddNTP.
Analogamente, in ciascuna delle reazioni in cui sono presenti il ddTP, il ddCTP
oppure il ddGTP, si ottengono frammenti di lunghezza diversa ciascuno dei quali
termina in 3

, rispettivamente con un ddT, un ddC e un ddG.


In ciascuna provetta si utilizza un qualche meccanismo che ha leetto di tagliare
le sequenza in un solo punto. Se indichiamo le provette come P
T
, P
A
, P
C
, P
G
, allora
in P
T
i nuovi lamenti di sintesi saranno sempre tagliati dopo una base T, in P
A
sempre dopo una base A, ecc. . .
I frammenti cos` ottenuti in ogni reazione, possono essere separati mediante elet-
troforesi; in ogni corsia vengono fatti correre i frammenti ottenuti in ciascuna delle
quattro provette. La sequenza nucleotidica pu`o quindi essere dedotta dalla posizione
delle bande nelle corsie: se il frammento pi` u piccolo `e localizzato nella corsia del
ddA allora il neolamento inizia con A, il successivi pi` u corto si trova nella corsia G
49
e dunque la seconda base `e una G e cosi via . . . In tal modo, risalendo lungo la las-
tra attraverso le varie corsie, si pu`o determinare la sequenza del lamento di nuova
sintesi e la lettura del lamento template originale si ottiene complementando la
sequenza precedentemente ottenuta. (Figura 59)
5
3
T
C
G
G
A
T
C
T
G
A
Se q u e n z a
da l egger e
Pr i mer
C
G
G
A
T
C
G
A
A A
C
G
T
C
A
A
1 6 8
d d A T P
+
d NT P
d d GT P
+
d NT P
d d CT P
+
d NT P
d d T T P
+
d NT P
C
G
G
A
T
C
A
A
2 7
C
G
G
A
C
A A
C
G
T
C
A
A
3 4 9
G
A A
C
G
T
C
A
A
5 1 0
G
C
C
T
C
C
G
T
C
Nu me r o d i
nucl eot i di
Pr odot t o
Re a z i o n e
d d A d d G d d C d d T
1 0
9
8
7
6
5
4
3
2
1
El et t r of or esi
A GC C T A GA C T
Sequenz a dedot t a dal l a
di s t r ubuz i one del l e bande
T C GGA T C T GA
Sequenz a f i l ament o t empl at e
Figura 59: Sequenziamento di Sanger
3.6.6 Pyrosequencing
`
E un metodo di sequenziamento basato sul principio di sequenziamento mediante
sintesi. Il metodo si basa sulla possibilit`a di osservare lattivit`a della polimerase
attraverso lenzima della chemiluminescenza (quello delle lucciole). Si sintetizza il
complementare del template da leggere aggiungendo sequenzialmente un tipo di
base per volta, quando una base si ibridizza con il template viene emesso un seg-
nale luminoso; sapendo per ogni passo quale base `e stata aggiunta e tenendo traccia
dei segnali si risale alla sequenza del template.
La base del principio risiede nel fatto che viene rilasciato del pirofosfato (ppi)
50
ogni volta che una base `e aggiunta alla sintesi. Questo fenomeno `e stato descritto
gia negli anni ottanta, e successivamente si `e cercato di mettere a punto un sequen-
ziamento mediante sintesi utilizzando nucleotidi marcati, ma senza grandi successi.
In seguito venne utilizzato lenzima luciferasi, ma venivano continuamente osser-
vati falsi segnali quando veniva aggiunta alla sintesi un dATP. Nel 1996 Mustafa
Ronaghi ebbe lintuizione di sostituire il dATP con ladenosina alfa-trio-trifosfato
(dATPS) nella reazione della polimerasi. Un secondo miglioramento `e stato quello
di inserire nella reazione lenzima apirasi formando cos` un sistema a quattro enzimi;
laggiunta di questo enzima permette di aggiungere nucleotidi in modo sequenziale
evitando lavaggi intermedi dopo ogni passo.
La procedura `e costituita dai seguenti cinque passi.
1. Il DNA da analizzare viene amplicato tramite PCR, quindi viene denaturato
a singolo lamento, appaiato con un primer e incubato assieme agli enzimi
DNA polimerase, ATP solforilasi, luciferasi e apirasi, e ai substrati adenosina
5

solfofosfato (APS) e luciferina (substrati rispettivamente per gli enzimi


ATP e luciferasi) vedi Figura 60.
Sequenz a da anal i z z ar e
Pr i mer
En z i ma
DNA pol i mer as i
En z i ma
ATP sol f or i l asi
En z i ma
l uci f er asi
En z i ma
api r asi
s ubs t r at o
l uci f er i na
s ubs t r at o
A P S
Figura 60: pyrosequencing step1
2. Il primo dei quattro deossinucleotidi trifosfato (dNTP) viene aggiunto alla
reazione. Lenzima DNA polimerasi catalizza il dNTP nel neolamento di
DNA se esso `e complementare alla base presente nel lamento template.
Ogni reazione `e accompagnata dal rilascio di pirofosfato (ppi) in una quantit`a
proporzionale al numero di nucleotidi di quel tipo appaiati (Figura 61).
3. Lenzima ATP solforilasi, con laiuto del substrato APS, converte tutto il
ppi prodotto al passo 1 in ATP. Questo ATP fornisce lenergia allenzima
luciferasi che trasforma il substrato luciferina in ossidoluciferina liberando
luce visibile in quantit`a proporzionale allATP. La luce prodotta viene rilevata
51
( DNA)
n
+ d NT P
pol i mer as i
( DNA)
n + 1
+ ppi
Figura 61: pyrosequencing step2
da un dispositivo CCD ed analizzata da un programma che fornisce come
output un picco di segnale. Ogni segnale luminoso `e proporzionale al numero
di nucleotidi appaiati (Figura 62)
APS + ppi
ATP sol f or i l asi
A T P
l uci f er i na
Luci f er asi
L u c e
t e mp o
s e g n a l e
Figura 62: pyrosequencing step3
4. Lenzima apirasi continuamente degrada i dNTP che non vengono appaiati
e lATP rimanente. Quando la degradazione `e completata viene aggiunto
unaltro dNTP (Figura 63)
d NT P d NDP + d NMP + f o s f a t o
A T P ADP + AMP + f os f at o
Api r asi
Api r asi
Figura 63: pyrosequencing step4
5. Si aggiungono gli altri dNTP ciclicamente no alla deduzione completa della
sequenza.
`
E da notare che al posto del dATP viene usato il dATPS il quale
viene riconosciuto senza problemi dalla polimerasi come se fosse ATP, ma non
dalla luciferasi; questo per evitare falsi segnali dovuti allattivit`a dellATP con
la luciferasi.
In Figura 64 viene mostrato un ciclo del procedimento; al ciclo successivo la polimerasi
appaia tre dCTP liberando ppi in quantit`a tripla rispetto al ciclo precedente, quindi
viene emesso un segnale luminoso che il ccd rileva con intensit`a tripla. La apirasi in-
ne elimina lunico dCTP non appaiato e il ciclo si ripete aggiungendo altri dNTP.
Se vengono aggiunti dNTP non complementari al template non viene emesso alcun
segnale luminoso.
52
A C T T G G G
T G A
1
2
A C T T G G G
T G A
ppi
3 A C T T G G G
T G A A
AT P
sol f or i l asi
ppi
A P S
A T P
4
Luci f er i na
A T P
Luci f er asi
L U C E
t e mp o
s e g n a l e
A
Api r asi
5
d CT P
d CT P
d CT P
d CT P
d A T PaS d A T PaS
d A T PaS
d A T PaS
d A T PaS
d A T PaS
d A T PaS
d A T PaS
d A T PaS
d A T PaS
d A T PaS
Figura 64: pyrosequencing-esempio
4 Calcolare con il DNA
4.1 Lesperimento di Adleman (1994)
Lesperimento di Adleman risolve il problema del cammino Hamiltoniano: dato un
grafo totalmente connesso stabilire se esiste un cammino che, partendo da un ver-
tice iniziale e arrivando ad un vertice nale, visiti tutti i nodi una e una sola volta.
Tale problema si risolve in tempo polinomiale con una macchina non deterministica
e pertanto appartiene alla classe dei problemi NP.
`
E possibile risolverlo in modo
deterministico utilizzando un algoritmo di forza bruta che genera tutti i possibili
cicli Hamiltoniani e questo richiede un tempo esponenziale rispetto alla dimensione
dellinput (con n nodi, i possibili cicli hamiltoniani sono n 1! e per la formula di
Stirling n! O(n
n
)); in particolare si dimostra che il problema NP-completo.
Lidea di Adleman `e quella di utilizzare un modello di calcolo in grado di gener-
are facilmente lo spazio delle soluzioni del problema. Sfrutta quindi la naturale
capacit`a di calcolo parallelo e di codica delle molecole di DNA.
Adleman codica i vertici del grafo con piccole sequenza di nucleotidi lunghe 20.
Un arco a
ij
che collega due vertici viene rappresentato considerando il reversing del
complementare degli ultimi dieci nucleotidi del primo con i primi dieci del secondo.
53
In questo modo `e possibile sfruttare il fenomeno dellibridizzazione e della ligasi per
formare un doppio lamento che rappresenta un cammino.
Infatti mettendo in un unico pool ad esempio 10
14
coppie delle codiche dei vertici
e degli archi si formano tutti i possibili cammini per ibridizzazione (Figura 65). In
A 1 B 1 A 2 B 2 A 3 B 3
B 1 A 2 B 2 A 3 B 3
Figura 65: Ibridizzazione tra vertici e archi
questo modo lo spazio delle possibili soluzioni viene praticamente generato in un
tempo polinomiale a dierenza della computazione convenzionale.
I passi da seguire sono quindi i seguenti:
Codica dei nodi e degli archi
Ibridizzazione
Ligasi che concatena due nodi consecutivi
Se tra i nodi c`e un cammino allora si forma la catena, ma ovviamente si sono
formati tutti i possibili cammini e non necessariamente solo quelli voluti (ad
esempio tra il nodo n
1
e il nodo n
7
); quindi si isola il cammino desiderato
amplicando con PCR(n
1
, n
7
)
Il cammino ha una lunghezza di nucleotidi predenita, ad esempio se il cam-
mino comprende 7 nodi allora esso sar`a lungo 140 nucleotidi (20 7). I
lamenti con questa lunghezza si trovano con lelettroforesi.
Per essere sicuri che ogni nodo `e visitato una sola volta si esegue una selezione
per anit`a dei lamenti in cui occorrono le codiche di tutti i vertici:
For i = 1 to 7
Fish(Ci)
end For
Per non perdere il segnale si deve ulteriormente amplicare
Se nel pool nale `e rimasto del materiale allora quello `e il cammino cercato
4.1.1 Extract Model
LExtract Model `e il tipico modello computazionale del DNA Computing secondo
Adleman. Questo modello si basa su due passi fondamentali; a) un pool di la-
menti di DNA codica un insieme di soluzioni candidate del problema tipicamente
ottenute per annealing e ligazione da un pool iniziale che codica i dati; b) una
procedura che estrae le soluzioni vere separandole da quelle false.
Loperazione di extract pu`o essere migliorata utilizzando altre operazioni come
separate, merge, detect. Loperazione separate prende in input un pool T e un
54
lamento S, e fornisce un pool T contenente lamenti in cui S compare come sot-
tostringa e un T contenente gli altri lamenti. Il merge produce un unico pool
contenente i lamenti di due pool separati. Loperazione di detect conferma la
presenza o lassenza di DNA in un pool.
In seguito alla realizzazione di queste operazioni biologiche, il costo computazionale
degli algoritmi di DNA computing pu`o essere identicato nel numero di extract
eettuati.
Quindi per valutare gli algoritmi secondo questo modello sono necessari solo due
parametri:
la dimensione dello spazio delle soluzioni, che corrisponde alla quantit`a di
DNA necessaria per codicare linsieme delle soluzioni candidate
il numero di operazioni di extract necessarie per ottenere il pool nale dei
risultati.
Questo signica che per migliorare tali algoritmi occorre concentrarsi su tre aspetti:
la diminuzione della dimensione dello spazio delle soluzioni, migliorare limplemen-
tazione dell extract o diminuire il numero di passi di extract nella fase nale.
55
4.2 Algoritmi per 3-SAT
Linteresse per il problema SAT `e dovuto al fatto che viene utilizzato come tool
per risolvere numerosi problemi pratici. In particolare SAT pu`o essere ridotto in
tempo polinomiale al problema 3-SAT che `e un prolema NP-completo in cui data
una espressione booleana in forma normale congiunta dove tutte le clausole hanno
tre letterali, chiede di stabilire se lespressione `e soddisfacibile.
Una formulazione equivalente pu`o essere espressa in termini di risolvibilit`a di un
sistema di equazioni booleane. Indichiamo con il termine letterali una variabile
booleana o la sua negazione e consideriamo un sistema di equazione basato sul-
lalgebra booleana assumendo che in ogni equazione i membri di sinistra siano la
disgiunzione di tre letterali e il numero di destra sia 1. Una istanza appartiene a
3-SAT se esiste un assegnamento che soddisfa tutte le equazioni del sistema.
4.2.1 Mix&Split Model
`
E un metodo pi` u eciente per generare lo spazio delle soluzioni.
Si mettono in un pool le tessere che codicano X
1
e X
1
, poi con la tecnica di
split si divide il pool iniziale in due pool conservando i tipi, ovvero entrambi i nuovi
pool mantengono le informazioni di X
1
e X
1
. Poi si esegue un estensione dei due
pool con la codica di X
2
da una patre e X
2
dallaltra, quindi si eettua un mix
ottenendo tutte e quattro lepossibilt`a di accoppiamento per la coppia X
1
e X
2
. Si
itera il procedimento n volte.
Spl i t
Mi x
Es t ens i one
Es t ens i one
X 1
X 1
X 1
X 1
X 1
X 1
X 1
X 1
X 2 X 2
X 2 X 2
Figura 66: Mix & Split
In generale questa tecnica permette di generare per concatenazione tutte le
possibili combinazioni di stringhe A

a partire da un insieme nito di stringhe.


In tempo lineare dunque si genera lo spazio di soluzioni 2
n
. Il problema `e il costo
in termini di denaro e tecnologia, e attualmente viene fatto solo in poche aziende
al mondo.
56
4.2.2 Algoritmo di Lipton
Un primo approccio `e il metodo di Adleman, avvero quello di generare le possibili
soluzioni e quindi estrarre solo quello che interessa. Per tale scopo si prendono 2n
tessere che codicano le variabili e le loro negate, e 4(n 1) tessere per formare i
connettori tra le variabili (quattro per ciascuna coppia). Questi connettori rappre-
sentano le possibili scelte; ad esempio per la coppia di variabili X
1
e X
2
posso avere
i connettori (scelte) mostrate in Figura 67. Quindi si mettono nel pool le tessere e
1) 2)
3) 4)
X 1 X 2 X 1
X 2
X 1 X 2
X 2 X 1
Figura 67: connettori
per ibridizzazione si formeranno tutti i possibili cammini, poi con varie operazioni
di extract si separano le soluzioni vere da quelle false.
Lo svantaggio `e che al crescere del numero di variabili serve un numero spropositato
di materiale di DNA e diventa poco conveniente.
Lalgoritmo di Lipton prevede di generare lo spazio delle soluzioni tramite
Mix&Split e vericare lesistenza di un cammino che rappresenta la soluzione,
tramite la ripetizione delloperazione biologica extract. Lextract pu`o essere real-
izzata tramite il sh, che per essere eciente e sicuro diviene unoperazione molto
costosa. Il sh viene realizzato con una sorta di tubo a strati dove ogni sezione
corrisponde ad un ltro che fa passare solo determinate molecole (nel nostro caso,
solo le molecole che soddisfano la clausola).
Lipton risolve m equazioni booleane (m clausole) con 3m operazione di extract:
tre operazioni per ogni clausola. Dopo aver generato lo spazio delle soluzioni, la
selezione avviene iterando le operazioni di extract per ogni clausola, lavorando ogni
volta sul risultato precedente. Ad ogni ciclo si selezionano i letterali che soddisfano
lequazione. Algoritmo:
Genera lo spazio delle soluzioni com mix&split e metti in T
for j = 1 to m do
begin
T1 := extract(T,L(1,j))
T := T-T1
T2 := extract(T,L(2,j))
T := T-T2
T3 := extract(T,L(3,j))
T := merge(T1,T2)
T := merge(T,T3)
end
if T not null then prendi un clone e sequenzialo
else problema insolubile
57
Dove T
i
sono i pool, L(1, j), L(2, j), L(2, j) sono i termini booleani dellequazione
j-esima e m `e il numero di clausole.
Ad esempio se la prima equazione `e X
1
X
2
X
3
, i letterali corrispondenti saran-
no L(1, 1), L(2, 1), , L(3, 1); alla prima iterazione del ciclo for verranno estratte le
stringhe che codicano l1 di X
1
, lo 0 di X
2
r l1 di X
3
Note:
Si pu`o notare che mentre la costruzione dello spazio delle soluzioni `e la stessa per
tutte le formule aventi lo stesso numero di variabili, lalgoritmo di selezione della
soluzione cambia al variare della formula. I procedimenti biologici, inoltre, sono
solamente due; laccoppiamento nella fase iniziale e lestrazione per ani`a nellese-
cuzione dellextract. Loperazione pi` u complicata `e lextract che viene eseguita 3m
volte (dove m `e il numero di clausole), il tempo di computazione `e quindi poli-
nomiale in m. Un algoritmo deterministico con MdT per risolvere 3-SAT richiede
un tempo esponenziale nel numero delle variabili per generare lo spazio (2
n
) e un
tempo polinomiale nel numero delle clausole (m) per vericare se la soluzione `e
ammissibile.
4.2.3 SAT come rete di contatto
SAT pu`o essere formulato come il problema della rete di contatto. Si associa ad
ogni clausola C un grafo con due nodi, il nodo sorgente S(C) e il noto target T(C)
e, per ogni letterale nella clausola, un arco che collega questi nodi. In Figura 68 `e
mostrata una istanza di una rete di contatto
X
Y
Z
Y
Z
X
Y
X
Z
X
Y
Z
S( C1 )
S( C2 )
T( C1 )
T( C2 )
S( C3 )
T( C3 )
S( C4 )
T( C4 )
Figura 68: Istanza rete contatto
I successivi algoritmi risolvono SAT come istanza del problema della rete di
contatto.
58
4.2.4 Algoritmo di Jonoska
Si costruisce un pool contenente molte copie del grafo che rappresenta la rete di
contatto. Si esegue uno split separado il pool iniziale A in dure pool equivalenti A
e B. Si rimuovono in tutti i gra di A gli archi etichettati con X
1
e nei gra di
B gli archi etichettati con X
1
. Quindi si eettua un merge tra il risultato di A e
B, e si ripete la procedura (separazione, taglio degli archi, unicazione) per ogni
variabile. La formula originale `e soddisfatta se alla ne della procedura rimangono
uno o pi` u gra che connettono il nodo sorgente della prima clausola con il nodo
target dellultima clausola.
`
E da notare che non si trova ununica soluzione valida,
ma bensi tutte, e nel pool nale saranno presenti anche tutti i gra disconnessi.
P 0
E 1 No t E1
Tagl i o X1 Tagl i o Not X1
Me r g e ( E1 , No t E1 )
P 1
E 2 No t E2
Tagl i o X2 Tagl i o Not X2
Me r g e ( E2 , No t E2 )
P 2
Figura 69: Janoska
59
4.2.5 Algoritmo di Sakamoto
Si realizza un nuovo spazio di soluzioni composto da tessere di DNA che rappre-
sentano i tre letterali di ciascuna clausola, codicando X
i
e X
i
con nucleotidi
complementari (X
i
= mirr(X
i
ovvero
X
i
X
i
)), in modo tale che se lannealing pro-
duce un cammino non valido, si formi un hairpin per complementariet`a (Figura 70).
X i
X i
Figura 70: hairpin
Si consideri un nodo sorgente S(C) e target T(C) per ogni clausola C
i
e si
costruisce il grafo collegando un arco tra i due nodi per ogni letterale L
j
che appar-
tiene alla clausola C
i
, si completa poi la rete di contatto aggiungendo un arco tra
il nodo target di una clausola e il sorgente del nodo successivo. Quindi si esegue un
test per vericare lesistenza di un percorso incoerente cio`e se occorre un letterale
sia nella sua forma positiva che negativa. Ogni letterale che risulta incoerente viene
rimosso. Il problema originale `e soddisfacibile se rimane qualche percorso coerente
nella rete di contatto. In Figura 71 `e ragurata una rete di contatto relativa ad
una istanza di SAT(3, 4)
S( C1 )
S( C2 )
T( C1 ) T( C2 )
S( C3 )
T( C3 )
S( C4 )
T( C4 )
Li t ( C1) Li t ( C2)
Li t ( C3) Li t ( C4)
Figura 71: istanza-sakamoto
Le tessere cos` composte vengono messe in provetta e per ibridizzazione si crea
tutto lo spazio delle soluzioni. Se in un cammino si ha la presenza di una variabile
e la sua negata si ha la formazione di un hairpin tra le due tessere. Quindi tramite
selezione, in un unico passaggio, si possono eliminare tutte le soluzioni non valide.
Lo spazio delle soluzioni `e 3
m
dove m `e il numero delle clausole. Il tempo per
eseguire lextract non `e pi` u una funzione di m o n, ma bensi risulta essere costante e
questo porta ad un miglioramento dellextract model, ma a discapito di un aumento
dello spazio delle soluzioni.
60
4.2.6 Algoritmo di Manca
Si converte il problema 3-SAT in un BCP (Bipartite Covering Problem): dato un
insieme nito C (clausole) e n coppie di sotto insiemei di C: A
1
/B
1
. . . A
n
/B
n
tali
che A
i
B
i
= per i = 1 . . . n, trovare n insiemi Y
1
. . . Y
n
tali che Y
1
. . . Y
n
= C
e Y
i
= A
i
oppure Y
i
= B
i
.
In sostana lalgoritmo codia strinhe di clausole in un BCP. Ragionando in ter-
mini di grafo di contatto, lalgoritmo costruisce stringhe di clausole cosi fatte:
per ogni variabile si considerano due nodi S(X) e T(X) (sorgente e target) da con-
nettere con archi etichettati con Cla(X) e Cla(X) corrispondenti allinsieme delle
clausole in cui occorre il letterale X e a quello in cui occorre X. Quindi si completa
il grafo collegando i target di una variabile con i sorgenti della variabile sccessiva. Le
stringhe di clausole coincidono con tutti i possibili percorsi dal primo nodo allul-
timo. Un stringa di clausole si dice completa se ogni clausola appartiene a qualche
insieme che occorre come arco, qundi si eliminano tutti i percorsi incompleti e quello
che rimane `e la soluzione dellistanza del problema (Figura 72) Quindi gli insiemi
S( X1 ) S( X2 ) T( X1 )
T( X2 ) S( X3 ) T( X3 )
Cl a( X1)
S( X1 ) T( X1 )
Cl a( X1 )
S( X2 ) T( X2 ) S( X3 ) T( X3 )
Cl a( X2) Cl a( X3)
Cl a( X2 ) Cl a( X3 )
Figura 72: stringhe di clausole
A
i
e B
i
non sono alro che Cla(X
i
) e Cla(X
i
).
Di seguito viene mostrato un esempio su quattro equazioni. Si costruiscono cop-
pie di insiemi A
i
/B
i
mettendo in A
i
i pedici delle clausole in cui compare il letterale
positivo X
i
e in B
i
i pedici delle clausole in cui compare il letterale negativo X
i
.
X
1
+X
2
+ X
3
= C1
X
1
+ X
3
+ X
4
= C2
X
2
+X
4
+ X
3
= C3
X
1
+ X
2
+X
3
= C3
X
i
= A
i
se X
i
oppure B
i
se X
i
A
1
[B
1
= 1, 2[4
A
2
[B
2
= 3, 4[1
A
3
[B
3
= 1, 2, 3[4
A
4
[B
4
= 2[3
La soluzione `e composta dagli insiemi che determinano una copertura completa
delle clausole. Ad esempio la soluzione A
1
B
2
B
3
A
4
che coprono rispettivamente le
clausole 1 e 2 , 1, 4, 2 non `e corretta poich`e non copre la clausola 3. una soluzione
corretta potrebbe essere B
1
, B
2
, A
3
, B
4
.
Gli insiemi si codicano tramite due lamenti di DNA aventi due dierenti parti
61
centrali che corrispondono ad A
i
e B
i
, ma aventi lo stesso sticky end sinistro X
i
e
lo stesso sticky end destro X
i+1
. Quindi per ogni variabile X
i
si hanno due domini
con stessi sticky end ma con dierenti parti centrali che codicano rispettivamente
le clausole che contengono X
i
e le clausole che contengono X
i
. Per esempio i
domini per A
1
e B
1
hanno la forma della Figura73
5
3
3 5
X 1
X 2
C1 C2
5
3
3 5
X 1
X 2
C4
Figura 73: Codica insiemi A1 e B1
Si mettono poi molte copie di A
i
e B
i
in un pool e dopo annealing e ligazione per
complementariet`a degli sticky end, si ottengono stringhe di clausole (vedi Figura74)
e le stringhe di DNA che codicano tutte le clausole rappresentano la soluzione.
X 1
X 2
A1 | B1
X 2
X 3
A2 | B2
Figura 74: Stringa di DNA
62
4.3 Considerazioni
Il DNA computing inizia nel 1994 con Leonard Adleman mostrando che le molecole
biologiche possono essere usate per scopi decisamente non biologici. Adleman ha
dimostrato come lenorme parallelismo di miliardi di lamenti di DNA possono ri-
solvere problemi considerati dicili (NP). Ricordiamo che utilizzando lapproccio
del DNA `e stato decrittato il codice DES.
`
E interessante sottolineare alcuni aspetti che renderebbero i DNA computer
pi` u convenienti rispetto ai calclatori elettronici. A favore dei primi ci sarebbero il
notevole calcolo parallelo, il basso consumo energetico e lelevata densit`a di memo-
rizzazione. Relativamente al primo aspetto, sebbene lelevato parallelismo permette
teoricamente di eseguire tutti gli algoritmi in tempo polinomiale, sfortunatamente
la loro applicabilit`a `e per ora limitata a piccole istanze, infatti mentre gli algoritmi
hanno tempo di esecuzione lineare nelle dimensioni degli input, la massa di DNA
necessario per la codica dei dati cresce esponenzialmente. Per esempio il DNA nec-
essario per codicare tutti i cammini di un grafo con 200 vertici avrebbe una massa
pari a quella della terra. Lalgoritmo di Adleman per il problema del commesso
viaggiatore pu`o essere realizzato per un grafo avente al massimo 70 vertici, ma in
tal caso pu`o essere risolto in modo pi` u conveniente dai calcolatori al silicio.
Attualmente altri argomenti a sfavore dei DNA computer sono la possibilit`a di er-
rori dovuti sia alla esecuzione pratica delle operazioni biologiche che alla fase di
codica, le quali se non sono sucientemente accurate potrebbero permettere la
formazione di lamenti iniziali non previsti, tuttavia le tecniche di biologia moleco-
lare si evolvono rapidamente e tali errori possono essere notevolmente ridotti.
63
5 XPCR (Cross Pairing PCR)
Il modello fondamentale degli algoritmi di DNA `e lextract model di Adleman-
Lipton e consiste di due passi fondamentali: la generazione dello spazio delle soluzioni,
e lestrazione dei lamenti che codicano le istanze positive del problema. Grazie
allestremo parallelismo del DNA, la complessit`a di questi due passi `e polinomiale
rispetto alla dimensione dellistanza. Tuttavia, mentre il primo passo pu`o essere
ulteriormente migliorato utilizzando la procedura di Mix-and-Split, lestrazione ri-
mane il punto critico del paradigma, ma grazie ad una specializzazione della PCR
`e possibile renderla pi` u eciente.
La XPCR `e una variante della PCR dove due molecole e due primers vengono
utilizzati in modo tale che un primer ibridizzi con un singolo lamento di una mleco-
la e laltro primer con un singolo lamento dellaltra molecola. Rispetto alla PCR
invece di avere ununica doppia sringa target per lamplicazione, se ne hanno due
con type < > e type < >
La XPCR puo essere utilizzata principalmente in due tipi di applicazioni: les-
trazione e la ricombinazione di DNA:
Estrazione. Extraction(P, ) = P [ , t.c. = , A

viene estratto da P. Il nuovo insieme, chiamiamolo P

, `e una copia delle


stringhe in P e non sono le stringhe di P estratte: P

P ma Type(P) =
Type(P)
Ricombinazione.
P =
1
,
2
. . .
n
, Q =
1
,
1
. . .
n
L =
1
. . .
n
t.c.
i

i
,
i

Passo principale della XPCR:


`
E il passo chiave dellalgoritmo di estazione.
Si mettono in un pool copie di molecole . . . e . . . , cio`e che niscono e iniziano
rispettivamente con la stessa sottostringa , e i due primers e . La PCR genera
la superstringa
5
. . . . . . , e poi si amplica.
Levento avviene nel seguente modo: i primers ibridizzano con i singoli lamen-
ti delle due molecole liberando le rispettive molecole appaiate. A questo punto i
singoli lamenti possono ibridizzare tramite le loro parti complementari e e
la polimerasi utilizza come template proprio questi singoli lamenti e completa la
doppia stringa (Figura 75).
Formalmente lo schema di esecuzione `e il seguente:
< >, < >, ,

,

()
c
,

,

()
c
, ,

()
c
,

()
c
,

c

< > ovvero il risultato delloverlap concatenation tra e
5
superstringa := qualsiasi stringa che include la stringa
64
a
g
g b
g
g
b a
b
a
a
g
g a
g b
g
b
a
a
a
g
b
g b
b
Se p a r a z i o n e
I br i di zzazi one
p e r PCR
Figura 75: XPCR
5.1 Estrazione con XPCR
Il problema dellestrazione `e il seguente: data una specica sequenza e un pool di
molecole lunghe n aventi in comune lo stesso presso e susso, si vuole produrre
un pool P

contenente solo lamenti che includono la sequenza .


Si assume che le molecole abbiano la stessa lunghezza n, lo stesso prex e sux
e e linvarianza di ovvero:

2
,
3

4
,

2
,

2
,

Passi:
Split(P) = P
1
, P
2
P1 := PCR(P
1
, , )
P2 := PCR(P
2
, ,

)
P = P
1
P
2
; con gel elettroforesi si selezionano le sequenze corte. In questo
passo rimangono solo stringhe del tipo . . . e . . .
P := PCR(P, ,

)
elettroforesi per selezionare la molecola pi` u lunga: P := separate(P, n+[[ +
[[)
Esempio in Figura 76
65
a b
b
a
1)
2)
3)
4)
5)
6)
P
P 1
P 2
g
g
g
a b g
g
g
a
g
a
a
g
g
a
g
a
Ampl i f i c az i one es ponenz i al e
del l a mol ec ol a <a. . g>
Ampl i f i c az i one es ponenz i al e
del l a mol ec ol a <g. . b>
a b
b
g
g
g
b
a
a b g
b
g
g
b
g
g
b
b
b
Sel ezi one di <a. . g> e <g. . b> con el et t r of or esi
Sel ezi one del l e st r i nghe pi u l unghe con el et t r of or esi
a g
a g
g b
g b
a g
a
b
a
g b
b
a g
g b
Super st r i nga che cont i ene g e che ver r a
ampl i f i cat a dal l a pol i mer asi
Figura 76: Extract con XPCR
5.1.1 Considerazioni
Se =
1

2
P XPCR(P, ) = P t.c. = , A

ovvero le sequenze originali vengono mantenute nel pool nale


Se P, ,= A

/ XPCR(P, ) ovvero le sequenze che non


contengono vengono eliminate dallelettroforesi
Se
1

2
P,
3

4
P,
1

4
/ P
1

4
XPCR(P, )?
Si, infatti la XPCR prende cose di partenza e cose miste:
XPCR(P, ) extr(p, )
66
5.2 Ricombinazione con XPCR
XPCR come generatore dello spazio delle soluzioni:
Partendo da I
i
(i = 1 . . . n), facendo 2(n 1) cicli di XPCR si ottiene tutto
lo spazio.
Esempio.
I
1
= X
1
X
2
X
3
X
4
X
5
X
6
I
2
= Y
1
Y
2
Y
3
Y
4
Y
5
Y
6
I
3
= X
1
Y
2
X
3
Y
4
X
5
Y
6
I
4
= Y 1X
2
Y
3
X
4
Y
5
X
6
sia P = I
i
, i = 1, 2, 3, 4 ovvero estendo con prex e sux
For i=2 to n-1
begin
XPCR(P,xi)
XPCR(P,yi)
end
Lalgoritmo prende P

n
i=i
(x
i
+ y
i
) = x
i
, y
i

n
e in tempo lineare si ha
uno spazio esponenziale
XPCR per ricombinare strinhe:
Esempio.
In riferimento allinsieme I
1
. . . I
4
del punto precedente
Vorrei ottenere: Y
1
Y
2
X
3
Y
4
Y
5
X
6
XPCR
y
2
(I
2
, I
3
) Y
1
Y
2
X
3
Y
4
X
5
Y
6
= I
5
ma `e sottointeso anche X
1
Y
2
Y
3
Y
4
Y
5
Y
6
XPCR
y
4
(I
5
, I
2
) Y
1
Y
2
X
3
Y
4
Y
5
Y
6
= I
6
XPCR
y
5
(I
6
, I
4
) Y
1
Y
2
X
3
Y
4
X
5
X
6
Vorrei ottenere: X
1
Y
2
X
3
X
4
X
5
X
6
XPCR
X
3
(I
1
, I
3
) X
1
Y
2
X
3
X
4
Y
5
X
6
In sostanza per una qualsiasi sequenza presa a caso, esiste sempre una se-
quenza di operazioni XPCR t.c. determina la sequenza voluta.
67
6 Teoria dei Linguaggi Formali (FLT)
6.1 introduzione
La teoria dei linguaggi formali ha un ruolo fondamentale nella teoria della com-
putazione. Inoltre molti meccanismi biologici (DNA, sintesi proteica, metabolismi)
e sici hanno una natura discreta dellinformazione e la teoria dei linguaggi formali
permette di formulare modelli adeguati per modellare un gran numero di fenomeni
in quanto una struttura discreta la si pu`o sempre rappresentare tramite un linguag-
gio formale.
La nozione stessa di problema, una volta codicato, ha uno stretto legame con i
linguaggi e tra tutti i problemi, quelli di decisione (la cui risposta `e si o no), sono
quelli di maggior interesse. Fissato un modello di calcolo `e possibile rappresentare
i parametri del problema mediante stringhe di simboli propri del modello (codica
dellistanza). Dato quindi uno schema di codica per un problema e sia

lal-
fabeto usato dallo schema, linsieme

conterr`a le codiche di tutte le istanze del


problema e non solo. Il sottoinsieme delle codiche delle istanze positive caratter-
izza in modo unico il problema:
L

t.c. `e codica di una istanza positiva


Segue che il problema pu`o essere visto come il problema di riconoscere il linguag-
gio corrispondente L

Riconoscere un linguaggio `e uno dei quattro metodi per denire i linguaggi for-
mali; due di tipo matematico e due di tipo algoritmico:
1. Metodi logici: descrizione tramite propriet`a L = A

t.c. P()
2. Metodi algebrici: costruzione del linguaggio tramite operazioni insiemistiche
3. Metodi generativi:grammatiche che consistono in algoritmi che producono
tutte e solo le parole del linguaggio
4. Metodi reconoscitivi: automi che per ogni A

dicono se appartiene o
meno al linguaggio
Nota:
Dato un algoritmo riconoscitivo se ne ottiene uno generativo (lalgoritmo che prende
tutte le parole di A

) e genera tutte e sole quelle che riconosce appartenenti ad L.


Il viceversa non `e vero.
6.2 Stringhe e linguaggi
un alfabeto `e un insieme nito e non vuoto di oggetti detti simboli
una stringa, detta parola, `e una sequenza nita di simboli di A. Linsieme
delle possibili sequenze su A si indica con A

un linguaggio su A `e un elemento di (A

). Si indica con L un generico


linguaggio e con L la classe dei linguaggi
operazioni:
unione
68
intersezione
dierenza
concatenazione
iterazione ( o stella di kleene)
Descrivere un linguaggio attraverso la forma delle sue stringhe oppure tramite una
grammatico o un automa `e un qualcosa di simile. Infatti una grammatica o un
automa si limitano a stabilire le regole che possono essere applicate a certe stringhe
iniziali per generare o riconoscere una stringa del linguaggio.
6.2.1 Gerarchia di Chomsky
Il concetto di grammatica di Chomsky si basa su un sistema di riscrittura di
stringa: meccanismo di rimpiazzamento
Si chiama grammatica di Chomsky una quaterna G = (A, T, S, R) t.c.
A `e lalfabeto
T A `e un insieme di simboli detti terminali
S AT `e un simbolo di Start del linguaggio
R A

`e linsieme delle produzioni, delle regole


Quando si scrive
G
(riscrivi con ) si indica (, R), R A

A partire dalla grammatica G si denisce una regola di riscrittura ad un


passo
G
:

G

sse , , , A

t.c. (
G
) ( = ) (

= )
A partire da una relazione
G
si denisce una riscrittura in pi` u passi
G
:

sse
1
. . .
n
t.c.
1
=
n
=


i

G

i+1
i
Il linguaggio generato da una frammatica G `e L(G):
L(G) = T

[S

G

A

si chiama universo linguistico dellalfabeto A. A

`e un monoide rispetto
alla concatenazione che `e associativa ed ha come elemento neutro ( =
stringa vuota)
Per generare un linguaggio di una grammatica G, si parte dal simbolo S e si
fa una riscrittura a pi` u passi rimpiazzando sottostringhe secondo le regole di
R. Possono esserci pi` u regoole applicabili per uno steso passo; in questo caso
si procede in modo non deterministico, scegliendo tra le regole applicabili e
tra i vari modi di applicarle. Ci si ferma quando non ci sono pi` u regole da
applicare. La parola ottenuta appartiene al linguaggio solo se appartiene a
T

.
Esempio.
L(G) = a
n
b
n
c
n
[n N linguaggio trisomatico di nteresse biologico poich`e
modella lo sviluppo di un embrione nelle sue tre parti (mesoderma,endoderma,ectoderma).
`
E generato dalla seguente grammatica G.
A = a, b, c, B, S; T = a, b, c; R = S abc, S aSBc, cB Bc, bB
bb
69
6.2.2 Classi di Chomsky
Nel denire una grammatica ci sono quattro tipi di regole e una grammatica si dice
di tipo i(i = 0, 1, 2, 3) se tutte le sue produzioni sono di tipo i. Ogni regola di tipo
i `e necessariamente di tipo i 1. Le classi di Chomsky corrispondono alle classi dei
linguaggi L0, L1, L2, L3 generati dalle grammatiche di tipo 0, 1, 2, 3.
Tipi di regole:
indichiamo con N i non terminali: AT
indichiamo con le lettere minuscole i simboli terminali
le regole hanno la forma con e stringhe A

Tipo 0.
A

NA

Cio`e in ci deve essere almeno un simbolo non terminale (non pu`o essere
ab bb). Questa condizione impedisce a stringhe terminalizzate di contin-
uare la derivazione.
Avere due tipi di simboli, terminali (T) e non teminali (N) `e fondamentale.
Sistemi grammaticali composti solo da simboi terminali sono sistemi poveri.
Quando si genera qualcosa e ci sono simboli N, allora quella generazione con-
tiene forme immature che possono ancora essere sviluppate. Lintroduzione di
simbili non terminali e la scelta di accettare solo simboli terminali, denisce
implicitamente una strategia. In generale infatti, il modello di Chomsky `e
basato su una generazione non deterministica, si deriva a caso applicando
ogni produzione possibile e se si prendono strade non nalizzate al risultato
nale non si terminalizza. La distinzione tra T e N serve quindi a selezionare
tra cammini inutili (stringhe parassite) da cammini buoni.
Vedremo che L(G)[G : 0 = RE
Tipo 1.
(0) ([[ [[)
Le grammatiche con queste regole sono equivalenti alle grammatiche CS,
sensibili al contesto, aventi le produzioni del tipo:
X con X N e A

e ,= . La riscrittura aviene in modo


contestuale solo se `e presente il contesto e le quali fungono da stringhe
di controllo.
70
Tipo 2.
(1) [[ = 1
Queste grammatice coincidono con le grammatiche CF libere dal contesto
le cui produzioni sono del tipo:
X dove X N, A

, ,=
Si vede subito che CF CS poich`e la grammatica CF `e una grammatica
CD particolare in cui e sono vuote. Inoltre si dimostra che L2 (CF) pu`o
esprimere simmetrie binarie e L1 (CS) pu`o esprimere simmetrie ternarie; per
cui il linguaggio trisomatico `e discriminante tra L1 e L2: `e generato da una
G : 1 e quindi L1 ma / L2 perch`e questultima ha simmetria binaria, qundi
CF CS.
Tipo 3.
(2) ( T T N) e N
Questa regola dice che a destra, ovvero in c`e un sombolo N oppure una
coppia TN, ad esempio x aY, x b.
Esempio.
Riprendiamo la G per il linguaggio trisomatico e identichiamo il tipo di grammatica
S abc Tipo 2
S aSBc Tipo 2
cB Bc Tipo 1
bB bb Tipo 1
La G `e di tipo 1

6.2.3 Inclusioni
Valgono le seguenti inclusioni strette:
L3 L2 L1 L0

ASF PDA LBA MdT
La classicazione `e importante perch`e indica i quattro livelli di dicolt`a nel
generare i linguaggi `e quindi nel calcolare. Gli strumenti di calcolo che generano i
linguaggi sono sempre pi` u complicati e vanno dagli ASF per L3 ai PDA (nastro a
pila) per L2, alle MdT con nastro limitato per L1 e alle MdT per L0
Le forme di interesse naturale si possono modellare con linguaggi compresi tra
tipo 1 e tipo 2, devono cio`e avere una qualche forma di contestualit`a , ovvero quello
che avviene in una stringa dipende da quello che avviene in unaltro punto della
stringa stessa (si dice che ci sono dei collegamenti a distanza).
71
6.3 Risultati fondamentali
6.3.1 Teorema di universalit`a di Chomsky
L(G)[G : 0 = RE ovvero L0 = RE
Ricordiamo che:
Sia f una funzione da A

in A

(A alfabeto nito), si dice che f `e calcolabile


se esiste un sistema sico che assunto uno stato che codica un ingresso
di f si evolve nel tempo raggiungendo uno stato nale solo se f `e denita
sullingresso; lo stato nale codica il risultato di f.
Un linguaggio L su un alfabeto A si dice ricorsivamente enumerabile o semide-
cidibile o eettivamente generabile se L `e il codominio di una funzione calco-
labile. La classe di questi linguaggi si indica con RE.
In genere si dice computazionalmente universale un qualsiasi formalismo che
fornisca un metodo di costruzione per ogni linguaggio in RE.
Questo teorema `e importante perch`e generare = calcolare e dicendo che G:0 = RE
diciamo che con tale grammatica possiamo generare tutto ci`o che `e possibile gener-
are con le MdT, cio`e che G:0 ha la stessa potenza delle MdT.
Ad esempio posso calcolare una funzione f se riesco a costruire una macchina che
genera il suo graco
6
. Quindi so calcolare f se so generare il suo graco e viceversa.
La calcolabilit`a , previa opportuna codica, `e espressa in termini di linguaggi
formali e invece di studiare la calcolabilit`a si studia la generabilit`a del linguaggio.
Quindo le G:0 calcolano tutto cio che possono calcolare le MdT e le MdT calcolano
il calcolabile per la tesi di Church, e in conclusione, con le grammatiche `e possibile
sviluppare tutta la calcolabilit`a .
Dimostrazione di RE= L0
) Sia L(M) RE con M = MdT si vuole costruire una grammatica G
M
di tipo
0 che genera lo stesso linguaggio di M.
Suddividiamo le regole di G
M
in regole di ingresso, di programma, di uscita
e di allungamento.
Regole di ingresso
S
0
$S
1
S
1
S#
S Sxx A
S q
0
6
grafico(f) = {X, f(X)|X T

} dove T = alfabeto di f
72
S
0
`e il simbolo iniziale e q
0
un simbilo che rappresenta lo stato iniziale.
I simboli $ e # indicano linizio e la ne del nastro. La terza pro-
duzione simula la trascrizione di simboli dellalfabeto sul nastro e pro-
duce la stringa $q
0
#; le produzioni applicate nellordine di esposizione
corrispondono a caricare la macchina M con ingresso .
Regole di programma
regola q
i
xyq
j
L (Spostamento a sinistra)
q
i
x q
j
y
z q
j
q
j
z
regola q
i
xyq
j
R (Spostamento a destra)
q
i
x yq
j
Regole di allungamento
# b#
$ $b
Questa regola ci permette di poter simulare un nastro illimitato, ad
esempio:
$bbb . . . b# $bbb . . . bb# `e stata aggiunta una casella vuota
Regole di uscita
q
f
x xq
f
q
f
# q
#
#

Bq
#
q
#
#

xq
#
q
f
x
Idem per $ #


Queste regole spostano q
f
no alla ne e simulano la sostituzione di B
con #

da destra a sinistra
Le regole cos` ottenute simulano la MdT e formano un sistema di rimpiazza-
mento binario in cui tutte le stringhe non hanno pi` u di due simboli, chiamato
anche Forma Normale di Kuroda.
Si ha dunque L(G
M
) = [S
0

e per costruzione si ha che L(G


m
) =
Output(M). Quindi per M MdT esiste una grammatica G
M
tale che
L(M) = L(G
M
) e tale che G `e di tipo 0.
) Data una G:0 `e possibile costruire un M MdT tale che L(G) = L(G
M
). Si
implementano tante procedure quante sono le regole di G. Si inizia con S sul
nastro e in modo non deterministico M si porter`a in uno stato q
i
e cercher`a
sul nastro la codica di
i

G

i
e rimpiazzer`a
i
con
i
.
73
Considerazioni.
Le regole di uscita che cancellano i blank sono importanti, infatti luscita della MdT
`e composta dal contenuto del nastro senza i blank estremi. Senza questa conven-
zione, la potenza della MdT si ridurrebbe notevolmente: la motivazione sar`a resa
nota con il teorema di Savich (vedi Paragrafo 6.3.4)
La MdT `e cos` potente perch`e cancella; se non cancellasse sarebbe equivalente
ad un G:1. Il meccanismo di cancellare aumenta la potenza computazionale e deter-
mina la dierenza tra i linguaggi RE e CS. Dal punto di vista losoco corrisponde
al tornare indietro, al calcolo reversibile e il non cancellare rende il calcolo unidi-
rezionale indebolendolo in potenza computazionale.
Nota:
Come si riconosce se un formalismo `e pi` u deole di unaltro?
F1 < F2 Formalismo F1 pi` u debole di F2.
I due formalismi generano due linguaggi L(F1) e L(F2) e le rispettive classi di
linguaggi, ovvero tutti i linguaggi generati:
L1 = L[L = L(F1), F1 F1
L2 = L[L = L(F2), F2 F2
Un formalismo `e pi` u piccolo di unaltro se la classe dei linguaggi associati `e stret-
tamente inclusa nellaltro:
L1 L2
6.3.2 Teorema di Kleene
Partendo da linguaggi niti ed utilizzando le operazioni di concatenazione, unione
e stella di Kleene si generano linguaggi regolari. Tali linguaggi vengono riconosciuti
dagli automi a stati niti (ASF). Gli ASF partendo da uno stato iniziale q
0
, scan-
discono la stringa in input secondo le regole di transizione e se alla ne si trovano
in uno stato nale allora lautoma accetta la stringa.
ASF = (A, Q, q
0
, F, R)
Il linguaggio generato `e L(M) = [q
0

q F
La dierenza tra grammatica e automa sta rispettivamente nel generare e riconoscere
una parola :
g : S

: genera
ASF : q
0

q F : riconosce
Il teorema dice che:
L(M)[M ASF = L3 = REG dove REG = CLOS(FIN,, , +) Dove CLOS
indica la chiusura algebrica rispetto alle operazioni indicate.
74
Dimostraione:
L(M)[M ASF = L3:
Data una G:3 avente produzioni del tipo
G
con = x = T T N,
si pu`o costruire una M ASF che genera lo stesso linguaggio e viceversa:
S aS
1
q
0
a q
1
S
1
bS
2
q
1
b q
2
.
.
.
.
.
.
S
i
b q
i
b q
f
L3 = REG:
Dimostriamo che ogni L(M) con M ASF `e ottenibile con unioni, concate-
nazioni e stella di Kleene di linguaggi niti su un alfabeto A. Il viceversa `e
ovvio.
Sia Q = q
1
. . . q
n
gli stati di M con q
1
stato iniziale e F = q
m
. . . q
n
gli
stati nali.
Cosideriamo il linguaggio:
L
n
i,j
= A

[q
i
q
i+1
. . . q
j
F
ovvero il linguaggio fatto dalle parole che vengono lette passando dagli stati
q
i
. . . q
j
compresi n stati intermedi Q
Per esempio L
3
i,j
`e il linguaggio formato da tutti i simboli che legge la macchi-
na per passare dallo stato i allo stato j passando per tre stati intermedi.
Per induzione si osserva che:
base:
L
0
i,j
A, tale linguaggio `e nito e quindi REG
infatti:
L
0
i,j
= [q
i

q
j
, Q = 0 = a[q
i
q
j
, a A = a A, quindi
essendo A nito, lo `e anche L
0
i,j
e L
0
i,j
`e regolare.
induzione:
L
k+1
i,j
= L
k
i,k+1
(L
k
k+1,k+1
)

L
k
k+1,j
+ L
k
i,j
i, j N
Infatti per andare da q
i
a q
j
avendo k+1 stati si pu`o passare o meno da q
k+1
e i due tipi percorso sono compresi rispettivamente in:
L
k
i,k+1
(L
k
k+1,k+1
)

L
k
k+1,j
e in L
k
i,j
Per ipotesi induttiva L
k
i,j
`e regolare ed essendo L
k+1
i,j
composto da unione e
concatenazione `e esso stesso regolare. Quindi:
L(M) =

q
k
F
L
n
1,k
= REG L
3
= REG
dove Q = q
1
. . . q
n
con q
1
iniziale e q
k
sono stati nali e
L(M) = L
n
1,m
L
n
1,m+1
. . . L
n
1,n

75
6.3.3 Teorema di Ginzburg
`
E un teorema di chiusura. Sia C una classe di Chomsky allora:
L C L R C R REG
Ovvero i linguaggi regolari hanno la propriet`a di conservare la gerarchia di
Chomsky, o meglio lintersezione con i regolari non fa cambiare la classe di comp-
lessit`a .
Dimostrazione.
Si dimostra per casi, L L
i
con i = 0, 1, 2, 3
Se L RE banale RE REG = RE poich`e REG RE
Se L REG, basta considerare che REG `e chiusa rispetto unione e comple-
mento, quindi rispetto lintersezione:
L R = L R
L CS (G:1)
se L CS, R REG L R CS
M ASF tale che R = L(M) si vuole costruire una nuova grammatica
corrispondente al linguaggio intersezione.
Apicizzo le reogole di G: ax yz a

ottenendo G

Aggiungo le seguenti regoleottenedo G

:
x

q0
y

q0
x

q
i
b

ab

q
j
q
i
a q
j
M
bq
i
b q
i
b q
f
M, q
f
F
Questa grammatica G

partendo da S
q
0
genera stringhe uguali a quelle che
avrebbe generato la G, con la dierenza di avere stringhe apicizzate e indici
q
i
. Gli indici e gli apici spariscono solo se la stringa `e riconosciuta anche
dallautoma M (per costruzione). Tale G

`e di tipo 1.
Esempio:
S

q
0

1q
0
a

2
. . . a

n
a
1
a

2q
i
. . . a

a
1
a
2
. . . a
n
Gli ultimi due passaggi
avvengono sse la stringa `e riconosciuta da M.
L CF (G:2)
se L CF, R REG L R CF
Apicizzo G ottenendo G

,
aggiungo le seguenti regole di tipo 2 ottenendo G

:
S S

q
0
q
f
q
f
F
x yz x
q
1
q
2
y
q
1
q
3
z
q
3
q
2
q
1
, q
2
, q
3
Q
76
x y x
q
1
q
2
y
q
1
q
3
q
1
, q
2
M
a
q,q
a a T, q
1
, q

M
La seconda e la terza regolea mettono coppie di stati, la quarta dice che: a
q,q

diventa a se nellautoma nello stato q, leggendo a passa in q

.
Se la grammatica originale generava: S x
1
, x
2
. . . x
11
e poi terminalizza
in a
1
, a
2
. . . a
11
, ora la nuova G

, partenso da S
q
0
q
f
genera stringhe del tipo
a
q
0
q
1
b
q
1
q
2
. . . e tale stringha terminalizza solo se lautoma riconosce la parola
secondo la sequenza: aq
0
q
1
, bq
1
. . . q
k
.
Esempio:
S

x
1q
1
q3
, x
2q
3
q7
, x
3q
7
q9
, . . . x
11q
15
q17
con q
17
F.
Nella stringa ci sono tutti ipossibili stati da q
0
a q
f
e i pedici spariscono
quando la stringa `e riconosciuta da M.
Quindi se lautoma riconosce la stringa, tale stringa viene riconosciuta anche
dalla G

che `e di tipo 2 per costruzione, quindi L(G

) L2
6.3.4 Teorema di Savich
Questo teorema determina il passaggio dalla contestualit`a alla universalit`a .
L RE = L0, L

CS = L1 t.c L = [n : `e di tipo #
n
L

con #
terminale.
La potenza di calcolo degli RE deriva dalla possibilit`a di cancellare, avere cio`e
un calcolo bidirezionale (avanti e indietro). Esempio.
L =
1
,
2
, . . . RE L

=
1
##, 2###, . . .
ovvero allungando opportunamente le parole di L, tutto quello che si otteneva con
una MdT ora lo si pu`o fare con un LBA. Questo signica che se si ha la possi-
bilit`a di cancellare caratteti, la complessit`a dellautoma che generara il linguaggio
`e maggiore. loperazione di cancellare `e un operazione dicile proprio perch`e fa au-
mentere al complessit`a dellautoma. Capire bene cosa eliminare o dimenticare per
una gestione informativa eciente `e una operazione tuttaltro che banale.
Ricordiamo che:
L
1
= CS REC RE = L
0
REC RE
Costruisco un L
k
che `e RE ma non ricorsivo. Si numerino le grammatiche G
i
e le parole
i
di A

, ora i, j N N si controlli se G
i
nei primi j passi ha
trovato
i
; in caso positivo si aggiunga
i
in L
k
, altrimenti no.
Questo `e un metodo generativo per costruire L
k
, quindi L
k
RE, ma non si
conosce un modo nito per stabilire se data una stringa L
k
o / L
k
L
1
REC
La condizione [[ [[ su fa scendere nei decidibili ovvero che presa
L
1
si pu`o stabilire se L
1
o se / L
1
.
Preso G:1 e una stringa tale che [[ = n, la generazione di tramite
le regole (che sono nite) contiene stringhe al pi` u lunghe n (S
1

77

2
. . . ) e quindi controllando tutte le possibili generazioni posso dire se
pu`o essere generata.
L
1
REC
Si numerino tutte le grammatiche G
i
di L
1
e le stringhe
i
di A

.
Sia L
R
=
i
[
i
/ L(G
i
), L
R
`e ricorsivo poich`e le grammatiche sono de-
cidibili; ora se L
R
fosse generato da G:1 ovvero da CS avremmo due casi:
1. L
R

i
[alpha
i
/ L(G
i
) / L(G
i
) ovvero / L(G
cs
)
/ L
R
Assurdo.
2. / L
R
/
i
[alpha
i
/ L(G
i
) L(G
i
) ovvero L(G
cs
)
L
R
Assurdo.
Dimostrazione del teorema di Savich:
Apicizzo le regole d G per trattare tutti i simboli come non terminali (G)
Nella forma contestuale si ha X , ma in G:0 la X si pu`o cancellare,
mentre in G:1 (contestuale) non si pu`o perch`e deve essere [[ [[ quindi
nella trasformazione da a al pi` u si aggiunge materiale e non si pu`o toglire
nulla.
In G:0 sarebbe dunque X , cos` inserisco in G un simbolo come
simbolo ttizio da mettere al posto della cancellazione.

: signica che quando in G:0 cancello, in G:1 metto alposto


del carattere nullo.
S $S

:il $ funge da marcatore per linizio della stringa


X

: sposta il a destra
$X

X$ : sposta i simboli diversi da a sinistra


$ #
# ## : i alla destra del $ diventano # che `e simbolo terminale
Alla ne avr`o tutti i simboli diversi da a sinistra de $ e il alla destra del
$. Lidea `e spostare il in fondo a destra e farlo diventare # e il teorema `e cos`
dimostrato, perch`e ho messo in fondo tutti i cancelletti che sono simboli terminali,
e il tutto `e stato fatto con regole di tipo 1
Esempio.
$X

Y

Z

$X

regola 3
XXZ$ regola 4
XXZ# regola 5
XXZ### regola 6
Non permettendo loperazione di cancellazione, lautoma genera la stringa voluta
con laggiunta di altro materiale prodotto durante il calcolo. Ecco perch`e con le
MdT `e importante cancellare i blank generati in fase di elaborazione, altrimenti si
produrrebbero linguaggi CS declassicando la potenza di calcolo.
78
References
1 Chie, Dolni, Malcovati, Pierantoni, Tenchini. Biologia e Genetica. EdiSES
edizioni.
2 Vincenzo Manca. Frontiere della ricerca, DNA Computing il calcolatore in provet-
ta. Mondo digitale n.4, p.19-32, Dicembre 2006.
3 Giuditta Franco, Cinzia Giagulli, Carlo Laudanna, Vincenzo Manca. DNA Ex-
traction by Cross Pairing PCR. LNCS 3384, p.106-114, Springer-Verlag,
2005.
4 Vincenzo Manca. On the logical and geometry of bilinear forms. Fundamenta
Informaticae, volume 64 p.261-273, IOS Press, 2005.
5 Vincenzo Manca, Giuditta Franco. Computing by polymerase chain reaction.
Mathematical Biosciences n.211, p.282-298, 2008
6 Vincenzo Manca, Claudio Zandron. A clause string DNA algorithm for SAT.
Lecture Notes in Computer Science, vol 2340, p.172-181, Springer-Verlag,
2001.
7 Vincenzo Manca. Linguaggi, Grammatiche e Automi. Dipartimento di Informat-
ica, Universit`a di Verona.
8 Appunti del corso di Modelli di calcolo non convenzionali. Dipartimento di In-
formatica, Universit`a di Verona.
9 H.Papadimitriou. Computational Complexity. Addison Wesley Longman.
79

Potrebbero piacerti anche