DNA-computing
La macchina di Turing (Alan Turing, 1936)* Un meccanismo (finite control) si muove tra una coppia di nastri:. legge le istruzioni da un nastro (input tape). scrive il risultato sull altro nastro (output tape) La replicazione del DNA La DNA polimerasi scorre lungo un filamento del DNA. legge ciascuna base sul filamento. scrive il suo complemento sul filamento nuovo Leonard M. Adleman (1994): macchina di Turing DNA? *dieci anni prima della comparsa dei computers!! 1944: electronic discrete variable automatic computer (EDVAC)
La Tesi di Church &Turing (Alonzo Church & Alan Turing) Universalità : la macchina di Turing (= qualsiasi computer) può calcolare qualsiasi cosa sia calcolabile, nell ipotesi che ci sia sufficiente tempo e sufficiente memoria. L algoritmo con cui viene fatto il calcolo deve soddisfare i seguenti requisiti 1. L algoritmo deve consistere di un set finito di istruzioni descritte con un numero finito di simboli 2. L algoritmo produce il risultato in un numero finito di steps 3. L algoritmo può, in teoria, essere operato da un umano con solo carta e penna 4. La sua esecuzione non richiede un intelligenza umana tranne quella necessaria a capire le istruzioni ed eseguirle
DNA Computing La sfida computazionele risolvere gli NP-problems P-problems possono essere risolti in un tempo polinomiale (N k ) NP-problems Non-standard Polynomial problems il tempo per testare una ipotesi (ansatz) è polinomiale, ma il numero di possibili prove è esponenziale (e N ) se disponessi di un computer parallelo con un numero esponenzialmente grande di nodi il tempo di calcolo sarebbe polinomiale Ovviamente P-problems NP-problems* il problema di decidere se l inclusione è stretta è uno dei problemi più importanti della matematica
Esempi di problemi NP (completi) Il problema del commesso viaggiatore (Hamilton path problem) Colorare un grafo connesso con 3 colori, senza vertici adiacenti dello stesso colore Problemi di consistenza (SAT-problems = SATisfability-problems) Minimizzazione di una hamiltoniana di spin completo problemi di cui in un tempo polinomiale posso testare un ansatz, ma che non possano essere risolti in un tempo polinomiale (ne esistono?) Se sì, trovando un algoritmo (efficiente) per risolvere un problema NP completo questo potrà essere utilizzato per risolvere ogni altro problema NP
DNA computer permette di risolvere problemi NP in un tempo polinomiale strumenti molecolari naturali & artificiali appaiamento alla Watson-Crick DNA-polimerasi (+ primer) DNA-ligasi endonucleasi di restrizione sintesi (artificiale) di DNA elettroforesi su gel
Hamilton Path Problem Connessioni orientate Vertici Grafo Esempio di algoritmo (non efficiente) Dato un grafo con n vertici 1. generare un insieme di cammini casuali 2. per ciascun cammino a. verificare che cominci dal vertice di partenza e finisca nel vertice di arrivo; altrimenti rimuoverlo b. verificare che il cammino passi esattamente per n vertici; altrimenti rimuoverlo c. per ogni vertice verificare che il cammino passi per quel vertice; altrimenti rimuoverlo 3. Se l insieme non è vuoto: c è un cammino di Hamilton. Se l insieme è vuoto: no
Hamilton path: Roma-Parigi-Madrid-Berlino Madrid VOLO Berlino Roma Parigi CITTA SEQ. DNA COMPL ROMA ACTT GCAG TGAA CGTC PARIGI TCGG ACTG AGCC TGAC MADRID GGCT ATGT CCGA TACA BERLINO CCGA GCAA GGCT CGTT SEQUENZA # VOLO 4 vertici (= città) 6 connessioni (= voli) Roma = vertice di partenza Berlino = vertice di arrivo ROMA-PARIGI ROMA-BERLINO PARIGI-MADRID PARIGI-BERLINO PARIGI-ROMA MADRID-BERLINO GCAGTCGG GCAGCCGA ACTGGGCT ACTGCCGA ACTGACTT ATGTCCGA
Come si procede in pratica: 1. Sintesi* delle sequenze complementari ai nomi delle città e delle sequenze con i numeri dei voli (i nomi delle città non sono necessari) 2. Nella stessa provetta: un pizzico (circa 10 14 molecole) di ognuna delle diverse sequenze, acqua, ligasi, sali, etc. In circa 1 sec si ha in mano il risultato * Occorrono pochi giorni per ricevere una provetta con circa 10 18 molecole di DNA tutte (o in gran parte) aventi la sequenza richiesta. Una sequenza di 20 basi costa circa 25$. Si possono facilmente ottenere sequenze lunghe anche 100 basi.
Algoritmo: passo 1 Cosa succede nella provetta a. il volo Roma-Parigi (GCAGTCGG) ed il complemento del nome Parigi (AGCC TGAC) si incontrano per caso. b. la fine della 1 a e l inizio della 2 a sono complementari e si appaiano c. questo complesso incontra il volo Parigi-Madrid (ACTGGGCT) d. la 1 a parte di questo è complementare all ultima del complesso e si appaia e. e così via GCAGTCGG AGCCTGAC GCAGTCGGACTGGGCT AGCCTGAC... La provetta conterrà sequenze relative a cammini casuali.
Numero elevatissimo di cammini (sequenze) se esiste, almeno uno sarà quello di Hamilton tutti i cammini sono stati generati contemporaneamente (elevato parallelismo) ci sono (anche) circa 10 11 molecole che traducono cammini che non sono quello di Hamilton devono essere eliminati
Algoritmo: passo 2a Eliminare le molecole che non cominciano con la città di partenza e non finiscono con la città di arrivo. Polymerase Chain Reaction (PCR) per produrre molte copie delle sequenze. complemento del nome della città di partenza (TGAA) [Roma]. cognome della città di arrivo (GCAA) [primers*][berlino] 5 ACTT 3 3 TGAA 5 PCR si producono molte copie solo dei complementi di tutte quelle molecole la cui sequenza comincia con il nome della città di partenza * segnalano alla DNA polimerasi dove cominciare la replicazione alla Watson e Crick
Si producono molte copie solo dei complementi (prodotti nel precedente passo e che quindi cominciano tutti con il complemento del nome della città di partenza) di tutte quelle molecole la cui sequenza comincia con il complemento del cognome della città di arrivo 5 CGTT TGAA 3 3 GCAA ACTT 5 Roma: ACTT GCAG TGAA CGTC Berlino: CCGA GCAA GGCT CGTT le molecole moltiplicate da PCR sono quindi quelle che cominciano con il nome della città di partenza e finiscono con il cognome della città di arrivo
Algoritmo: passo 2b Con l elettroforesi seleziono solo quelle molecole che hanno la lunghezza (numero di vertici) giusta. Nell esempio: 24 basi Algoritmo: passo 2c i. Si attacca al complemento del nome di una delle città intermedie una microscopica pallina di ferro ii. Si mette in soluzione e si promuove l appaiamento iii. Si usa un magnete per attrarre solo le molecole attaccate alla pallina e le altre vengono lavate via iv. Si stacca la pallina di ferro v. Si ripete la stessa operazione a partire da (i) per le altre città intermedie Algoritmo: passo 3 PCR seguito da elettroforesi e sequenziamento Nota: se la provetta è vuota: non ci sono cammini di Hamilton
Passo 2c
Vantaggi dei computers a DNA Capacità di Memoria: Parallelismo: 1gr DNA (1cc) = 10 9 CD 10 14 numeri di volo connessi in 1 sec Efficienza energetica: DNA: 1 joule/10 19 operazioni di legame supercomputers: 1 joule/10 9 operazioni...però, per conoscere il risultato, ottenuto in 1 sec, ci è voluta circa 1 settimana!...e soprattutto, il numero di catene di DNA che devono essere prodotte a caso cresce esponenzialmente con il numero di variabili (nodi) i problemi NP non hanno veramente trovato una soluzione!
Perchè il computer a DNA non ha rimpiazzato quello al silicio? DNA = macchina di Turing? Abbastanza più complicato Vantaggi del DNA: parallelismo massivo, numero esponenzialmente grande di processori (più DNA nel becker!!). Vantaggi del silicio: versatilità, disponibilità, durata, facilità d interfacciamento 50-60 anni di sviluppo di algoritmi e tecnologie per il silicio non facilmente trasferibili al computer a DNA