GATC_note – convert text to DNA

Modified: 2018 Jun 30

Many years ago I saw a movie named “GATTACA”. The film was based on a novel where a man with some “defects” in his DNA was excluded from the crew of a stellar mission (due to such defects). That man, using a trick (exchanging his DNA with another one coming from a friend genetically perfect, but unable to walk after an accident) finally was accepted and started his journey to the stars.

Why “GATTACA” ? The answer is simple: the DNA has only 4 elements (I don’t know their exact names, try Google search for full information) named A, C, G, T. Such four elements, sequentially disposed on a “string”, are able to describe THE LIFE. The DNA is like a program with all the instructions to build the life in its wide range of forms.

When I discovered that just 4 letters are used for the “strings of life”, I immediatly thought about a byte. In one byte (8 bit) I can save four symbols. Many years later (three years ago) I realized a small Internet connected device and decided to use a special coding to transmit the data from the microcontroller to the webserver and so I encoded every byte as a string of 4 characters “A”,”C”,”G”,”T” sending the packet as simple ASCII string. Obviously, the byte array was small and was previously encoded with my own key. It was just an experiment, easy to implement in the microcontroller C program and in the receiving PHP script on the server.

Well, last week I have seen on TV that some scientist are studying the way to save huge amount of information on molecular support, using the DNA structure! So, we will have many terabytes of data on a very small organic  support. I don’t know when it can be ready for the public, but is a very exciting idea for data storing. I just can’t imagine how a “reader” for such data can be realized, but in the meantime I decided to write a small App for Android to “translate” a text in “DNA code” form. This is the App icon:

The App is simply a text editor that can convert from text to “DNA code” and viceversa pressing a button. It’s funny and you can save some “sensitive” data on your smartphone with this special encoding. Note that the coding / decoding algorithm is VERY easy and any “decent” programmer will break and decode the text in few minutes, so don’t use this way to store your precious bank accounts! It’s just a funny way to save the data with a “futuristic” look.

Here is the screenshot of a text written in the edit box:

And now, look what happens when I press the button “GATC it !”:

The operation is reversible: if I tap again the button “GATC it!” the “DNA code” reverts to normal text. There are buttons to save / load the files to / from the smartphone’s memory. The files are saved in the program directory that is named GATC_note/. You can save or retrieve files to / from the directory connecting the smartphone to the computer as an USB memory. Note that the files are in Android format, so the line terminator is simply LF and not CRLF as in Windows Notepad.

Modified in GATC_note V0.2 >> Note the “double colon” at the end of the “DNA code”: this is appended by the program as a marker in order to recognize that the text is “GATC code”. I changed such marker from “Black Star” (Unicode 9733 decimal) of previous release to “double colon” in order to make easier editing GATC text (for experiments). I added also a check for the text length (in GATC mode) ‘cause such text must be multiple of 4 in length (4 GATC symbols = 1 Byte). Finally, I modified the text entry in order to avoid that the keyboard can overlap the text (in case of long strings).

Using just one byte for character has a limit: not all the characters in the edit text can’t be decoded. Only the characters with code from 0 to 255 can be represented with 4 characters ACGT. In case of characters out-of-bounds, the program will set a message dialog asking you if you want to accept the limits (changing the extra characters in blanks) or if you refuse to exchange. This is the screenshot of the dialog:

The “load” and “save” buttons are used to save and load files. You can save files in text or DNA format. The only difference is that ANY file that ends with the “black star” is considered as “DNA”, otherways is a text file. Pressing a file name for long time calls the “delete” procedure and you can decide to erase a file from your smartphone’s memory.

The App has been published on my Google Play developer page at this link: https://play.google.com/store/apps/details?id=robotop.gatcnote. It’s absolutely free and without any advertisement. If you find some error or if you wish for new features to add, send me a message. I will try to improve / debug the program in my free time.

If someone has a true DNA to convert with the program and then discovers that the converted data contains some useful instructions to develop a special anti-gravitational machine, please invite me (for free) to the first interstellar journey on a starship that uses such new technology, thank you.

Telepatometro

Mi sono un po’ stufato delle compagnie telefoniche e delle loro “variazioni di contratto unilaterali”, che significa che se vuoi continuare a usare il telefono devi tacere e accettare le nuove condizioni. Perché mai dobbiamo continuare a usare questi collegamenti “primitivi” per contattare una persona (o un dispositivo) a distanza ? Perché non usare la TELEPATIA ? Ah, forse voi pensate di non essere telepati. Beh, non tutti lo sono. Non fatevene un cruccio. Però, forse lo siete e non lo sapete ! Allora vi serve un dispositivo per misurare le vostre capacità di telepate, come “trasmettitore” o come “ricevitore” o in entrambi i ruoli.

E’ da tanto che penso a come sarebbe bello un mondo pieno di telepati, dove ci si possono scambiare idee senza parlare, senza ipocrisie, senza menzogne. Lo so, sarebbe la fine per una certa classe politica e soprattutto per le compagnie telefoniche. E allora che aspettiamo ? Per dimostrarvi che è da un po’ che ci penso, vi invito a visitare questo link, dove potrete scaricare una copia in PDF della rivista “Electronics Projects” del Gennaio 1990. Sfogliate la rivista fino a pag. 25 e lì troverete un mio articolo che ha come titolo “Il telepatometro” !

Quella volta, come strumento per misurare le capacità telepatiche, avevo fatto un circuito con un micro 6804 (Motorola). Ho ancora il prototipo :

Oggi vi presento una versione più moderna 🙂 ma il concetto rimane lo stesso. Qui sotto vedete una schermata della App per Android :

Ho messo qui l’immagine in orizzontale, per fare un raffronto con il “vecchio modello”, ma in effetti l’App supporta solo l’orientamento verticale (portrait).

Come funziona ?

Lo schermo del telefono è separato in due da una riga gialla. In alto c’è il lato del “ricevitore”, con cinque pulsanti ognuno dei quali ha un simbolo Zener, della serie usata anche da persone che effettuano esperimenti seri in questo settore. In basso c’è la parte del “trasmettitore”, con un display a due cifre, un pulsante di “exit” e un altro per avviare e controllare l’andamento della prova.

Facciamo un giro: due persone si mettono sedute a un tavolo, una di fronte all’altra, con il telefono in mezzo. Al centro del telefono (sulla riga gialla) si piazza uno schermo (può essere un pezzo di carta, oppure la mano di uno dei giocatori) in modo che il “ricevitore” non possa vedere cosa c’è dal lato del “trasmettitore”. Il “trasmettitore” preme il pulsante a destra (quello con le due frecce tonde) e nello spazio centrale appare (in modo casuale) uno dei 5 simboli Zener: cerchio, quadrato, croce, stella, onde. Il “trasmettitore” si mette a pensare intensamente al simbolo visualizzato e il “ricevitore”, se è telepatico, sicuramente visualizzerà nella sua mente tale simbolo, quindi premerà il tasto corrispondente dalla sua parte. A questo punto il “trasmettitore” premerà di nuovo il pulsante a destra per estrarre un nuovo simbolo. La cosa andrà avanti per 20 volte (ho verificato che con più prove mi viene mal di testa) e alla fine ci sarà il conteggio dei risultati indovinati dal “ricevitore”. Tale valore sarà visualizzato sul display, che in tale occasione sarà lampeggiante. Per ripartire con un nuovo test (magari scambiando il “trasmettitore” e il “ricevitore”) si premerà di nuovo il solito pulsante a destra, oppure “exit” per terminare.

Probabilità

Avendo 5 simboli, la probabilità di indovinare quello giusto è del 20% (una su cinque) e quindi, ripetendo la prova per 20 volte, tipicamente avremo un totale di “carte indovinate” pari a 4. Possiamo verificare questa cosa facendo premere al “ricevitore” sempre lo stesso pulsante (lo stesso simbolo) per tutti e 20 i tentativi. Il valore ottenuto non si discosterà molto da 4. Allora, come facciamo a vedere se c’è telepatia ? Se due persone riescono ad ottenere un valore che si discosta MOLTO da quello previsto, tipo 8, 10 o più, potremo affermare che c’è qualcosa di “strano” (se non abbiamo imbrogliato) . Conviene fare questo “gioco” con molti amici, provando diverse combinazioni di “trasmettitori” e “ricevitori”. Va benissimo fare queste prove al tavolo di un Pub, ripetendo l’esperimento dopo uno o più boccali di birra ! L’importante è che chi poi dovrà guidare resti sobrio, anche se sfortunatamente non dovesse risultare telepatico !

Trovate l’App sulla mia pagina di Google Play, è gratuita.

Ecco un esempio di uno schermo di protezione realizzato con un pezzo di carta e due stuzzicadenti, in meno di un minuto. In questo modo si sta più comodi e nessuno “sbircia”. E’ facile realizzarlo (pure meglio) anche con materiale che trovate al Pub. Sarà un ulteriore divertimento…