Accessibility Tools

- Le blog participatif de bioinformatique francophone depuis 2012 -

Introduction à Circos

Cir­cos pos­ter

La visua­li­sa­tion de don­nées est un pro­blème récur­rent dans un grand nombre de dis­ci­plines. En bio­in­for­ma­tique, il est sou­vent dif­fi­cile de repré­sen­ter de manière effi­cace des quan­ti­tés mas­sives de don­nées. Une « bonne » repré­sen­ta­tion gra­phique doit être adap­tée au type de don­nées que l’on sou­haite visua­li­ser et sur­tout aux résul­tats que l’on sou­haite mettre en évi­dence. Par exemple, l’histogramme est un bon moyen d'étudier la répar­ti­tion d’une variable, un graphe  est un moyen de visua­li­sa­tion effi­cace pour repré­sen­ter des inter­ac­tions, etc. En com­plé­ment du très bon article de ZaZo0o sur la visua­li­sa­tion de don­nées, je sou­hai­tais vous pré­sen­ter un petit outil que j'ai décou­vert il y a quelques années et qui m'a ren­du bien des ser­vices.

Cir­cos est un puis­sant outil de visua­li­sa­tion de don­nées par­ti­cu­liè­re­ment adap­té à la repré­sen­ta­tion de don­nées géné­tiques. C'est un outil flexible, capable de gérer un grand nombre de don­nées et pro­dui­sant des résul­tats de très bonne qua­li­té. Bien qu'il ait déjà fait la cou­ver­ture de Nature ou encore Science, Cir­cos reste un outil assez mécon­nu (enfin, du côté de chez moi du moins…).

A ses début, Cir­cos a été déve­lop­pé dans le but d'améliorer la visua­li­sa­tion de don­nées géné­tiques (plus par­ti­cu­liè­re­ment les caryo­types), et une des par­ti­cu­la­ri­tés de cet outil est de repré­sen­ter les don­nées de manière cir­cu­laire. La forme cir­cu­laire per­met de faci­li­ter la repré­sen­ta­tion d'interactions entre dif­fé­rents élé­ments, ce qui est très inté­res­sant dans notre domaine. Son uti­li­sa­tion ne se limite pas qu'à la bio­in­for­ma­tique, n'importe quel type de don­nées peut être uti­li­sé. Par exemple, la com­pa­gnie de trans­port DHL l'a même uti­li­sé dans une de ses cam­pagnes publi­ci­taires. Les pos­si­bi­li­tés sont assez grandes et je vous invite vrai­ment à consul­ter le site du déve­lop­peur pour mieux vous rendre compte de ce que ça donne.

Exemple d'utilisation : 

La docu­men­ta­tion offi­cielle est très bien faite et per­met une prise en main assez rapide. Il existe aus­si d'excellents tuto­riels qui four­nissent de bons exemples d'utilisation.

Cir­cos est un outil en ligne de com­mande qui requiert deux fichiers d'entrée :

  • Un fichier de confi­gu­ra­tion (*.conf) qui per­met de per­son­na­li­ser inté­gra­le­ment le ren­du final (cou­leurs, espaces, angles, etc). Les options para­mé­trables sont très nom­breuses et il est sou­vent plus facile de démar­rer avec des fichiers de confi­gu­ra­tion four­nis avec les sources ou dans les tuto­riels du site offi­ciel.
  • Un fichier conte­nant vos don­nées, géné­ra­le­ment au for­mat TSV (tab-sepa­ra­ted values).

Dans un billet pré­cé­dent, j'avais rapi­de­ment par­lé d'analyse de liai­son géné­tique (gene­tic lin­kage). C'est jus­te­ment un très bon exemple d'utilisation de Cir­cos. Pour rap­pel, le gene­tic lin­kage, per­met d'identifier des rela­tions entre cer­taines par­ties du génome, plus par­ti­cu­liè­re­ment d'analyser com­ment cer­tains gènes sont trans­mis à la des­cen­dance. Les liai­sons géné­tiques se cal­culent sous forme de scores qui peuvent faci­le­ment être repré­sen­tés à l'aide de Cir­cos.

Cré­dit image : Mica

Dans cet exemple, j'ai sim­ple­ment édi­té un fichier de confi­gu­ra­tion extrait des sources pour modi­fier quelques para­mètres, et déjà, le ren­du est plu­tôt sym­pa.

Les chro­mo­somes sont pla­cés sur le contour du cercle (avec res­pect de leur taille, caryo­type humain). Les noms des gènes d'intérêts appa­raissent et per­mettent d'identifier faci­le­ment les inter­ac­tions. J'ai éga­le­ment ajou­té un his­to­gramme (exté­rieur du cercle) repré­sen­tant le score. Le résul­tat peut cer­tai­ne­ment être amé­lio­ré pour rendre la repré­sen­ta­tion encore plus attrac­tive mais le but était de vous don­ner un exemple d'utilisation. A noter que les résul­tats géné­rés ne sont pas dyna­miques, il s'agit d'images (dif­fé­rents for­mats pos­sibles ; TIFF, PNG, SVG…). Il est pos­sible d'ajouter un peu d'interactivité, en ren­dant l'image "cli­quable" grâce a l'utilisation de map html, la démarche est expli­quée dans ce tuto­riel.

Je viens de décou­vrir qu'il exis­tait désor­mais une ver­sion en-ligne. Per­son­nel­le­ment, je n'ai pas eu l'occasion de la tes­ter mais l'interface me semble un peu moins flexible qu'une ins­tal­la­tion locale.

J'espère que cela vous don­ne­ra quelques idées pour vos futurs pro­jets !

Les images pro­viennent de Cir­cos.

Vous avez aimé ? Dites-le nous !

Moyenne : 5 /​ 5. Nb de votes : 1

Pas encore de vote pour cet article.

Partagez cet article




Commentaires

Laisser un commentaire

Pour insérer du code dans vos commentaires, utilisez les balises <code> et <\code>.