Découverte :
Introduction à Circos

Circos poster

La visualisation de données est un problème récurrent dans un grand nombre de disciplines. En bioinformatique, il est souvent difficile de représenter de manière efficace des quantités massives de données. Une « bonne » représentation graphique doit être adaptée au type de données que l’on souhaite visualiser et surtout aux résultats que l’on souhaite mettre en évidence. Par exemple, l’histogramme est un bon moyen d'étudier la répartition d’une variable, un graphe  est un moyen de visualisation efficace pour représenter des interactions, etc. En complement du très bon article de ZaZoOo sur la visualisation de données, je souhaitais vous presenter un petit outil que j'ai découvert il y a quelques années et qui m'a rendu bien des services.

Circos est un puissant outil de visualisation de données particulièrement adapté à la représentation de données génétiques. C'est un outil flexible, capable de gérer un grand nombre de données et produisant des résultats de très bonne qualité. Bien qu'il ait déjà fait la couverture de Nature ou encore Science, Circos reste un outil assez méconnu (enfin, du côté de chez moi du moins...).

A ses début, Circos a été développé dans le but d'améliorer la visualisation de données génétiques (plus particulièrement les caryotypes), et une des particularités de cet outil est de représenter les données de manière circulaire. La forme circulaire permet de faciliter la représentation d'interactions entre différents éléments, ce qui est très intéressant dans notre domaine. Son utilisation ne se limite pas qu'à la bioinformatique, n'importe quel type de données peut être utilisé. Par exemple, la compagnie de transport DHL l'a même utilisé dans une de ses campagnes publicitaires. Les possibilités sont assez grandes et je vous invite vraiment à consulter le site du développeur pour mieux vous rendre compte de ce que ça donne.

Exemple d'utilisation: 

La documentation officielle est très bien faite et permet une prise en main assez rapide. Il existe aussi d'excellents tutoriaux qui fournissent de bons exemples d'utilisation.

Circos est un outil en ligne de commande qui requiert deux fichiers d'entrée :

  • Un fichier de configuration (*.conf) qui permet de personnaliser intégralement le rendu final (couleurs, espaces, angles, etc). Les options paramétrables sont très nombreuses et il est souvent plus facile de démarrer avec des fichiers de configuration fournis avec les sources ou dans les tutoriaux du site officiel.
  • Un fichier contenant vos données, généralement au format TSV (tab-separated values).

Dans un billet précédent, j'avais rapidement parlé d'analyse de liaison génétique (genetic linkage). C'est justement un très bon exemple d'utilisation de Circos. Pour rappel, le genetic linkage, permet d'identifier des relations entre certaines parties du génome, plus particulièrement d'analyser comment certains gènes sont transmis à la descendance. Les liaisons génétiques se calculent sous forme de scores qui peuvent facilement être représentés à l'aide de Circos.

Crédit image : Mica

Dans cet exemple, j'ai simplement édité un fichier de configuration extrait des sources pour modifier quelques paramètres, et déjà, le rendu est plutôt sympa.

Les chromosomes sont placés sur le contour du cercle (avec respect de leur taille, caryotype humain). Les noms des gènes d'intérêts apparaissent et permettent d'identifier facilement les interactions. J'ai également ajouté un histogramme (extérieur du cercle) représentant le score. Le résultat peut certainement être amélioré pour rendre la représentation encore plus attractive mais le but était de vous donner un exemple d'utilisation. A noter que les résultats générés ne sont pas dynamiques, il s'agit d'images (différents formats possibles; TIFF, PNG, SVG...). Il est possible d'ajouter un peu d'interactivité, en rendant l'image "cliquable" grace a l'utilisation de map html, la démarche est expliquée dans ce tutoriel.

Je viens de découvrir qu'il existait désormais une version en-ligne. Personnellement, je n'ai pas eu l'occasion de la tester mais l'interface me semble un peu moins flexible qu'une installation locale.

J'espère que cela vous donnera quelques idées pour vos futurs projets !

Les images proviennent de Circos.

Laisser un commentaire