Une boîte à outils graphique pour visualiser les données du génome

Le monde de la génomique ne manque pas d’outils de visualisation. Mais en tant que nouvelles méthodes et types de données, les techniques existantes peuvent avoir du mal à faire face. Désormais, un outil connu sous le nom de Gosling permet aux bioinformaticiens de créer des applications capables d’afficher des informations génomiques avec le même niveau de flexibilité que les développeurs attendent d’autres outils de programmation graphique.

Publié pour la première fois en 2020 par le bioinformaticien Nils Gehlenborg et son équipe de la Harvard Medical School à Boston, Massachusetts, Gosling signifie «grammar of scalable linked interactive nucleotide graphics»1. Mais le nom est aussi un clin d’œil au biologiste structuraliste Raymond Gosling, qui, avec Rosalind Franklin, a capturé la célèbre “Photographie 51”, qui a révélé la structure de l’ADN.

Gosling est ce qu’on appelle une grammaire. Il est implémenté dans des bibliothèques de programmation qui fournissent une syntaxe flexible pour décrire les régions et les interactions génomiques et comment elles doivent être disposées sur une page Web. Les chercheurs et les bioinformaticiens peuvent utiliser ces bibliothèques pour créer des visualisations interactives et évolutives qu’ils peuvent partager avec leurs collègues et pour créer des outils d’analyse génétique sur mesure.

Les vues créées par Gosling peuvent être liées, de sorte que la sélection d’une région dans un panneau met en surbrillance la même région dans un autre. Ils peuvent également être panoramiques, manipulés et agrandis et dézoomés du niveau chromosomique jusqu’aux nucléotides uniques. “La représentation visuelle s’adapte au niveau de zoom”, explique Gehlenborg – une fonctionnalité appelée zoom sémantique. Un environnement de test en ligne fournit des visualisations que les utilisateurs peuvent étendre pour créer et exporter leurs propres graphiques. Et les bibliothèques pour Python (Gos) et JavaScript (gosling.js) permettent à la bioinformatique de programmer les images directement dans les blocs-notes de calcul Jupyter et d’autres applications. Une version alpha R est sortie en juillet. Les bibliothèques sont utilisées pour relier systématiquement les ensembles de données à leurs visualisations, explique Tamara Munzner, informaticienne à l’Université de la Colombie-Britannique à Vancouver, au Canada. Les bibliothèques populaires telles que ggplot2 et Vega-Lite utilisent la “grammaire des graphiques” pour définir leurs visualisations. Mais ces outils peuvent être utilisés pour tout type de graphique, alors que Gosling est spécifiquement conçu pour les visualisations génomiques. « C’est comme Vega-Lite pour la génomique », dit Munzner.

Combler le fossé

Les outils de programmation pour les visualisations vont des fonctions basées sur des modèles qui utilisent une seule ligne de code pour créer un type de graphique standard à celles qui assemblent des visualisations pièce par pièce à partir de lignes et de formes géométriques, telles que la bibliothèque JavaScript D3.js. La version du modèle est facile à utiliser, mais relativement rigide ; l’autre offre beaucoup plus de personnalisation, mais est laborieux à utiliser.

“Gosling comble vraiment cet écart en facilitant la création de nouveaux outils dotés de composants de visualisation”, déclare Maria Nattestad, ingénieur logiciel chez Google à Mountain View, en Californie. Dans le cadre de sa recherche doctorale en 2015, Nattestad a développé un outil appelé SplitThreader, qui présente le génome dans une disposition circulaire connue sous le nom de graphique Circos, avec des lectures de séquençage sous forme d’arcs pour mettre en évidence les variations structurelles. Sans autre option, elle a dessiné ces éléments à partir de zéro, en utilisant D3.js pour spécifier l’emplacement et les dimensions de chaque ligne, rectangle et cercle. “C’était une telle courbe d’apprentissage”, dit-elle. “Il m’a fallu beaucoup de temps pour construire SplitThreader”, dit-elle, mais ajoute qu’il aurait probablement pu être construit beaucoup plus rapidement avec Gosling.

Gehlenborg dit que Gosling est né d’une revue de la littérature de 20192, au cours de laquelle son équipe a étudié le paysage de la visualisation du génome et construit une taxonomie pour les outils et leurs capacités. À partir de là, les chercheurs ont développé une syntaxe pour décrire systématiquement les visualisations que ces outils pouvaient faire. Gosling, explique Gehlenborg, “est une approche fondamentale pour assembler des visualisations génomiques en utilisant cette même taxonomie”.

Gosling encode les données à l’aide d’un format de texte brut appelé JavaScript Object Notation (JSON) et utilise un langage spécifique à la génomique pour compléter les termes plus généraux utilisés dans les bibliothèques graphiques standard. Gosling.js, Gos et g(R)osling utilisent ensuite cet encodage pour générer des fichiers dans leurs langages de programmation respectifs. La visualisation finale est dessinée dans un navigateur Web à l’aide d’un moteur de rendu et d’outils de formatage de fichiers développés par l’équipe de Gehlenborg pour visualiser les données chromosomiques à partir d’une technique appelée Hi-C3. Les visualisations sur gosling-lang.org fournissent des points de départ pour les tracés Circos, l’annotation des gènes, les cartes thermiques de conformation de la chromatine, la conservation évolutive et plus encore.

Le postdoc Sehi L’Yi, qui a dirigé le développement de Gosling, affirme que ce qui différencie Gosling des autres outils de visualisation, c’est son expressivité. Avec la plupart des outils, dit-il, les graphiques qui peuvent être créés et à quoi ils ressembleront sont prédéfinis. “Ce n’est vraiment pas facile de personnaliser les visualisations en tant qu’utilisateur.” Mais avec Gosling, les utilisateurs peuvent, par exemple, spécifier la couleur, les dimensions et l’emplacement du symbole utilisé pour représenter un centromère ou un intervalle génomique, puis le superposer sur un idéogramme d’un chromosome pour mettre en évidence une région d’intérêt.

Un espace intéressant

Une équipe d’étudiants à la maîtrise de l’Université de la Colombie-Britannique a décidé d’utiliser Gosling pour créer son projet final dans un cours de visualisation de données. “L’un de mes coéquipiers en avait entendu parler lors d’une conférence l’année dernière”, explique Armita Safa, membre de l’équipe. “Même pour quelqu’un qui n’a pas de formation en codage, il est relativement plus facile de travailler avec Gosling que la plupart des autres choses qui sont utilisées pour la visualisation”, dit-elle. Cela dit, elle note qu’ils ont d’abord eu du mal à extraire les données dont ils avaient besoin pour permettre aux utilisateurs de cliquer sur les régions et de créer de nouvelles visualisations.

Dominic Girardi, directeur produit de la société de visualisation de données Datavisyn à Linz, en Autriche, a également expérimenté Gosling pour créer un terrain de jeu interactif qui permet aux utilisateurs de filtrer un tableau de gènes par région génomique. L’entreprise – que Gehlenborg a cofondée – utilise maintenant Gosling pour générer des outils de visualisation pour ses entreprises clientes, bien qu’elle n’en ait pas encore terminé, dit Girardi.

Gosling n’est pas la seule bibliothèque de visualisation pour les données génomiques ; d’autres exemples incluent ggbio, gggenomes et gggenes, qui sont tous des extensions de la bibliothèque graphique ggplot2. Mais la plupart de ces outils créent des images statiques, dit Gehlenborg – des images plutôt que des visualisations interactives. Gehlenborg dit que les plans futurs pour Gosling incluent de lui donner une interface graphique, afin que les chercheurs puissent créer des visualisations en faisant glisser et en déposant des widgets sur une toile virtuelle plutôt que d’avoir à les programmer.

Robert Buels, qui dirige le développement d’un navigateur de génome à l’Université de Californie à Berkeley, affirme que Gosling “occupe un espace vraiment intéressant” dans la boîte à outils de visualisation génomique. “Vous pouvez obtenir beaucoup plus de personnalisation avec Gosling”, dit-il. Mais les utilisateurs n’ont pas besoin d’écrire autant de code que pour des outils tels que D3.js.

“C’est un créneau vraiment intéressant entre les deux choses”, dit-il, “qui, je pense, est un très bon ajout au domaine.”

Leave a Comment