Journal Le Téra-octet, cette unité bientôt démodée...

Posté par . Licence CC by-sa
31
22
août
2012

Mediapart nous annonce que des chercheurs de Harvard ont réussi à stocker le contenu d'un livre (Regenesis: How Synthetic Biology Will Reinvent Nature and Ourselves, cosigné par George Church, qui a dirigé les recherches) dans une biopuce de moins d'un picogramme !

Juste pour vous faire rêver (et parce que les articles de Mediapart sont consultables moyennant rémunération), voici un extrait :

George Church et ses collègues ont réalisé un record : la puce à ADN qu'ils ont fabriquée renferme 5,5 millions de gigabits par millimètre cube, soit une densité d’information environ un million de fois supérieure à celle des mémoires flash ou disques durs les plus performants commercialisés aujourd’hui.

Selon l'article, 4 grammes d'ADN suffiraient à stocker la totalité des données numériques générées chaque année.

Et pour résumer : c'est cher, pas pratique à lire/écrire (le 0 binaire doit être codé en A ou C, comme on veut, et le 1 binaire en G ou T), mais a un taux de d'erreur de 2 par million de bits.

  • # autres sources

    Posté par . Évalué à  5 .

  • # Encodage

    Posté par . Évalué à  3 .

    Et pour résumer : c'est cher, pas pratique à lire/écrire (le 0 binaire doit être codé en A ou C, comme on veut, et le 1 binaire en G ou T), mais a un taux de d'erreur de 2 par million de bits.

    Pas très performant : mieux vaut coder 2 bits par nucléotide (A=00, C=01, T=10, G=11), on en stocke deux fois plus.

    • [^] # Re: Encodage

      Posté par (page perso) . Évalué à  5 .

      Je n'y connais rien en bio, mais je suppose qu'ils y auraient pensé. Un lecteur de ce journal suggère dans les commentaires

      Lorsque les deux brins sont ensembles, A est toujours associé à T et C à G : logiquement, A et T codent donc pour la même information.

      • [^] # Re: Encodage

        Posté par . Évalué à  5 .

        Lorsque les deux brins sont ensembles, A est toujours associé à T et C à G : logiquement, A et T codent donc pour la même information.

        Non, c'est faux. Je veux dire que A et T sont toujours associés, mais on ne lit qu'un seul des deux brins. Par conséquent, des séquences comme TTA et ATT sont différentes, et un nucléotide contient bien 2 bits d'information.

    • [^] # Re: Encodage

      Posté par . Évalué à  10 .

      Dans l'article de Science ils expliquent pourquoi:

      We encode one bit per base (A or C for zero, G or T for one), instead of two. This allows us to encode messages many ways in order to avoid sequences that are difficult to read or write such as extreme GC content, repeats, or secondary structure.

      Pour éviter d'utiliser des séquences qui sont difficiles à lire ensuite. En effet, en particulier les séquences riches en GC, fortement répétées ou formant des structures spatiales par repliement sont difficiles (pour des raisons de biologie moléculaire) à lire sans erreur.

      • [^] # Re: Encodage

        Posté par . Évalué à  3 .

        OK, j'aurais dû lire l'article. Ils ont donc choisi de rendre l'information redondante pour améliorer la fiabilité.

        Le truc, c'est qu'évidemment chaque nucléotide contient bien deux bits d'information, mais que pour des raisons pragmatiques, ils préfèrent n'en coder qu'un. Cependant, si leur méthode pouvait trouver de vraies applications, il sera tout à fait possible de mieux compresser tout en préservant la fiabilité de la lecture et de l'écriture, par exemple en compressant sur des mots de 4 ou 6 nucléotides, voire plus.

        • [^] # Re: Encodage

          Posté par . Évalué à  4 .

          Il aurait du surtout faire une mise en trame de donné comme pour les transmissions hertzienne avec une notion de trame de taille fixe avec des patterns fixes qui se répètent et cassent ces séquences de GC.

          "La liberté de tout dire n'a d'ennemis que ceux qui veulent se réserver le droit de tout faire". "La question n'est pas de savoir si vous avez quelque chose à cacher. La question est de savoir si c'est nous qui contrôlons le gouvernement ou l'inverse

          • [^] # Re: Encodage

            Posté par . Évalué à  8 . Dernière modification : le 22/08/12 à 17:27

            Mouaip, mais c'est un chouilla plus compliqué quand même. Tu as de nombreuses structures à éviter :
            * Les régions trop riches en A/T ou en G/C. Il faut donc, sur une fenêtre glissante de taille donnée, maintenir un ratio (A+T)/(A+T+G+C) dans une fourchette acceptable, probablement entre 30 et 70%, quelque chose comme ça.
            * Les séquences répétées, qui sont mutagènes: AAAAAAA, AGAGAGAGAGAG, ATTATTATTATT, par exemple, auront beaucoup plus d'erreurs lors de la copie.
            * Les palindromes, qui forment des structures secondaires (par exemple, ACTAGTXX..XXACTAGT peut facilement destabiliser la double hélice d'ADN)
            Du coup, en général, aucune séquence n'est parfaite. Pour une séquence donnée, tu peux calculer une sorte de score avec un algorithme heuristique, et j'imagine que l'objectif serait de compresser au maximum l'information tout en gardant une lisibilité acceptable.

            Ceci dit, je reste convaincu que la compression de 200% décrite dans l'article est largement sous-optimale—ce n'était pas le but de la manip. J'imagine même qu'il y aurait moyen de réaliser en même temps la compression (informatique) des données numériques et l'optimisation de la séquence, plutôt que de zipper d'abord puis de bricoler la suite binaire pour minimiser le nombre de nucléotides requis.

            • [^] # Re: Encodage

              Posté par . Évalué à  2 .

              Peut-être que c'est possible de faire un codage n parmi m. En gros, tu prends toute les séquences de 5 nucléotides (soit 45) et tu interdis toutes les séquences problématiques (il reste par exemple 35 possibilité).

              "La liberté de tout dire n'a d'ennemis que ceux qui veulent se réserver le droit de tout faire". "La question n'est pas de savoir si vous avez quelque chose à cacher. La question est de savoir si c'est nous qui contrôlons le gouvernement ou l'inverse

      • [^] # Re: Encodage

        Posté par (page perso) . Évalué à  10 .

        En effet, en particulier les séquences riches en GC

        Oh non pas encore un troll sur Java…

    • [^] # Re: Encodage

      Posté par . Évalué à  0 .

      En fait ils codent 1 bit par nucléotide et peuvent se servir de l'autre pour donner un sens de lecture.

      • [^] # Re: Encodage

        Posté par . Évalué à  2 .

        Ça serait totalement inutile, il faut beaucoup moins d'information que ça pour donner un sens de lecture. La réponse est au dessus, ils se servent de la redondance pour maintenir une structure de l'ADN compatible avec la lecture et la copie sans trop d'erreurs. Ça reste tout de même très sous-optimal.

  • # C'est donc ca !

    Posté par (page perso) . Évalué à  4 .

    Je comprends mieux l'offre d'Amazon, Glacier, qui offre des capacités énormes de stockage a condition d'attendre un peu pour pouvoir les lire.

    C'est en tout cas une excellente nouvelle pour le stockage a long terme. On pourrait imaginer, demain, un espace de stockage qui se régénère lorsqu'il est blessé, comme un être vivant classique.

    • [^] # Re: C'est donc ca !

      Posté par (page perso) . Évalué à  5 .

      un espace de stockage qui se régénère lorsqu'il est blessé

      Et qui mute en adaptant les données ?

      Z'ont plus qu'a écrire des programmes (de virus !-), laisser les mutations se faire en stressant un peu la nature, puis laisser la sélection naturelle opérer pour avoir le programme le plus efficace.

    • [^] # Re: C'est donc ca !

      Posté par . Évalué à  3 .

      un espace de stockage qui se régénère lorsqu'il est blessé, comme un être vivant classique

      un peu comme un RAID en fait, parce que question organisme biologique l'ADN est redondant dans chaque cellule …

    • [^] # Re: C'est donc ca !

      Posté par . Évalué à  1 .

      Cela ne se fait pas encore comme un être vivant mais ça existe plus ou moins, cf ZFS (et ce n'est pas le seul).

  • # cpu

    Posté par . Évalué à  5 .

    va falloir mettre à jour les cpu (et les batteries) pour pouvoir faire de l'indexation profonde sur de telles quantités (…)

  • # Vivement le futur!

    Posté par (page perso) . Évalué à  10 .

    "Vous avez demandé à faire un copier-coller. Cette opération nécessite un clonage de brins d'ADN.
    Veuillez insérer de la bouffe dans l'emplacement prévu à cet effet de votre ordinateur"

    -------------->[ ]

  • # débit

    Posté par . Évalué à  5 .

    c'est bien de pouvoir backuper le web tous les jours :)

    mais quels sont les débits de lecture et d'écriture, en séquentiel ou en aléatoire ?

    • [^] # Re: débit

      Posté par . Évalué à  4 .

      tu ne crois pas que ce soit un poil prématuré de parler de benchmarks ?

      • [^] # Re: débit

        Posté par . Évalué à  4 .

        Pour la lecture, on peut le calculer. Les tout derniers séquenceurs peuvent se faire un génome humain (3 Gbp) en une journée, ce qui fait du 35 kbp/s. Ça progresse plus vite que la loi de Moore, dans quelques années, ça sera probablement instantané.

        Pour la copie, la DNA polymérase fait du 50 bp/s à 1000 bp/s, mais bien sûr on va stocker sur plusieurs molécules d'ADN, un peu comme si on parallélisait (au final, la copie est beaucoup plus rapide que la lecture). La vitesse dépend de la polymérase, c'est un compromis vitesse / fidélité.

        L'«écriture» est beaucoup plus compliquée. J'imagine que c'est l'étape bloquante du système.

        • [^] # Re: débit

          Posté par . Évalué à  4 .

          Désolé de la question bête, mais c'est quoi comme unité le bp?

          • [^] # Re: débit

            Posté par (page perso) . Évalué à  5 .

            Base pair, traduit par paire de base (pb) en génétique

            Tiré de Wikipédia.

          • [^] # Re: débit

            Posté par . Évalué à  4 .

            L'ADN (en solution aqueuse) se présente la plupart du temps sous forme de double hélice constituée de deux brins complémentaires entrelacés. Les deux brins contiennent exactement la même information, l'un en positif, l'autre en négatif. L'unité d'information est donc la «paire de bases», une paire de bases étant constituée d'un nucléotide (monomère d'ADN) et de son complémentaire sur l'autre brin. C'est cette complémentarité qui permet la réplication fidèle de l'ADN : on sépare la double hélice en deux parties, et chaque partie garde la totalité de l'information (un peu comme si on avait deux disques durs, l'un étant l'image de l'autre avec tous les bits inversés: on prend n'importe quel disque, on le met dans un autre PC et on le resynchronise avec un autre disque vierge).

            D'ailleurs, en toute logique, on devrait dire «paire de nucléotides» et pas «paire de bases». Un nucléotide est constitué d'un phosphate (qui assure la liaison des nucléotides entre eux quand l'ADN est polymérisé), d'un sucre (le désoxyribose), et d'une base azotée (la partie variable du nucléotide). Le tout reste une sorte de gros Lego constitué de briques assemblées les unes aux autres.

      • [^] # Re: débit

        Posté par . Évalué à  3 . Dernière modification : le 23/08/12 à 19:36

        Si on parle de technologie de stockage d'avenir, il n'y a pas que la capacité qui compte, voir c'est même secondaire.

        Regarde le SSD, les capacités sont plutôt plus faibles que le disque magnétique et pourtant, c'est un net progrès par rapport au magnétique.
        donc sans aller jusqu'au benchmark, il faudrait quand même donner un ordre de grandeur des différents aspects et ne pas se limier à la capacité "un million de fois supérieure".

        Les réactions chimiques sont très lentes par rapport aux changements d'états électroniques ou magnétiques. c'est pire pour les réactions biochimiques.

        Alors un système de stockage un million de fois plus grand ne sert à rien si on ne peu pas le remplir dans un temps acceptable.

        En tout cas, merci arnaudus pour ses éléments.

        • [^] # Re: débit

          Posté par (page perso) . Évalué à  1 .

          Pourtant, on utilise toujours du stockage sur cassettes, par exemple pour des sauvegardes qu'on va archiver mais qu'on a pas besoin de lire souvent et pas besoin d'accéder rapidement. Mais aussi pour les gros calculs scientifiques on peut avoir recours à des données sur cassettes (par exemple au Tera-100 ils ont un robot pour charger les cassettes).

          Certes le séquençage d'ADN est encore plus lent qu'une lecture sur cassette, mais c'est pour dire que le stockage "gros mais lent" trouve quand même son application.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.