Il DNA Computing

Il DNA Computing

Il DNA Computing è un nuovo modello di calcolo sviluppatosi rapidissima­mente a partire dal 1994, dopo un esperimento condotto negli Stati Uniti da Léonard Adleman in cui si dimostrava la possibilità di risolvere problemi combinatori con tecniche di ingegneria genetica. L’incredibilmente complessa struttura degli esseri viventi è il risultato di poche semplici operazioni (mutazioni locali, tagli, copie, incollamenti, ri­combinazioni) applicate a sequenze iniziali di DNA. Si tratta di un processo biologico perfettamente analogo al processo matematico che ottiene f(w), il risultato dell’applicazione di una funzione calcolabile ad un argomento w, come combinazione di funzioni semplici e basilari, la diversità sta nel mo­do in cui la natura procede: non aggiungendo e sottraendo, ma tagliando e incollando, con cancellazioni e inserzioni. Questa osservazione, assieme alla possibilità di sintetizzare il DNA e di manipolarlo in condizioni di laboratorio, ha suggerito l’idea che ogni compu­tazione potesse essere effettuata partendo da sequenze di DNA, che codificano un’informazione iniziale, e applicando ad esse operazioni usuali di ingegneria genetica.

Una cosa importante che ci hanno insegnato i grandi logici degli anni ’30 è che il calcolo automatico è una cosa essenzialmente semplice. La macchina di Turing memorizza le informazioni sotto forma di sequenze di lettere su un nastro, e le manipola attraverso semplici opera­zioni applicate secondo un meccanismo di controllo descritto da una stringa finita. In modo simile, un computer memorizza le informazioni sotto forma di sequenze di zero e uno, e le elabora tramite le operazioni che il chip del processore è in grado di compiere. In generale, per costruire una macchina universale, cioè capace di calcolare qualsiasi cosa possa essere calcolata, solo due cose sono veramente indispensabili: un metodo per immagazzinare le informazioni e poche semplici operazioni per elaborarle. La molecola di DNA è uno dei più compatti supporti di informazione, che da miliardi di anni le cellule usano per immagazzinare i “progetti” della vita, e ha una proprietà veramente importante da un punto di vista computazionale: è una sequenza formata da due stringhe “complementari”.

Il DNA Computing porta alla formulazione di nuove strutture dati (per esempio, nella macchina di Turing, un doppio nastro con relazioni di comple­mentarietà tra le celle corrispondenti) e nuovi modelli di calcolabilità. D’altra parte le molecole di DNA codificano un noto linguaggio (Twin-Shuffie) che, via trasduzioni, caratterizza una classe di insiemi computazionalmente universali.

L’idea alla base del DNA Computing

L’idea base del DNA Computing è quella di passare dai microchips alle molecole di DNA. Gli ovvi limiti di miniaturizzazione che si hanno con le attuali tecnologie informatiche spingono alla drastica innovazione che porta le componenti di base del computer a livello molecolare, e due recenti mani­festazioni di questa tendenza sono il Quantum Computing e appunto il DNA Computing. In realtà già negli anni ’50 Richard Feynman speculò sulla possibilità di utilizzare molecole come strumento di calcolo. Con maggiori dettagli, negli anni ’80 sia Charles Bennett che Michael Conrad formularono proposte di modelli di calcolo molecolari. Di recente (novembre 1994) è stata sperimentata la reale fattibilità di tali computazioni, resa possibile dai grandi sviluppi della biologia molecolare e dalla capacità di produrre quantità enormi di molecole di DNA di una specifica sequenza e dimensione.

Questa è un’idea rivoluzionaria, che rappresenta un’inversione di tendenza: da circa cinquant’anni si cerca di comprendere la struttura e il comportamento del DNA attraverso modelli computazionali (ricordiamo per esempio lo svi­luppo dei processi stocastici e dei metodi statistici per risolvere problemi di genetica ed epidemiologia), invece il Molecular Computing, e in particolare il DNA Computing, processa variamente le biomolecole. Il fatto che i fenomeni interni alle cellule (copiare tagliare e incollare stringhe di DNA) possano essere computazioni suggerisce che la vita stessa possa consistere in una serie di complesse computazioni. E siccome la vita è uno dei fenomeni naturali più complessi potremmo generalizzare facendo la congettura che Finterò cosmo sia il prodotto di computazioni. La differenza tra le diverse forme di materia potrebbe quindi riflettere solo vari gradi di complessità computazionale: dal caos alla materia inorganica, dall’inorganico all’organico, l’intera evoluzione dell’universo potrebbe essere una storia di sempre crescente complessità di computazione.

Vantaggi del DNA Computing

Andiamo dunque a vedere, in concreto, i vantaggi nel “fare calcoli” col DNA.

  • Velocità di calcolo
  • Compattezza di informazione
  • Risparmio energetico

Velocità di calcolo

Secondo Adleman un ipotetico computer DNA esegue approssimativamente 1,2 x 10^10 operazioni al secondo, quindi è circa 1.200.000 volte più veloce del più veloce degli attuali supercomputers. Un calcolo per il quale un computer richiede cento mila anni il DNA lo fa in un mese! Il segreto sta in un notevole parallelismo. Il DNA è una molecola stabile, che può essere trattata in molti modi già ben noti in laboratorio e può essere duplicata esponenzialmente, questo rende possibili interessanti computazioni con un enorme parallelismo, molto superiore a quello fornito dagli attuali computers.

Compattezza di informazione

La compattezza del DNA come contenitore di dati ha dell’incredibile.

È stato stimato che pochi grammi di DNA possono contenere più in­formazione di quanta ne contengano al momento tutte le memorie dei computers sulla terra. Considerano singole stringhe di DNA, quindi nel calcolo tutte le basi pre­senti vanno a codificare esattamente 2 bits. Questo loro approccio non è inverosimile, in quanto oggi esistono delle tecniche di cristallizzazione che impediscono l’appaimento delle stringhe complementari anche a tempera­tura ambiente, tuttavia abbiamo preferito fare un calcolo ridimensionato, che consideri la reale informazione contenuta in una molecola di DNA senza al­cun intervento esterno. Le cifre ottenute sono comunque molto interessanti: anche se riuscissimo ad utilizzare solo il 10% di tale contenuto informativo ot­terremmo comunque un’enorme avanzamento rispetto alla tecnologia attuale. D’altra parte, l’essere come siamo dipende dall’informazione contenuta nei geni del nostro DNA, che occupano solo il 10% della molecola (detta parte codificante).

Ricerche nel campo del DNA Computing stanno indagando sulla possibili­tà di codificare, accumulare, manipolare e recuperare informazioni biologiche in sequenze di DNA. Per esempio fornisce i dettagli di uno studio che ha coinvolto la progettazione, la costruzione e la sperimentazione di una grande base-dati per il contenimento e il ripristino di informazioni dentro sequen­ze di basi nucleotidiche di molecole artificiali di DNA. Queste basi di dati consistono in un grande insieme di singole stringhe di DNA (libere in so­luzione o immobilizzate su sferette, lastre vetrose, o chips) che contengono una particolare sequenza di basi, consistente in sottostringhe di cui ciascuna fa parte di un predeterminato insieme.

Risparmio energetico

Potenzialmente, i computers molecolari hanno un’efficienza energetica straordinaria.

Potenzialmente, i computers molecolari hanno un’efficienza energetica straordinaria. In linea di massima, un joule è sufficiente per compiere circa 2 x 10^19 reazioni di ligasi. Una cosa tanto più notevole se pensiamo che la seconda legge della termodinamica prevede che si possano compiere al massimo 34 x 10^19 operazioni irreversibili per joule, a temperatura ambiente. Gli esistenti supercomputers eseguono 10^9 operazioni per joule, quindi l’efficienza energetica di un ipotetico computer DNA sarebbe 10^10 volte maggiore (perché verrebbero eseguite 2 x 10^19 operazioni per joule).

 

Precedente La Bioinformatica e la Biostatistica Successivo Fasi degli algoritmi DNA

Lascia un commento

*