Data processing: DNA-computing

Crowl.dna.js

DNA kan worden gebruikt voor gegevensopslag door informatie te coderen in de volgorde van de vier basenparen (A, T, C, G) van een DNA-molecuul. Hier is een eenvoudige uitleg:

  1. Codering: Elke letter, cijfer of symbool wordt omgezet in een reeks van de basenparen (A, T, C, G). Bijvoorbeeld, de letter "A" kan worden gecodeerd als "ATCG".
  2. Synthese: Deze gecodeerde informatie wordt vervolgens gesynthetiseerd in een echt DNA-molecuul.
  3. Opslag: De DNA-moleculen worden bewaard in een geschikte omgeving, zoals een kleine buisje of vloeistof.
  4. Lezen: Wanneer de informatie nodig is, wordt de volgorde van de basen in het DNA afgelezen door sequencing-technieken.
  5. Decodering: De basenvolgorde wordt terugvertaald naar de oorspronkelijke gegevens, zoals letters en cijfers.

Dit proces maakt gebruik van de compacte en stabiele aard van DNA om grote hoeveelheden gegevens in een zeer kleine ruimte op te slaan.

Simulatie

Met de DNA-class kan je dit proces simuleren. 

        let binaryData = '010100010101101110101011010100101101101100000101010110111011100101010111';
        let dna = DNA.encode(binaryData);
        document.addEventListener("DOMContentLoaded", function() {
            DNA.renderToCanvas(dna, 'dnaCanvas');
        });

        let originalText = "Hello, world!";
        let bits = DNA.stringToBits(originalText);
        let dna2 = DNA.encode(bits);
        console.log(dna2);
        let decodedText = DNA.bitsToString(bits);

        console.log(`Oorspronkelijke tekst: ${originalText}`);
        console.log(`Gecodeerde bits: ${bits}`);
        console.log(`Gedecodeerde tekst: ${decodedText}`);

Demo:  https://www.hakendover.be/smarticles/dna.html

Volgende pagina