Didacticiel :
Ce qu'il faut voir sur une carte de contact chromosomique

Vous ne connaissez pas le Hi-C ? Avant de commencer cette lecture, peut être vous faut-il la base, précédemment expliquée (maladroitement certes, premier article oblige) sur cet autre article.

 

Sur la fin de mon stage de Master 2, j'ai eu la joie de revenir faire un tour dans les cartes de contacts chromosomiques (Hi-C) pour diverses raisons. Par amusement (on va le dire ainsi), j'ai joué avec les échelles de couleur afin d’étudier l'impact sur les images obtenues. Cette petite session d'orgie colorimétrique m’a fait réaliser quel impact le choix des couleurs pouvait avoir sur la compréhension qu'on a des résultats. Et en bon scientifico-sceptique, cela m’a donné envie d'écrire un article sur un point très important de ce type de données.

Sur les cartes de Hi-C, dans une publication scientifique, que faut-il voir? Quels sont les points, les informations importantes à vérifier nous permettant de dire que nous ne sommes pas juste en train de nous faire totalement flouer par un biais technique du fait du choix de la palette de couleur, de notre vision et notre perception esthétique ?

 

Alors aujourd'hui, pour vous, je vais reprendre sommairement les points importants, et ce aussi bien dans le traitement bioinformatique que dans la visualisation des cartes, en tentant parfois de vous montrer ce qu'il faut regarder sur ces images.

 

Petit résumé rapide du Hi-C (pour les âmes perdues)

Le Hi-C est une technique permettant de mesurer les quantités de contacts de l'ensemble des régions de la chromatine dans le noyau des cellules d’un tissu donné. Cette information est résumée sous la forme de matrices triangulaires ordonnées par coordonnées chromosomiques et par chromosome. Chaque matrice représente ainsi les interactions relevées entre 2 loci subdivisés en échantillons discrets de tailles fixes (en paires de bases) avec le premier locus représenté par l’axe horizontal, et le second par l’axe vertical.

Cette matrice est issue de protocoles biologiques et bioinformatiques conséquents. Une fois obtenue, la carte est affichée sous forme d'image scalaire. Généralement, celle-ci est affichée en échelle logarithmique afin de pouvoir discerner quelque chose à l’œil, l’écart mesuré entre différentes valeurs étant possiblement très important.

Chaque case de la matrice représente l'ensemble des interactions entre deux régions i et j du génome. On définit ainsi la résolution comme la taille de l’échantillonnage réalisé.

 

Points techniques de pipeline

Parlons un peu de petites, hum... précisions qu'il faut toujours vérifier avec les cartes Hi-C si vous voulez être sûrs de comprendre la publication sur laquelle vous vous penchez.

 

Première question à se poser : Considérant la question scientifique posée, les cartes ont-elles une profondeur de séquençage suffisante pour y répondre ?

Oui, c'est un point basique, mais qui s’avère capital pour le Hi-C. Contrairement à d’autres techniques telles que le Chip-seq ou le Rna-seq qui demandent aujourd’hui une profondeur de séquençage relativement raisonnable pour obtenir un signal de qualité, le Hi-C demande un effort plus conséquent. En effet, les interactions capturées vont se dérouler dans une fraction plus ou moins importante des cellules de l’échantillon. Les interactions longues distances sont par exemple par nature très rares et donc difficiles à capturer. Au contraire, les interactions à courtes distances sont très fréquentes, et vont donc capitaliser une grande majorité des événements capturés. Ainsi, alors qu’en ChIP-Seq une couverture importante permettra de mieux discerner les sites de fixation plus faibles par rapport au bruit de fond, elle permettra avant tout pour le Hi-C de caractériser des interactions à plus longue distance par rapport au bruit de fond. A titre indicatif, dans une publication récente, Darrow & al [5] ont séquencé chez l’humain jusqu’à 1.75 milliards de reads appairés pour une condition pour capturer 1.19 milliards d’interactions dont 640 millions à plus de 20Kb de distance. Dans la publication de Gabdank & al[3] chez C.elegans, 6.2 millions de reads ont été obtenus permettant d’obtenir 800 000 contacts valides dans la carte.

Dans cette technique, ce n'est vraiment pas le nombre de reads obtenus qui compte. L’information importante, c’est le nombre d’interactions uniques capturées. L’idée étant d’avoir alors suffisamment de reads (de signal) pour être capable de mesurer des différences entre régions du génome. Petit rappel, le génome de la drosophile fait aux dernières nouvelles environ 120 Megabase couvrable (on va dire 100 pour l’exemple qui va suivre) alors que celui de l'homme fait environ 3 Gigabase. Donc il faut s'attendre à ce que pour des cartes de qualité égales, le génome de l'homme soit séquencé 3000² fois plus (arrondi de 3Gb/100Mb).

Cependant, en fonction de ce qui est cherché, une profondeur conséquente n'est pas toujours nécessaire. Elle permet d’obtenir des informations très fines sur des petites régions du génome. Aussi pour des analyses globales, une profondeur réduite peut être largement suffisante. Les premières publications ont permis de mesurer des interactions à l’échelle de la mégabase, là où avec un séquençage plus important il est possible d’avoir des cartes où les interactions sont observables à 5, voir 1 Kb !

 

Deuxième question plus taquine : Comment les reads ont-ils été filtrés ?

Cette question est bien plus difficile à appréhender mais a tout de même son importance. Autant le dire tout de suite, je ne suis pas un expert de la question. Voila cependant ce que je peux vous transmettre : chaque pipeline ne filtre pas les reads de la même manière. En général, sont conservés les reads dont la qualité après séquençage est supérieure à un certain seuil. Sont conservés également les reads se retrouvant de part et d’autre d’un site de coupure, étant donné que le protocole appuie sur l’utilisation d’une enzyme de restriction. Sans rentrer dans les détails, les fragments que vous allez séquencer ont parfois eu quelques anomalies et ne correspondent pas à ce qui est vraiment attendu pour constituer une carte.

 

Troisième pas si banale: La carte a t’elle été traitée ?

Dernier petit point important, il est possible de faire biens des traitements à une carte après sa constitution... voyons donc ça !

Le premier traitement consiste à normaliser la carte pour en supprimer les biais. Il existe une petite dizaine de méthodes pour se faire. La plus courante consiste à faire en sorte que la somme de chaque ligne de la matrice soit égale, homogénéisant ainsi l’information de la carte[2,6]. Il existe également des techniques permettant de filtrer selon les déséquilibres biologiques pouvant affecter techniquement les mesures (taux de GC, facilité d’identifier les régions lors de l'alignement etc... La normalisation a un impact certain sur les données. Chaque méthode peut avoir un impact particulier sur les données et il est donc important de spécifier le choix de la méthode.

Il est également possible de diviser les diagonales d'une carte par leur valeur moyenne pour homogénéiser la carte, ou de la transformer en carte de corrélation selon le coefficient de Pearson. Ensuite petit détail à rappeler, les cartes sont généralement affichées en échelle logarithmique, généralement log10, mais ça aussi, c'est à vérifier systématiquement (avec le pipeline Homer[4] par exemple, les cartes sont affichées en échelle log2 !) .

 

Une petite dernière : Et la résolution de la carte ?

A titre de rappel, la résolution d'observation d'une carte est définie comme la taille des fenêtres utilisées pour découper le génome en éléments discrets. Pour faire simple, le génome est divisé en fenêtres de taille fixe dans lesquelles les interactions mesurées sont regroupées. En fonction de la taille définie on peut observer des choses à plus ou moins grande échelle. Si on regroupe les régions avec une taille de fenêtre petite (1000 paires de bases par case dans la carte), on obtient alors une résolution très détaillée des interactions chromatiniennes. Entre 10 000 et 50 000 paires de base, la résolution est considérée comme moyenne et idéale pour observer les domaines topologiques ainsi que les compartiments génomiques ou les interactions longue distance (interaction entre deux régions à plus de 20 000 paires de bases de distance génomique). Des résolutions plus élevées sont idéales pour observer les interactions à très longue distance et les interactions entre chromosomes (ou parfois juste compter le nombre de chromosomes dans la carte et vérifier les données, ça m'arrive...). Le risque dans le choix d’une taille de fenêtre trop faible est de ne plus capturer assez d’interactions pour chaque fenêtre, de diluer le signal, diminuer le ratio signal/bruit et perdre ainsi la capacité de retrouver les locus ayant des interactions particulièrement élevées par rapport à une moyenne.

Vous ne savez pas ce que sont toutes ces choses et comment on doit les voir sur une carte ? Eh bien c'est parti pour une petite séance d'exemples !

 

Les choses qu'on peut/doit voir avec une carte : séance visuelle !

Pour cette partie je vais utiliser mes propres critères de visualisation en indiquant à chaque fois tous les traitements que j'ai réalisés à partir de la carte de contact sans normalisation. Ces choix méthodologiques sont des choix personnels et en aucun cas modèles à suivre à la lettre.

Pour ces exemples j'ai utilisé des cartes de contacts de l'homme de très haute qualité provenant de Rao et al[1]. J'ai également utilisé un peu, pour changer les données de C.elegans provenant de Gabdank et al[3].

Les domaines topologiques

Pour observer des domaines topologiques et des interactions entre domaines topologiques (ou TAD) avec des génomes tels que la drosophile ou l'homme, l’idéal est d'avoir une résolution relativement élevée, entre 1Kb et 50Kb. J'apprécie personnellement de regarder des cartes à 20Kb. Les TAD's s'observent sur des PETITES régions (pas plus de 5Mb est idéal). Pour l'exemple, je vous propose de regarder le chromosome 1 en échelle log10 sans aucun traitement particulier, dans la région allant de 100 à 105 Megabase (Mb).

100to105mb-20kbres-log10untraitedIntriguant non? Comprenons ce qu'il faut voir sur cette carte maintenant avec un peu d'annotation, j'ai encadré un domaine topologique et un sous domaine en bleu sur cette carte :

Un domaine topologique, avec deux sous domaines sont encadrés en bleu!

Un domaine topologique avec deux sous domaines encadrés en bleu!

 

Ce qu'il faut voir sur cette carte : Le long de la diagonale, vous voyez des triangles un peu plus marqués (par symétrie on observe des carrés autour de la diagonale). Les lignes où il n'y a pas de contacts (les grands traits blancs), sont des régions ou il n'a pas été possible de récupérer des contacts par manque d'accessibilité biologique (région non alignable voir non accessible au moment de l'expérience).

Les compartiments

Étudier les compartiments génomiques sur une carte est un peu plus complexe. Une fois la carte en main, j'ai alors normalisé la carte pour faire en sorte que chaque ligne et chaque colonne ait la même somme (selon la méthode de Cournac[2]), puis j'ai divisé chaque ligne, chaque diagonale par sa valeur moyenne. J'ai ensuite transformé la carte en carte de corrélation pour enfin afficher le résultat. Les compartiments sont des régions contenant les TAD's, il faut donc observer des cartes plus grandes. Ici j'ai pris le chromosome 1 entre 30 et 50Megabase. Pour la résolution, elle est ici de 20Kb. On observe les compartiments à des échelles de grandeur supérieurs ou égale au TAD, en gardant à l'idée que les TAD's sont situés dans les compartiments. Les échelles d'observations pour regarder des compartiments sont donc entre 20 et 100 Kb (toutes étant viable, ce qui compte le plus est d'observer une carte suffisamment grande).

badcor

Ce qu'il faut voir sur cette carte : Ce damier à un sens. Il permet de voir les régions où la chromatine est active (et donc où les gènes sont exprimés) par rapport aux régions ou la chromatine est inactive. Les carrés sur la diagonale ne sont plus des TAD's, mais contiennent des TAD's étant donné que nous sommes à une échelle d'observation plus grande. Un autre point intéressant sur cette carte réside dans l’échelle de couleur : avec une échelle comprise entre 0 et 1, j’ai recalibré l'étalonnage pour avoir un seuil de transition de couleur à 0.5, on voit alors que sur cette carte, les corrélations entre composant sont relativement faibles.

Un problème avec cette carte? L'échelle de couleur est étrange non ? C'est exact ! Elle est faite pour vous faire voir ce que je souhaite vous montrer. Lorsqu'on fait une carte de corrélation, il est plus juste de faire un étalonnage avec deux couleurs avec une transition en 0. Toute modification de cet étalonnage sera là pour modifier votre regard/perception des observations. Voila ce qu'il faut donc faire (la carte est identique mais avec juste une échelle de couleur faite proprement) :

bettercor

Alors certes, on discerne peut-être moins bien les carrés (donc les compartiments qui sont, ce qu'on cherche à étudier), mais l'échelle de couleur ne biaise pas notre observation cette fois-ci, elle permet d'avoir un regard critique sur nos données directement !

Les chromosomes entre eux

Pour observer des interactions entre chromosomes, on va passer à une échelle un peu plus grande car les interactions relevées sont plus rares. En général, on regarde alors uniquement les contacts interchromosomiques. La carte ne représente donc plus un chromosome par rapport à lui même, mais un chromosome par rapport à un autre. Là j'ai choisis de vous montrer une carte de C.elegans adulte à partir des données de Gabdank et al[3] à une résolution de 100Kb. Une fois n'est pas coutume je n’ai pas annoté les axes X et Y. Sur cette carte le plus intéressant n'est pas les coordonnées mais de voir que chaque carré ici est un chromosome. Les contacts interchromosomiques sont donc les contacts entre les carrés.

celegansallchr

 

Ce qu'il faut voir sur cette carte : si l'on cherche à étudier des contacts interchromosomiques, cette carte n'est pas adaptée car elle contient relativement peu de signal dans ces régions.

En effet, j’ai représenté sur le même graphique les interactions ayant lieu sur un même chromosome (quasi majorité des interactions relevées) et celles beaucoup plus rares entre chromosomes. Les faibles valeurs sont ainsi écrasées par les fortes valeurs et ne sont donc plus visibles. Nous arrivons donc à un point important dans la difficulté de représenter les données de Hi-C : si les données ne sont pas visibles, sont-elles pour autant inexistantes ou du moins pas importantes ?

 

Attention à la visualisation

La forme de la carte

Les cartes sont généralement affichées de trois manières courantes. Et comme une image est toujours bien plus efficace que mes explications, voici pour vous trois visualisations strictement identiques de la même carte. Le résultat présenté est le même, seuls la forme et l'esthétisme changent. Pour ces exemples, j'ai simplement récupéré le chromosome 1 de l'homme et affiché 40Mb (entre 60 et 100Mb) de ce chromosome en log10 à une résolution de 20Kb.

fromwhitetored

Forme simple

 

fromwhitetored-copie

Forme inversé

C'est la même carte, on inverse juste l'axe des ordonnées à l'observation (c'est une habitude, pour moi cette visualisation est équivalente à la première).

 

fromwhitetored-autre-copie

Forme triangulaire (a son charme aussi)

Cette forme à l'avantage de ne plus nous faire voir la symétrie et donne un vrai sens à la distance entre deux régions génomiques, ou on regarde plus facilement un chromosome le long de son axe. Là encore, une question d'habitude, mais qui globalement donne le résultat suivant. Ensuite personnellement cette forme me gêne car j'ai du mal à y distinguer les domaines topologiques (cherchant désespérément un carré quelque part comme point de repère).

L’échelle de couleur

Maintenant je vais tenter de jouer avec les perceptions de votre œil au niveau des échelles de couleurs. Voici la carte précédente, avec juste une visualisation... un peu personnelle.

cheatedcolorscalejet

Observez bien la zone que j'ai surlignée sur cette carte, on dirait un carré sur cette image.

Regardons en détail l'échelle de couleur... on remarque alors que le petit malin qui a fait cette carte a mis un palier de couleur totalement artificiel à un moment donné (une transition de bleu vers jaune autour de 2.3 en échelle log10). Ce qu'il faut en comprendre ? C'est qu'il NE FAUT PAS faire confiance à cette image ! L'auteur malicieux (qui, moi ?) à volontairement joué avec le contraste de l'image pour vous faire voir ce qu'il souhaite! Pour vous donner une idée de la tricherie plus en détail, j'ai refait cette carte avec deux échelles : de blanc vers noir et de noirs vers blanc.

fromwhitetoblack fromblacktowhite

Discernez-vous la même chose sur les deux cartes ? Oui ? Non ? Voila les limites d'observations de votre œil et comment il est possible de le manipuler avec une échelle de couleur bien ajustée.

Maintenant, on va reprendre la forme simple, encore une fois sur la même carte et agir sur la palette de couleurs. Je vais alors reprendre des palettes de couleur présentes dans différentes publications et couramment utilisées.

 

suncolored whitetowhiteweard

 

bluetowhite

Amusant non ? Arrivez-vous à observer les mêmes choses sur la carte en fonction de l'échelle de couleur ? De manière générale, on remarque que pour le Hi-C, les échelles de couleur avec soit un seul gradient (de blanc vers rouge par exemple) ou deux gradients (de bleu à blanc, de blanc à rouge) semblent plus convaincante a l’œil à condition de savoir dans quel contexte les utiliser.

Les données de Hi-C sont des données complexes à analyser et représenter. Il revient aux bioinformaticiens de comprendre le fonctionnement des outils en amont et des choix qui ont été posés jusqu’à la visualisation afin d’être en mesure d’intégrer les différences que tout cela peut apporter aux résultats.

Enjoy !

 

Un grand merci aux relecteurs : Nico_M, Chopopope et Kumquatum

Je tiens tout particulièrement à remercier Nibua ancien encadrant, et toujours là pour échanger et m’éclairer (me relire ?) dans ce domaine et en fait, co-auteur de l’article.

 

Citations

  1. A 3D Map of the Human Genome at Kilobase Resolution Reveals Principles of Chromatin Looping, Rao, Suhas S.P. et al. Cell , Volume 159 , Issue 7 , 1665 - 1680
  2. Cournac A, Marie-Nelly H, Marbouty M, Koszul R, Mozziconacci J. Normalization of a chromosomal contact map. BMC Genomics. 2012;13:436. doi:10.1186/1471-2164-13-436.
  3. Gabdank I, Ramakrishnan S, Villeneuve AM, Fire AZ. A streamlined tethered chromosome conformation capture protocol. BMC Genomics. 2016;17:274. doi:10.1186/s12864-016-2596-3.
  4. Heinz S, Benner C, Spann N, Bertolino E et al. Simple Combinations of Lineage-Determining Transcription Factors Prime cis-Regulatory Elements Required for Macrophage and B Cell Identities. Mol Cell 2010 May 28;38(4):576-589. PMID: 20513432
  5. Deletion of DXZ4 on the human inactive X chromosome alters higher-order genome architecture, Emily M. Darrow, Miriam H. Huntley, Olga Dudchenko, Elena K. Stamenova, Neva C. Durand,Zhuo Suna, Su-Chen Huang, Adrian L. Sanborn, Ido Machol, Muhammad Shamim, Andrew P. Seberg,Eric S. Lander, Brian P. Chadwick, and Erez Lieberman Aiden, PNAS 2016
  6. Imakaev M, Fudenberg G, McCord RP, et al. Iterative Correction of Hi-C Data Reveals Hallmarks of Chromosome Organization. Nature methods. 2012;9(10):999-1003. doi:10.1038/nmeth.2148.
  • À propos de
  • Bioinformaticien de formation ayant complété son cursus par un master de machine learning appliqué aux langues à Nantes. Actuellement en Doctorat au laboratoire physique théorique de la matière condensé à Paris, ma thèse a pour sujet l'organisation 3D des génomes eucaryotes et les éléments répétés. J'aime python, le machine learning et les techniques d'études des chromosomes.

5 commentaires sur “Ce qu'il faut voir sur une carte de contact chromosomique

  1. Merci beaucoup pour cet article mathurin 🙂

    J\'ai quelques questions qui me sont venues à l\'esprit en te lisant :
    - A ta troisième question tu parles de biais à supprimer, quelle est leur origine ? La seule sous entendue par tes phrases qui suivent serait une origine biologique due à la variabilité du vivant si je comprends bien.
    - J\'avoue me perdre un peu dans ton introduction de la séance visuelle : si les critères de visualisation que tu prends sur tes cartes sont personnels (et donc arbitraires ?) comment peut-on comparer deux cartes ?
    - \"Il est plus juste de faire un étalonnage avec deux couleurs avec une transition en 0\" => pourquoi ? Est-ce que cela réduit un biais cognitif ?
    - Si la coloration impacte tant l\'interprétation des cartes et semble si subjective, comment peut-on être sur de la validité de notre carte et donc de notre interprétation ?

    • -Ca dépend des hypothèses que tu fais. La dessus deux écoles. La première consiste à dire que comme chaque ligne ne contient pas autant de contact il faut faire en sorte que oui. La deuxième tente de prendre en compte divers paramètres ( taux en GC, facilité à aligner un read sur une région) et d\'avoir un facteur de correction sur l\'ensemble de ces biais. Donc oui, c\'est une volonté de correction de plusieurs biais biologiques.
      -Si deux cartes ont autant de contacts, un traitement bioinformatique équivalent et sont observées avec une échelle de couleur similaire, elles sont comparables visuellement, et numériquement.
      -Avec une corrélation classique, tu as 3 valeurs qui ont du sens : -1,0 et 1, donc 3 valeurs importantes à discerner sur la carte, toutes transitions de couleurs en dehors de ces valeurs risque de biaiser ton observation (comme les mauvais exemples que j\'ai mis un peu partout).
      -En étant rigoureux tout simplement, et avec l\'expérience. Les domaines topologiques sont robustes à pas mal de traitements et toujours visible sur une carte qui contient suffisamment de contacts. Donc si tes observations avant et après traitement sont similaires, c\'est que tu peux être sur de ton observation.

      Est ce que ça répond à tes questions?

  2. Bonjour !

    Tout d\'abord un tout grand MERCI pour votre article très informatif, je débute dans le domaine de l\'Hi-C & co., et il m\'a bien aidé à comprendre l\'interprétation de ces cartes d\'interaction.

    Par contre, je ne suis pas bien sûre d\'avoir saisi le lien résolution/profondeur de séquençage. Comme j\'avais compris, augmenter la profondeur de séquençage permettait une résolution plus fine (i.e. interactions courte distance ?), car on ne capture \"par chance\" qu\'une partie des interactions (en lien avec l\'activité des enzymes de restriction ?) et plus on regarde à plus petite échelle, plus la probabilité d\'avoir couvert une région en particulier s\'amenuise, d\'où la nécessité d\'augmenter la couverture. C\'est comme ça que je comprenais e.g. les citations suivantes: \"to increase the resolution by a factor of n, one must increase the number of reads by a factor of n^2\" (Lieberman-Aiden et al. 2009) ou encore \"if the goal is to measure large scale structures, such as genomic compartments, then a lower resolution will often suffice (1–10 MB)\" (Lajoie et al. 2015). Dès lors, votre explication (\"Les interactions longues distances sont par exemple par nature très rares et donc difficiles à capturer. Au contraire, les interactions à courtes distances sont très fréquentes, et vont donc capitaliser une grande majorité des événements capturés. Ainsi, [...] une couverture importante [...] permettra avant tout pour le Hi-C de caractériser des interactions à plus longue distance par rapport au bruit de fond.\") m\'a mis dans la confusion. Pourriez-vous m\'éclairer sur ce point ? Augmenter la résolution veut bien dire pouvoir \"binner\" le génome avec des fenêtres de plus en plus petites ?

    Autre petite question au passage, pourriez-vous me dire quel outil vous avez utilisé pour produire ces cartes (HiCPlotter?) ? En auriez-vous un à recommander à un(e) débutant(e) ?

    Encore merci et cordiales salutations,

    Erica

    • Salut Erica! Alors:

      Pourriez-vous m\'éclairer sur ce point ? Les contacts à longues distances sont plus rares. Donc pour être sur d\'en avoir, il faut avoir séquencés suffisamment de reads. Ta compréhension des citations est bonne, c\'est juste une information supplémentaire. A savoir qu\'il est bien de séquencer plus AUSSI pour voir les contacts à longues distances, que typiquement tu discerne mieux avec des données de très hautes qualités.

      Augmenter la résolution veut bien dire pouvoir \"binner\" le génome avec des fenêtres de plus en plus petites ? Exact, et pour cela il faut avoir suffisamment de contacts dans ta carte, donc bien séquencer plus.

      Pour ces cartes j\'ai utilisé quelques lignes de commandes matlab. J\'ai pas spécialement de recommandation d\'outil à faire, beaucoup se valent. Mais si tu cherche quelque chose de relativement complet et abordable en terme d\'accès utilisateur, tu peux regarder du coté de HiC-Pro.

      • Merci beaucoup pour votre réponse 🙂

Laisser un commentaire