Contrarié par les diagrammes de Venn ? Découvrez les diagrammes UpSet

Titre incluant un moyen mné­mo­tech­nique ;D

Avec ses cercles entre­croi­sés, on ne pré­sente plus le célèbre dia­gramme de Venn. Cette repré­sen­ta­tion est uti­li­sée dans le cas où l'on sou­haite repré­sen­ter le recou­pe­ment de don­nées de nombre fini selon plu­sieurs variables qua­li­ta­tives. De façon plus simple lorsqu'on a 2 variables qua­li­ta­tives : com­bien d'éléments pré­sents dans la caté­go­rie A sont éga­le­ment pré­sents ou non dans la caté­go­rie B

Pourquoi des diagrammes "de Venn" ?

S'il est sûr que ces dia­grammes repré­sen­tant des pro­por­tions et leur par­tage date d'avant 1918, c'est à cette date que Cla­rence Irving Lewis (phi­lo­sophe et logi­cien) uti­lise le terme de "dia­gramme de Venn". Il fait en cela réfé­rence à John Venn (mathé­ma­ti­cien et logi­cien) qui, en 1880, a écrit un article trai­tant de la géné­ra­li­sa­tion des "cercles eulé­riens" [1] de Leon­hard Euler (mathé­ma­ti­cien et phy­si­cien). Pour cela, il modi­fie quelques règles :

  • Les cercles peuvent être rem­pla­cés par des courbes fer­mées simples (ellipses, hari­cots, etc.)
  • Une fois fixée, cette forme doit être la même pour toutes les caté­go­ries
  • Les zones vides doivent être hachu­rées
  • Les zones pleines doivent êtres sym­bo­li­sées (rem­plis­sage de cou­leur, signe gra­phique, etc.)

Dif­fé­rence entre les dif­fé­rents dia­grammes issus d'une géné­ra­li­sa­tion pro­gres­sive des cercles d'Euler | CC-BY Gwe­naëlle L.

Si ces dia­grammes sont très utiles lorsqu'on a peu de caté­go­ries, c'est-à-dire entre 2 et 4, il devient rapi­de­ment impos­sible de les uti­li­ser au-delà selon les règles édic­tées par Venn. C'est pour­quoi en 1989, A.W.F. Edwards sup­pri­me­ra notam­ment la règle des formes iden­tiques pour toutes les caté­go­ries afin de pou­voir aller jusque 6 caté­go­ries sur un même dia­gramme dit "d’Edwards-Venn" [2]. Tou­te­fois, par abus de lan­gage, il est cou­rant de dési­gner ces 3 types de repré­sen­ta­tion par "dia­gramme de Venn" (ce que je ne man­que­rai pas de faire par la suite).

Cepen­dant, si on peut saluer l'effort d'adaptation, il reste un pro­blème majeur à leur uti­li­sa­tion avec autant de caté­go­ries : la lisi­bi­li­té. En effet, la com­bi­nai­son de recou­pe­ments est telle qu'il devient humai­ne­ment dif­fi­cile d’appréhender la tota­li­té de l'information en même temps (sur­tout quand les formes ne sont pas pro­por­tion­nelles à la quan­ti­té qu'elles repré­sentent. Cela donne lieu à ces dia­grammes de Venn (plus ou moins comiques) qu'il faut abso­lu­ment évi­ter :

À gauche, le célèbre bana­na Venn [3] (CC-BY-NC) et à droite, le pro­téome du lait [4] (CC-BY)

Si cer­tains iront jusqu'à faire de la 3D afin de modé­li­ser tou­jours plus de caté­go­ries, nous nous arrê­te­rons pour notre part ici (vos yeux me remer­cie­ront). Mais alors, com­ment faire lorsqu'on est confron­té à plus de 4 caté­go­ries et qu'on sou­haite tout de même visua­li­ser leur recou­pe­ment ?

L'avènement des diagrammes UpSet

En 2014, une équipe dévoile une nou­velle visua­li­sa­tion pour palier ce pro­blème : les dia­grammes UpSet [5]. Par­tant du constat d'une revue récente sur le sujet [6], cette équipe s'est lan­cé le défi de rendre lisible ces infor­ma­tions à l'aide d'une visua­li­sa­tion en deux par­ties (dans sa ver­sion la plus simple) : une matrice et un bar­plot.

Afin de faci­li­ter votre com­pré­hen­sion des expli­ca­tions qui vont suivre, usons d'un exemple cou­rant en bio­in­for­ma­tique : les groupes de gènes. Ima­gi­nez que vous venez par vos ana­lyses (étude de voie méta­bo­lique, co-expres­sion, ANOVA, etc.) d'isoler plu­sieurs groupes de gènes d’intérêt. Vous sou­hai­tez à pré­sent voir quelle part de gènes se recoupe entre vos dif­fé­rents groupes (clus­ters).

Exemple de dia­gramme upset basique

La matrice (ici en magen­ta) est char­gée de repré­sen­ter les inter­sec­tions entre les dif­fé­rents sets consi­dé­rés. Chaque point colo­ré cor­res­pond au groupe qui est pris en compte. Les lignes les tra­ver­sant per­mettent quant à elles d'aider visuel­le­ment à la lec­ture (notre œil ayant la fâcheuse ten­dance à sau­ter d'une colonne à l'autre). La publi­ca­tion ini­tiale nous offre même un paral­lèle entre la sym­bo­lique des dia­grammes UpSet et des dia­grammes de Venn :

Fig 6. de la publi­ca­tion sur les Upset.  La matrice de com­bi­nai­son enco­dant les rela­tions entre les dif­fé­rents sets, agré­ga­tions et inter­sec­tions exclu­sives. (a) Chaque ligne cor­res­pond à une inter­sec­tion exclu­sive qui contient les élé­ments des sets indi­qués par des cercles noirs, mais pas les autres en plus clair. L'équivalent en dia­gramme de Venn est pré­sen­té sur la gauche. (b) Groupes d'aggrégation d'intersections exclu­sives fai­sant sens. Le pre­mier aggré­gat montre ses inter­sec­tions exclu­sives, tan­dis que le second et le troi­sième sont repliés.

Le bar­plot sert quant à lui à rap­por­ter gra­phi­que­ment cette infor­ma­tion de pro­por­tion par­ta­gée entre les groupes (qui man­quait tant aux dia­grammes de Venn). Chaque barre témoigne par sa hau­teur du nombre de gènes par­ta­gés dans la com­bi­nai­son de la matrice de même colonne (dans le cas des groupes seuls, il s'agit de la pro­por­tion de gènes uniques à ce groupe).

L'avantage de cette repré­sen­ta­tion, c'est qu'on peut lui rajou­ter un nombre impor­tant d'informations com­plé­men­taires. Ain­si il n'est pas rare de voir se rajou­ter un second bar plot qui indique la taille totale de cha­cun des sets (ici nos groupes). Mais on peut aller encore plus loin et ce sont évi­dem­ment les auteurs des dia­grammes UpSet qui en font la meilleure preuve grâce à leur outil en ligne. Vous pou­vez ain­si ajou­ter des infor­ma­tions d’agrégation de cer­tains groupes (exemple : dif­fé­rentes condi­tions expé­ri­men­tales) ou encore de dis­tri­bu­tion des don­nées si celles-ci sont quan­ti­ta­tives.

Fig. 12 de la publi­ca­tion sur les Upset.  Une agré­ga­tion par degré des sets révèle que l'intersection de degré 8 (le maxi­mum) est la plus grande inter­sec­tion non vide pour les pays expor­tant des pro­duits tex­tile mas­cu­lins.

Présentation du package R UpSetR

Une fois n'est pas cou­tume, on ne va pas vous lais­ser repar­tir sans un petit exemple de code per­met­tant de géné­rer ces magni­fiques dia­grammes. Si je vous pré­sente aujourd'hui une implé­men­ta­tion en R, sachez que bien d'autres lan­gages ont leur propre package/​bibliothèque pour faire de même (python par exemple avec UpSet­Plot).

Repre­nons notre exemple de tout à l'heure et géné­rons de faux gènes et de faux groupes de ceux-ci :

À par­tir de cette liste de groupes de gènes, on va sim­ple­ment effec­tuer une trans­for­ma­tion afin d'obtenir une matrice présence/​absence à l'aide de reshape2 :

Et voi­ci notre dia­gramme UpSet en quelques lignes de code !

Dia­gramme upset issu de nos faux groupes de gènes

Et sur un cas concret ?

Repre­nons ce dia­gramme de Venn sur le pro­téome du lait selon le stade de lac­ta­tion et trans­for­mons le en dia­gramme upset !

  • 1ère étape : récu­pé­rer les don­nées. Pour cela, télé­char­gez le data­set n°2 à cette adresse.
Extrait du data­set n°2 sur le pro­teome selon le stade de lac­ta­tion
  • 2ème étape : le job habi­tuel du bioin­fo, refor­ma­ter cor­rec­te­ment les don­nées qui ont été for­ma­tées en dépit du bon sens de façon peu adap­tée à un trai­te­ment ulté­rieur. Pour cela on va conca­té­ner les pro­téines pré­sentes par stade de lac­ta­tion
  • 3ème étape : le upset dia­gramme tout en sim­pli­ci­té !
Reprise du dia­gramme de Venn de la figure de la répar­ti­tion des pro­téines du lait selon le stade de lac­ta­tion en dia­gramme upset

On retrouve bien toutes nos infor­ma­tions sur la répar­ti­tion des pro­téines et celles en com­mun (par exemple les 105 si impor­tantes dans la publi­ca­tion) mais avec en plus l'information sur les pro­por­tions.

Il est éga­le­ment pos­sible de jouer très faci­le­ment sur les échelles afin d'améliorer la visua­li­sa­tion.

Même dia­gramme upset avec les deux échelles en log10

Comme on peut le voir sur le pre­mier dia­gramme, on constate plus faci­le­ment la répar­ti­tion des pro­téines et le dés­équi­libre pré­sent ain­si que le taux de recou­pe­ment.

Conclusion

Les dia­grammes de Venn ne sont pas à jeter lorsqu'il s'agit de faire des recou­pe­ments de 2 ou 3 caté­go­ries, mais idéa­le­ment, il fau­drait asso­cier une pro­por­tion­na­li­té entre taille des formes et conte­nu.

Les dia­grammes UpSet sont quant à eux vos nou­veaux amis lorsqu'il s'agira de repré­sen­ter vos recou­pe­ments à votre pro­chaine présentation/​ article !

Enfin, est bon de rap­pe­ler qu'il est impor­tant de défi­nir le mes­sage qu'on sou­haite faire pas­ser afin d'adapter la visua­li­sa­tion. Faire un upset pour deux caté­go­ries sera ain­si trop com­plexe, et un dia­gramme upset aus­si com­plet que celui de la figure 12 sera trop long à ana­ly­ser pour une dia­po­si­tive dans une pré­sen­ta­tion.

Sachez esti­mer 😉

Références

Pour aller plus loin


Mer­ci aux relec­teurs schneu, Norore, Crea­to­rOf­Moon, et aze­rin pour leur temps sur cet article !



Pour continuer la lecture :


Commentaires

5 réponses à “Contrarié par les diagrammes de Venn ? Découvrez les diagrammes UpSet”

  1. On a tes­té UpSet avec un très gros jeu de don­nées, genre 35 000 x 250 et on l'a cra­shé :s. C'est utile mais a par­tir de 100 x 100 ca com­mence à être ingé­rable

    1. À quoi cor­res­pondent les 35 000 et 250 ? Si on ima­gine qu'il s'agisse de 35 000 gènes et 250 groupes (ce que j'ai rare­ment vu), il est néces­saire de se deman­der ce qu'on cherche à obte­nir en regar­dant le recou­pe­ment. À sup­po­ser qu'on puisse plot­ter un tel dia­gramme upset, il me paraît dif­fi­cile de l'interpréter tant les varia­tions seront nom­breuses et fines.
      Il peut être inté­res­sant de réduire la dimen­sion du jeu de don­nées. Peut-on regrou­per les 250 en X meta-groupes (X condi­tions par ex) ? Ou bien sans connaître de groupe pré-défi­ni, peut-on en regrou­per cer­tains par une PCA ?

      Si par contre les 250 s'avéraient être des indi­vi­dus, il ne me semble pas qu'un dia­gramme upset ou de venn soit per­ti­nent comme visua­li­sa­tion des dif­fé­rences. Il fau­drait alors pré­fé­rer une matrice de cor­ré­la­tion (ou tout autre score de simi­la­ri­té)

      1. Avatar de Yoann M.

        Je me per­mets de rebon­dir sur la réponse de Gwe­naelle.
        Avant toute pro­duc­tion de visua­li­sa­tion il est pri­mor­dial de bien ana­ly­ser ce que l'on cher­cher à faire res­sor­tir et quel modèle de visua­li­sa­tion semble être le plus per­ti­nent pour cela. Nous en par­lions dans cet article https://​bioin​fo​-fr​.net/​l​a​-​d​a​t​a​-​v​i​s​u​a​l​i​s​a​t​i​o​n​-​s​a​n​s​-​a​u​c​u​n​e​-​c​o​m​p​e​t​e​n​c​e​-​e​n​-​p​r​o​g​r​a​m​m​a​t​i​o​n​-​e​t​-​e​n​-​g​r​a​p​h​i​sme que je vous invite à (re)lire si cela peut vous aider à solu­tion­ner votre pro­blème.

  2. Hon­ne­te­ment je pense m'en ser­vir dans le pro­chain pro­jet du labo­ra­toire. Mer­ci beau­coup pour cette pré­sen­ta­tion.

  3. Woah, mais pour­quoi n'en ais-je jamais enten­du par­ler avant ?! J'aime beau­coup cette repré­sen­ta­tion, et je suis éton­née de ne pas l'avoir croi­sée plus sou­vent. Je la repren­drais si besoin est.
    Mer­ci beau­coup pour cet article !

Laisser un commentaire