Skip to content. | Skip to navigation

Emergences

Lettre d'information n° 31

Image emergences pour impression
Personal tools
You are here: Home 2014 Lettre d'information n° 31 Le génome de la framboise sur Raspberry Pi
Document Actions

Le génome de la framboise sur Raspberry Pi

Des scientifiques viennent de parvenir à assembler les 400 millions de paires de bases du génome de la framboise sur un simple Raspberry Pi, un mini-ordinateur disposant seulement de 512 Mo de Ram. Objectif de cette performance : démontrer le très peu de mémoire vive nécessaire à la nouvelle génération de logiciels mis au point par Genscale, une équipe de bio-informatique au centre de recherche Inria de Rennes. Cette nouvelle technologie est mise à disposition des biologistes dans GATB, une boîte à outils entièrement dédiée à l'assemblage génomique.

Des scientifiques viennent de parvenir à assembler les 400 millions de paires de bases du génome de la framboise sur un simple Raspberry Pi, un mini-ordinateur disposant seulement de 512 Mo de Ram. Objectif de cette performance : démontrer le très peu de mémoire vive nécessaire à la nouvelle génération de logiciels mis au point par Genscale, une équipe de bio-informatique au centre de recherche Inria de Rennes. Cette nouvelle technologie est mise à disposition des biologistes dans GATB, une boîte à outils entièrement dédiée à l'assemblage génomique.

Le séquençage génomique devient une opération de routine. Cela grâce à ce qu'on appelle les NGS, les séquenceurs de nouvelle génération. Relativement peu coûteux, ces appareils produisent des volumes de données jusqu'alors inconnus. La molécule d'ADN est exprimée en millions de suites de caractères où se succèdent les lettres A C G T. Problème : impossible d'exploiter directement ces données à la sortie des machines. Ce sont de petits fragments de textes qu'il faut ensuite comparer puis assembler pour recomposer la séquence. Ce travail de puzzle s'effectue à l'aide de logiciels spécialisés. Ce sont les assembleurs génomiques. Mais ces outils présentent encore un défaut : il leur faut un cluster pour pouvoir fonctionner. Du coup, face à une production de données désormais massive, la phase d'assemblage constitue le goulet d'étranglement dans la chaîne de production des biologistes.

Le fond du problème c'est l'empreinte mémoire,” résume Dominique Lavenier, responsable de GenScale (1), une équipe de recherche qui s'est donnée pour objectif d'améliorer les algorithmes utilisés par ce type de logiciels. Au terme d'un long travail portant sur l'optimisation du code, les scientifiques publient une suite d'applications capables de travailler avec très peu de Ram (2). “Environ 20 à 50 fois moins que les logiciels existants.” Le bond dans les performances est tel qu'il pourrait bien changer la donne pour les biologistes. “Ils vont pouvoir assembler sur des ordinateurs de bureau et non plus seulement sur des clusters.

Frugalité en Ram

Afin de démontrer la frugalité en Ram de leurs nouveaux algorithmes, les chercheurs sont allés jusqu'à tenter de faire fonctionner l'une des applications sur un Raspberry Pi, un ordinateur rudimentaire à peine plus gros qu'une carte de crédit et ne disposant que de 512 Mo de mémoire vive. “Guillaume Collet est le post doctorant qui a eu cette idée et s'est chargé de l'implémentation du logiciel sur un aussi petit ordinateur.” La première vraie expérience a été menée sur C. elegans. Le génome de ce ver de vase microscopique comporte 100 millions de paires de base. Il a été assemblé en 19 heures. “Cela n'a pas fonctionné du premier coup. Nous avons dû optimiser l'algorithmique encore davantage. Et ainsi, cela a fini par passer.” Clin d'oeil au Raspberry (3), les scientifiques ont ensuite entrepris d'assembler le génome de la framboise. Soit 400 millions de paires de base. Environ un dixième du génome humain. Professeur à l'université Brigham Young, dans l'Utah, Joshua Udall s'est chargé de fournir les données issues du séquençage. L'assemblage a nécessité ensuite une bonne semaine. Mais l'opération a marché, ouvrant ainsi la porte à du fonctionnement en routine sur de simples ordinateurs de bureau.

Deux étudiants de thèse ont joué un rôle clé dans ces travaux. “Rayan Chikhi et Guillaume Rizk ont amené les idées fondatrices (4). Trois chercheurs en informatique de l'université Paris-Est Marne-la-Vallée ont aussi apporté une contribution très intéressante pour l'optimisation du code (5). Au bout d'un moment, il est devenu clair qu'il y avait dans ces résultats de recherche la base pour un vrai logiciel susceptible de rendre des services à la communauté scientifique.

Composer de nouvelles applications

L'ANR décide alors de soutenir cette idée avec un financement de 180 000 € pour transformer le prototype de recherche en un outil complètement opérationnel. Le but est aussi d'encourager un éventuel transfert de technologie vers l'industrie. Cette aide a permis le recrutement d'un ingénieur qui a d'ailleurs complètement repensé l'organisation du logiciel. “Erwan Drezen a restructuré en construisant des librairies qui deviennent les bases de nos applications. Avec du recul, c'est très pertinent. À l'aide de ces librairies, il suffit désormais de quelques jours de travail pour concevoir de nouveaux outils.
 
Ces librairies feront partie de la boîte à outils. Ce qui permettra donc aux programmeurs de composer eux-mêmes rapidement leurs propres applications d'assemblage haut-débit fonctionnant sur faible empreinte mémoire. “Et nous les encourageons d'ailleurs à le faire, indique Dominique Lavenier. En effet, l'assemblage d'une bactérie ou d'un mammifère requiert des approches différentes. Donc des outils différents. C'est pourquoi dans notre vision des choses, l'assemblage génomique devrait s'effectuer avec une multitude d'assembleurs spécialisés en fonction d'une cible précise.


- - - -
Notes :
(1) Scalable Optimized and Parallel Algorithms for Genomics. GenScale est une équipe-projet Inria/ENS Rennes /Université Rennes 1, commune à l'Irisa (UMR CNRS 6074). Guillaume Collet est membre de Dyliss, une équipe-projet Inria/CNRS/Université Rennes 1, commune à l'Irisa.

(2) Random Access Memory. La RAM est utilisée entre autre comme espace de stockage temporaire pour les applications.

(3) Raspberry : framboise en anglais.

(4) Lire : R. Chikhi, G. Rizk. Space-efficient and Exact de Bruijn Graph Representation Based on a Bloom Filter, Algorithms for Molecular Biology 2013, 8:22.

(5) Grégory Kucherov est chercheur dans l'équipe  AlgoB, au Laboratoire d'Informatique Gaspard-Monge, Université Paris-Est Marne-la-Vallée. Lire : K.l Salikhov, G. Sacomoto, G. Kucherov, Using Cascading Bloom Filters to Improve the Memory Usage for de Brujin Graphs, Algorithms in Bioinformatics, Lecture Notes in Computer Science, Volume 8126, 2013, pp 364-376