Il DNA Computing è una tra le tecniche di calcolo non convenzionali del cosiddetto Natural Computing, branca dell’informatica volta alla risoluzione di problemi di computazione complessi che richiedono l’utilizzo di una grande quantità di dati per essere risolti e che pertanto necessitano l’utilizzo di strumenti alternativi capaci di sfruttare materia biologica elementare dalle ridottissime dimensioni e dalla capacità però di immagazzinare grandissimi quantità di dati. Il tradizionale sistema di calcolo infatti memorizza l’informazione in forma binaria 0 1 nel Bit, unità di memorizzazione base del dato nei computer classici, mentre il Natural Computing necessita la memorizzazione dei dati con un alfabeto di simboli maggiore di due, come ad esempio il sistema quantistico alla base del qBit o Bit quantico capace di immagazzinare 8 diverse combinazioni di valori 000 111.
Negli ultimi anni, la tecnica di computazione non convenzionale su cui si è maggiormente investito è quella del DNA computing:
- per la semplicità con cui è possibile reperire specifico materiale biologico
- per la possibilità di risolvere problemi computazionali complessi utilizzando la struttura delle di molecole di DNA
Il concetto di DNA Computing si basa sulla codifica dell’informazione in una o più sequenze di DNA. La doppia elica del DNA è formata da due filamenti, avvolti a spirale e tenuti insieme dai legami che si stabiliscono tra le quattro basi. Tali legami hanno un ordine obbligatorio:
- l’adenina (A) può legarsi solo alla timina (T)
- la guanina (G) solo alla citosina (C).
Le due catene hanno sequenze complementari e l’informazione risiede nell’ordine di successione delle basi, le combinazioni sono su base quantica pertanto possono arrivare fino ad 8 per per ogni singolo legame anziché le sole due combinazioni del sistema binario. Sono state sviluppate due diverse tecniche per la computazione attraverso sequenze di DNA, la computazione in vitro e quella in vivo.
La computazione in vitro
Nella computazione in vitro le catene di DNA sono sintetizzate in laboratorio e raccolte in una provetta costituendo l’input del programma. In provetta le catene si combinano e si duplicano secondo le regole chimico-biologiche proprie dando luogo, con una serie di apposite stimolazioni bio-fisiche, alle sequenze di DNA di output del programma. Preparando sequenze di DNA specifiche è possibile inoltre anche selezionare in input i nucleotidi di cui far duplicare le catene, da leggere poi come sequenze in uscita.
La computazione in vivo
La computazione in vivo prevede invece la manipolazione di sequenze di DNA direttamente all’interno di cellule “vive” attraverso l’utilizzo di enzimi per la sintesi delle proteine. La bio-informatica considera l’enzima della Dna-Polimerasi la più complessa Nano-Macchina Molecolare conosciuta: legge un’elica di DNA e riscrive la sua versione complementare in una nuova elica. Questi meccanismi costituiscono la logica dei Computer Molecolari che fino adesso sono stati sperimentati nelle forme di:
- Chip bionico o bio-chip ossia cellula integrata con circuiti elettrici che non trasferisce corrente fino a quando non viene raggiunto un voltaggio prestabilito; solo a quel punto i pori della membrana si aprono e la corrente attraversa la cellula, trasportando lo “stimolo” elettrico; ogni tipologia di cellula permette di far passare elettricità a voltaggi differenti.
- Computer organico: un ibrido la cui memoria di base è assicurata da alcune cellule neuronali collegate ad una piastrina di silicio, futuro che potrebbe essere il predecessore dei computer biologici.
Applicazioni del DNA Computing
Massiccio parallelismo
Il DNA Computing come un computer quantico, è in grado di svolgere milioni di operazioni in parallelo, capacità utile per svolgere elaborazioni complesse come:
- Problemi computazionali classici: operazioni aritmetiche sempre più articolate fino alle espressioni matematiche
- Problemi computazionali complessi: NP-Complete “Hard Computationally: come ad es. pianificazione, di gestione dei trasporti o di analisi dei sistemi di trasmissione
- Miglioramento tassi d’errore delle operazioni biologiche: come ad esempio le mutazioni de novo nella replicazione del DNA, causa di errori genetici che comportano patologie croniche o che predispongono alla malattia
Memoria di massa ed associativa
Una delle caratteristiche del DNA Computing è la possibilità di immagazzinare una grande quantità di informazioni attraverso le quattro basi che la compongono, la cui combinazione attraverso le regole associative dei legami da essere formabili arrivano fino ad 8 per ogni legame.
- Quantità di dati per gr di DNA: mentre si calcola che il cervello umano riesca a distinguere circa 106 concetti diversi insieme, in un litro di soluzione contenente soli 50g di DNA si possono immagazzinare circa 1020 parole, quindi in centinaia di grammi di DNA si potrebbero registrare istruzioni e informazioni pari a più culture e discipline insieme realizzando una prima memoria associativa a DNA.
- Crittografia e steganografia (riconoscimento dei linguaggio in codice iconografico): riconoscimento fino a 256 chiavi di cifratura possibili a partire dal testo cifrato e da una sola coppia testo in chiaro, il tutto con costi e sforzi di calcolo minimi rispetto a quelli della macchine tradizionali.
- Bioinformatica DNA2DNA – DnaToDna: lettura, analisi ma soprattutto interpretazione del genoma umano facendo interagire sequenze conosciute di DNA con quelle sconosciute producendo risultati facilmente interpretabili e che permettono di risalire alle sequenze iniziali. Le potenziali applicazioni di una riprogrammazione naturale del DNA sono innumerevoli, ma quelle sulle quali si sta maggiormente lavorando sono le seguenti:
– Genoma Umano: lettura attraverso il sequenziamento del DNA
– Mutazioni del DNA: riconoscimento per la prevenzione e la cura di malattie genetiche
– Impronta digitale