Clustering trees : une visualisation pour évaluer les clusterings à plusieurs résolutions

Résumé

Les techniques de clustering sont largement utilisées dans l’analyse de grands ensembles de données pour regrouper des échantillons ayant des propriétés similaires. Par exemple, le regroupement est souvent utilisé dans le domaine du séquençage d’ARN unicellulaire afin d’identifier différents types de cellules présents dans un échantillon de tissu. Il existe de nombreux algorithmes pour effectuer le clustering, et les résultats peuvent varier considérablement. En particulier, le nombre de groupes présents dans un ensemble de données est souvent inconnu, et le nombre de clusters identifiés par un algorithme peut changer en fonction des paramètres utilisés. Pour explorer et examiner l’impact de différentes résolutions de clustering, nous présentons des arbres de clustering. Cette visualisation montre les relations entre les clusters à plusieurs résolutions, permettant aux chercheurs de voir comment les échantillons se déplacent à mesure que le nombre de clusters augmente. De plus, des méta-informations peuvent être superposées sur l’arbre pour éclairer le choix de la résolution et guider l’identification des clusters. Nous illustrons les caractéristiques des arbres de regroupement à l’aide d’une série de simulations ainsi que de deux exemples réels, l’ensemble de données iris classique et un ensemble de données complexe de séquençage d’ARN unicellulaire. Les arbres de regroupement peuvent être produits à l’aide du package clustree R, disponible auprès de CRAN et développé sur GitHub.

Introduction

L’analyse de clustering est couramment utilisée pour regrouper des échantillons similaires dans un large éventail d’applications. En règle générale, le but du regroupement est de former des groupes d’échantillons plus similaires les uns aux autres qu’aux échantillons d’autres groupes. Alors que les approches de clustering floue ou souple attribuent chaque échantillon à chaque cluster avec une certaine probabilité, et que le clustering hiérarchique forme un arbre d’échantillons, la plupart des méthodes forment des clusters durs où chaque échantillon est affecté à un seul groupe. Cet objectif peut être atteint de diverses manières, par exemple en considérant les distances entre les échantillons (par exemple, |kk$|-moyennes, PAM), les zones de densité à travers l’ensemble de données (par exemple, DBSCAN) ou les relations avec les distributions statistiques.

Dans de nombreux cas, le nombre de groupes qui devraient être présents dans un ensemble de données n’est pas connu à l’avance, et décider du nombre correct de clusters à utiliser est un défi important. Pour certains algorithmes, tels que |kk$/-means clustering, le nombre de clusters doit être explicitement fourni. D’autres méthodes ont des paramètres qui, directement ou indirectement, contrôlent la résolution des clusters et donc le nombre de clusters produits. Bien qu’il existe des méthodes et des statistiques (telles que la méthode du coude et les tracés de silhouette) conçues pour aider les analystes à décider de la résolution de clustering à utiliser, elles produisent généralement un score unique qui ne prend en compte qu’un seul ensemble d’échantillons ou de clusters à la fois.

Une autre approche consisterait à considérer les regroupements à plusieurs résolutions et à examiner comment les échantillons changent de regroupements à mesure que le nombre de regroupements augmente. Cela a conduit à une gamme de mesures de stabilité des grappes, dont beaucoup reposent sur le regroupement d’ensembles de données perturbés ou sous-échantillonnés. Par exemple, l’algorithme de l’explorateur de modèles sous-échantillonne plusieurs fois un ensemble de données, regroupe chaque ensemble de données sous-échantillonné à différentes résolutions, puis calcule une similitude entre les clusters à la même résolution pour donner une distribution de similitudes pouvant éclairer le choix de la résolution. Une mesure de stabilité des grappes qui n’est pas basée sur les perturbations est celle contenue dans le package SC3 pour le séquençage d’ARN unicellulaire en grappe (scRNA-seq). En commençant par un ensemble d’étiquettes de cluster à différentes résolutions, chaque cluster est noté, les clusters obtenant une stabilité accrue s’ils partagent les mêmes échantillons qu’un cluster à une autre résolution, mais pénalisés pour avoir une résolution plus élevée.

Une approche simple similaire est adoptée par la visualisation de l’arbre de clustering que nous présentons ici, sans calculer de scores: (i) un ensemble de données est regroupé à l’aide d’un algorithme de clustering dur à plusieurs résolutions, produisant des ensembles de nœuds de cluster; (ii) le chevauchement entre les clusters à des résolutions adjacentes est utilisé pour construire des arêtes; et (iii) le graphique résultant est présenté sous forme d’arbre. Cet arbre peut être utilisé pour examiner comment les clusters sont liés les uns aux autres — quels clusters sont distincts et lesquels sont instables. Dans les sections suivantes, nous décrivons comment nous construisons un tel arbre et présentons des exemples d’arbres construits à partir d’un ensemble de données de clustering classique et d’un ensemble de données scRNA-seq complexe. Les figures présentées ici peuvent être produites en R à l’aide de notre package clustree accessible au public. Bien que les arbres de regroupement ne puissent pas fournir directement une résolution de regroupement à utiliser, ils peuvent être un outil utile pour explorer et visualiser la gamme de choix possibles.

Construction d’un arbre de clustering

Pour construire un arbre de clustering, nous commençons par un ensemble de clusterings et allouons des échantillons à des groupes à plusieurs résolutions différentes. Ceux-ci pourraient être produits en utilisant n’importe quel algorithme de clustering dur qui permet de contrôler le nombre de clusters d’une manière ou d’une autre. Par exemple, il peut s’agir d’un ensemble d’échantillons groupés en utilisant |kk$/-means avec |kk\,\, = \,\,1,2,3$| comme le montre la Fig. 1. Nous trions ces clusterings de sorte qu’ils soient ordonnés en augmentant la résolution (|kk$|), puis considérons des paires de clusterings adjacents. Chaque cluster |${c_{k,\,\,i}}$| (où |$i\,\, = \,\,1,\,\, \ldots ,\,\,n$ et$n$| est le nombre de clusters à la résolution |$k$|) est comparé à chaque cluster |${c_{k + 1,\,\,j}}$| (où |$j\,\, = \,\,1,\,\, \ldots ,\,\,m$ et$m$| est le nombre de clusters à la résolution |$k + 1$|). Le chevauchement entre les deux clusters est calculé comme le nombre d’échantillons affectés aux deux |{{c_{k, \,\, i}}$| et |{{c_{k+1, \,\, j}}$|. Ensuite, nous construisons un graphique où chaque nœud est un cluster et chaque bord est un chevauchement entre deux clusters. Alors que nous appelons ce graphe un arbre pour simplifier, il peut plus correctement être décrit comme un polytree, un cas particulier d’un graphe acyclique dirigé où le graphe non orienté sous-jacent est un arbre.

Figure 1:

Illustration des étapes nécessaires à la construction d’un arbre de regroupement. Tout d’abord, un ensemble de données doit être regroupé à différentes résolutions. Le chevauchement des échantillons entre les grappes à des résolutions adjacentes est calculé et utilisé pour calculer la proportion pour chaque bord. Enfin, les arêtes sont filtrées et le graphique visualisé sous forme d’arbre.

Figure 1:

Illustration des étapes nécessaires à la construction d’un arbre de regroupement. Tout d’abord, un ensemble de données doit être regroupé à différentes résolutions. Le chevauchement des échantillons entre les grappes à des résolutions adjacentes est calculé et utilisé pour calculer la proportion pour chaque bord. Enfin, les arêtes sont filtrées et le graphique visualisé sous forme d’arbre.

De nombreux bords seront vides, par exemple sur la Fig. 1 aucun échantillon dans le groupe A à /kk\,\, = \,\,2$| se retrouver dans le groupe B à /kk\,\, = \,\,3$|. Dans certains ensembles de données, il peut également y avoir des arêtes qui contiennent peu d’échantillons. Ces bords ne sont pas informatifs et entraînent un arbre encombré. Une solution évidente pour éliminer les bords peu informatifs et à faible comptage consiste à les filtrer en utilisant un seuil sur le nombre d’échantillons qu’ils représentent. Cependant, dans ce cas, le nombre d’échantillons n’est pas la statistique correcte à utiliser car il favorise les arêtes à des résolutions plus basses et celles reliant des grappes plus grandes. Au lieu de cela, nous définissons la métrique en proportion comme le rapport entre le nombre d’échantillons sur le bord et le nombre d’échantillons dans le cluster vers lequel il va. Cette métrique montre l’importance de la périphérie pour le cluster de résolution supérieure indépendamment de la taille du cluster. On peut alors appliquer un seuil à l’in-proportion afin de supprimer les bords moins informatifs.

Le graphique final peut alors être visualisé. En théorie, n’importe quel algorithme de disposition de graphe pourrait être utilisé. Cependant, pour le package clustree, nous avons utilisé les deux algorithmes spécifiquement conçus pour les structures arborescentes disponibles dans le package igraph. Il s’agit de la disposition de l’arbre de Reingold-Tilford, qui place les nœuds parents au-dessus de leurs enfants, et la disposition de Sugiyama, qui place les nœuds d’un graphe acyclique dirigé en couches tout en minimisant le nombre d’arêtes croisées. Ces deux algorithmes peuvent produire des mises en page attrayantes ; en tant que tels, nous n’avons pas trouvé la nécessité de concevoir un algorithme de mise en page spécifique pour le regroupement des arbres. Par défaut, le paquet clustree n’utilise qu’un sous-ensemble d’arêtes lors de la construction d’une disposition, en particulier les arêtes les plus proportionnelles pour chaque nœud. Nous avons constaté que cela conduit souvent à des visualisations plus interprétables; cependant, les utilisateurs peuvent choisir d’utiliser tous les bords si vous le souhaitez.

Quelle que soit la disposition utilisée, la visualisation finale place les nœuds de cluster dans une série de couches où chaque couche a une résolution de clustering différente et les arêtes montrent la transition des échantillons à travers ces résolutions. Les bords sont colorés en fonction du nombre d’échantillons qu’ils représentent, et la métrique proportionnelle est utilisée pour contrôler la transparence des bords, mettant en évidence les bords les plus importants. Par défaut, la taille du nœud est ajustée en fonction du nombre d’échantillons dans le cluster et leur couleur indique la résolution du cluster. Le package clustree comprend également des options pour contrôler l’esthétique des nœuds en fonction des attributs des échantillons dans les clusters qu’ils représentent, comme indiqué dans les exemples suivants.

Bien qu’un arbre de clustering soit conceptuellement similaire à l’arbre produit par le clustering hiérarchique, il existe quelques différences importantes. Les plus évidents sont qu’un arbre de clustering hiérarchique est le résultat d’un algorithme de clustering particulier et montre les relations entre des échantillons individuels, tandis que les arbres de clustering décrits ici sont indépendants de la méthode de clustering et montrent les relations entre les clusters. Les branches d’un arbre hiérarchique montrent comment l’algorithme de clustering a fusionné des échantillons. En revanche, les arêtes d’une arborescence de clusters montrent comment les échantillons se déplacent entre les clusters lorsque la résolution change et que les nœuds peuvent avoir plusieurs parents. Bien qu’il soit possible de superposer des informations sur des échantillons sur un arbre hiérarchique, cela n’est pas couramment fait, mais c’est une caractéristique clé du package clustree et de la façon dont les arbres de clustering pourraient être utilisés dans la pratique.

Une démonstration À l’aide de Simulations

Pour démontrer à quoi peut ressembler un arbre de clustering dans différentes situations et comment il se comporte comme un ensemble de données est surchargé, nous présentons quelques exemples illustratifs utilisant des simulations simples (voir Méthodes). Nous présentons cinq scénarios : bruit uniforme aléatoire (simulation A), un seul cluster (simulation B), deux clusters (simulation C), trois clusters (simulation D) et quatre clusters (simulation E). Chaque cluster se compose de 1 000 échantillons (points) générés à partir d’une distribution normale à 100 dimensions, et chaque ensemble de données synthétiques a été regroupé en utilisant |kk$/- signifie le regroupement avec |kk\,\, = \,\,1,\,\, \ ldots, 8$|. Nous utilisons ensuite le package clustree pour produire des arbres de clustering pour chaque ensemble de données (Fig. 2).

Figure 2:

Cinq ensembles de données synthétiques utilisés pour démontrer les arbres de regroupement. Pour chaque ensemble de données, un diagramme de dispersion des deux premières composantes principales, un arbre de regroupement par défaut et un arbre de regroupement avec des nœuds colorés par l’indice de stabilité SC3 du violet (le plus bas) au jaune (le plus élevé) sont affichés. Les cinq ensembles de données contiennent : (A) un bruit uniforme aléatoire, (B) un seul groupe, (C) deux groupes, (D) trois groupes et (E) quatre groupes.

Figure 2:

Cinq ensembles de données synthétiques utilisés pour démontrer les arbres de regroupement. Pour chaque ensemble de données, un diagramme de dispersion des deux premières composantes principales, un arbre de regroupement par défaut et un arbre de regroupement avec des nœuds colorés par l’indice de stabilité SC3 du violet (le plus bas) au jaune (le plus élevé) sont affichés. Les cinq ensembles de données contiennent : (A) un bruit uniforme aléatoire, (B) un seul groupe, (C) deux groupes, (D) trois groupes et (E) quatre groupes.

En regardant les deux premiers exemples (bruit uniforme et un seul cluster), nous pouvons clairement voir comment un arbre de clustering se comporte lorsqu’un algorithme de clustering renvoie plus de clusters que ceux réellement présents dans un ensemble de données. De nouveaux grappes commencent à se former à partir de plusieurs grappes existantes, et de nombreux échantillons basculent entre les branches de l’arbre, ce qui entraîne une faible proportion de bords. Des amas instables peuvent également apparaître puis disparaître à mesure que la résolution augmente, comme le montre la Fig. 2E. À mesure que nous ajoutons plus de structure aux ensembles de données, les arbres de regroupement commencent à former des branches claires et les bords à faible proportion ont tendance à être confinés à des sections de l’arbre. En regardant quels grappes sont stables et où des bords à faible proportion apparaissent, nous pouvons déduire quelles zones de l’arbre sont susceptibles d’être le résultat de véritables grappes et celles qui sont causées par une surgrappe.

La deuxième arborescence de clusters pour chaque ensemble de données affiche des nœuds colorés selon l’indice de stabilité SC3 pour chaque cluster. Comme on pouvait s’y attendre, aucun groupe ne reçoit un score de stabilité élevé dans les deux premiers exemples. Cependant, bien que nous voyions clairement deux branches dans l’arbre de clustering pour l’exemple à deux clusters (simulation C), cela ne se reflète pas dans les scores SC3. Aucun cluster ne reçoit un score de stabilité élevé, probablement en raison du grand nombre d’échantillons se déplaçant entre les clusters à mesure que la résolution augmente. Comme il y a plus de clusters vrais dans les ensembles de données simulés, les scores de stabilité SC3 deviennent plus prédictifs de la résolution correcte à utiliser. Cependant, il est important d’examiner les scores de stabilité de tous les grappes à une résolution particulière, car le fait de prendre le score de stabilité le plus élevé pour chaque grappe pourrait conduire à l’utilisation d’une résolution incorrecte, comme on peut le voir dans l’exemple de quatre grappes (simulation E). Ces exemples montrent comment les arbres de clustering peuvent être utilisés pour afficher les métriques de clustering existantes d’une manière qui peut aider à informer les choix de paramètres.

Un exemple simple

Pour illustrer davantage comment un arbre de clustering est construit, nous allons travailler à travers un exemple en utilisant l’ensemble de données iris classique. Cet ensemble de données contient des mesures de la longueur des sépales, de la largeur des sépales, de la longueur des pétales et de la largeur des pétales de 150 fleurs d’iris, 50 de chacune des trois espèces: Iris setosa, Iris versicolor et Iris virginica. L’ensemble de données iris est couramment utilisé comme exemple pour les problèmes de regroupement et de classification, les échantillons d’I. setosa étant significativement différents des autres échantillons et séparables linéairement de ceux-ci. Nous avons regroupé cet ensemble de données en utilisant |kkmeans/- signifie le regroupement avec |kk\,\, = \,\,1,\,\, \ ldots, 5$/ et produit l’arbre de regroupement illustré à la Fig. 3 BIS.

Figure 3:

Le regroupement d’arbres basé sur /kk$| – signifie le regroupement de l’ensemble de données iris. (A) Les nœuds sont colorés en fonction de la valeur de |kk$| et dimensionnés en fonction du nombre d’échantillons qu’ils représentent. Les bords sont colorés en fonction du nombre d’échantillons (du bleu représentant peu au jaune représentant beaucoup). La transparence est ajustée en fonction de la proportion, avec des lignes plus fortes montrant des bords plus importants pour le cluster à résolution plus élevée. Les étiquettes de cluster sont attribuées aléatoirement par l’algorithme |kk$/-means. (B) Le même arbre avec la coloration du nœud a été modifié pour montrer la longueur moyenne des pétales des échantillons dans chaque grappe.

Figure 3:

Le regroupement d’arbres basé sur /kk$| – signifie le regroupement de l’ensemble de données iris. (A) Les nœuds sont colorés en fonction de la valeur de |kk$| et dimensionnés en fonction du nombre d’échantillons qu’ils représentent. Les bords sont colorés en fonction du nombre d’échantillons (du bleu représentant peu au jaune représentant beaucoup). La transparence est ajustée en fonction de la proportion, avec des lignes plus fortes montrant des bords plus importants pour le cluster à résolution plus élevée. Les étiquettes de cluster sont attribuées aléatoirement par l’algorithme |kk$/-means. (B) Le même arbre avec la coloration du nœud a été modifié pour montrer la longueur moyenne des pétales des échantillons dans chaque grappe.

Nous voyons qu’une branche de l’arbre est clairement distincte (représentant vraisemblablement I. setosa), restant inchangée quel que soit le nombre de grappes. De l’autre côté, on voit que le cluster à /kk\,\, = \,\,2$| se divise proprement en deux groupes (probablement I. versicolor et I. virginica) à /kk\,\, = \,\,3$|. Cependant, au fur et à mesure que nous passons à |kk\,\, = \,\,4$| et /kk\,\, = \,\,5$|, nous voyons des grappes se former à partir de plusieurs branches avec des bords plus faibles en proportion. Comme nous l’avons vu dans les exemples simulés, ce type de modèle peut indiquer que les données sont devenues trop encombrées et que nous avons commencé à introduire des regroupements artificiels.

Nous pouvons vérifier notre hypothèse que la branche distincte représente les échantillons de I. setosa et que les deux autres grappes à /kk\,\, = \,\,3$| sont I. versicolor et I. virginica en superposant des informations connues sur les échantillons. Sur la Fig. 3B nous avons coloré les nœuds par la longueur moyenne des pétales des échantillons qu’ils contiennent. Nous pouvons maintenant voir que les grappes de la branche distincte ont les pétales les plus courts, avec le grappe 1 à /kk\,\, = \,\,3$| ayant une longueur intermédiaire et la grappe 3 ayant les pétales les plus longs. Cette caractéristique est connue pour séparer les échantillons en espèces attendues, I. setosa ayant les pétales les plus courts en moyenne, I. versicolor une longueur intermédiaire et I. virginica la plus longue.

Bien qu’il s’agisse d’un exemple très simple, il met en évidence certains des avantages de l’affichage d’une arborescence de clustering. Nous obtenons une indication de la résolution de clustering correcte en examinant les bords, et nous pouvons superposer des informations connues pour évaluer la qualité du clustering. Par exemple, si nous observions que tous les groupes avaient la même longueur moyenne de pétales, cela suggérerait que le regroupement n’a pas réussi car nous savons qu’il s’agit d’une caractéristique importante qui sépare les espèces. Nous pourrions potentiellement en apprendre davantage en examinant quels échantillons suivent des bords à faible proportion ou en superposant une série de caractéristiques pour essayer de comprendre ce qui provoque la division de clusters particuliers.

Arbres de regroupement pour les données scRNA-seq

Un domaine qui a commencé à faire un usage intensif des techniques de regroupement est l’analyse des données scRNA-seq. Le séquençage scRNA est une technologie récemment développée qui peut mesurer la façon dont les gènes sont exprimés dans des milliers à des millions de cellules individuelles. Cette technologie a été rapidement adoptée dans des domaines tels que la biologie du développement et l’immunologie où il est utile de disposer d’informations provenant de cellules individuelles plutôt que de mesures moyennées sur les nombreuses cellules différentes d’un échantillon en utilisant des technologies ARN-seq plus anciennes. Une utilisation clé de scRNA-seq est de découvrir et d’interroger les différents types cellulaires présents dans un échantillon d’un tissu complexe. Dans cette situation, le regroupement est généralement utilisé pour regrouper des cellules similaires en fonction de leurs profils d’expression génique. Les différences d’expression génique entre les groupes peuvent ensuite être utilisées pour déduire l’identité ou la fonction de ces cellules. Le nombre de types de cellules (grappes) dans un ensemble de données scRNA-seq peut varier en fonction de facteurs tels que le tissu étudié, son état de développement ou environnemental et le nombre de cellules capturées. Souvent, le nombre de types de cellules n’est pas connu avant la génération des données, et certains échantillons peuvent contenir des dizaines de clusters. Par conséquent, décider de la résolution de regroupement à utiliser est une considération importante dans cette application.

À titre d’exemple de la façon dont les arbres de regroupement peuvent être utilisés dans le contexte scRNA-seq, nous considérons un ensemble de données sur les cellules mononucléées du sang périphérique (PBMC) couramment utilisé. Cet ensemble de données a été produit à l’origine par 10x Genomics et contient 2 700 cellules mononucléées du sang périphérique, représentant une gamme de types de cellules immunitaires bien étudiés. Nous avons analysé cet ensemble de données à l’aide du package Seurat, une boîte à outils couramment utilisée pour l’analyse scRNA-seq, en suivant les instructions de leur tutoriel, à l’exception de la variation du paramètre de résolution de clustering de zéro à 5 (voir Méthodes). Seurat utilise un algorithme de clustering basé sur un graphique, et le paramètre de résolution contrôle le partitionnement de ce graphique, avec des valeurs plus élevées résultant en plus de clusters. Les arbres de regroupement produits à partir de cette analyse sont représentés à la Fig. 4.

Figure 4:

Deux arbres de regroupement d’un ensemble de données de 2 700 PBMC. (A) Résultats du regroupement à l’aide de Seurat avec des paramètres de résolution de zéro à 1. À une résolution de 0,1, nous voyons la formation de quatre branches principales, dont l’une continue de se diviser jusqu’à une résolution de 0,4, après quoi il n’y a que des changements mineurs. B) Résolutions allant de zéro à 5. Aux résolutions les plus élevées, nous commençons à voir de nombreuses arêtes à faible proportion, indiquant une instabilité des grappes. Seurat étiquette les clusters en fonction de leur taille, le cluster 0 étant le plus grand.

Figure 4:

Deux arbres de regroupement d’un ensemble de données de 2 700 PBMC. (A) Résultats du regroupement à l’aide de Seurat avec des paramètres de résolution de zéro à 1. À une résolution de 0,1, nous voyons la formation de quatre branches principales, dont l’une continue de se diviser jusqu’à une résolution de 0,4, après quoi il n’y a que des changements mineurs. B) Résolutions allant de zéro à 5. Aux résolutions les plus élevées, nous commençons à voir de nombreuses arêtes à faible proportion, indiquant une instabilité des grappes. Seurat étiquette les clusters en fonction de leur taille, le cluster 0 étant le plus grand.

L’arbre de regroupement couvrant les résolutions de zéro à 1 par pas de 0,1 (Fig. 4A) montre que quatre branches principales se forment à une résolution de seulement 0,1. L’une de ces branches, commençant par le cluster 3 à la résolution 0.1, reste inchangée, tandis que la branche commençant par le cluster 2 ne se divise qu’une seule fois à une résolution de 0.4. La majeure partie de la ramification se produit dans la branche commençant par le cluster 1, qui a systématiquement des sous-branches séparées pour former de nouveaux clusters à mesure que la résolution augmente. Il y a deux régions de stabilité dans cet arbre — à la résolution 0.4-0.5 et à la résolution 0.7-1.0 où la branche commençant au cluster 0 se divise en deux.

Fig. 4B montre un arbre de clustering avec une plus grande plage de résolutions, de zéro à 5 par pas de 0,5. En regardant à travers cette plage, nous pouvons voir ce qui se passe lorsque l’algorithme est obligé de produire plus de clusters que ceux susceptibles d’être réellement présents dans cet ensemble de données. Au fur et à mesure que la surgrappe se produit, nous commençons à voir davantage d’arêtes à faible proportion et de nouveaux clusters se former à partir de plusieurs clusters parents. Cela suggère que ces zones de l’arbre sont instables et que les nouveaux clusters en cours de formation sont peu susceptibles de représenter de vrais groupes dans l’ensemble de données.

Les gènes marqueurs connus sont couramment utilisés pour identifier les types cellulaires auxquels correspondent des amas spécifiques. La superposition d’informations d’expression génique sur un arbre de regroupement fournit une vue alternative qui peut aider à indiquer quand des grappes contenant des populations de cellules pures sont formées. La figure 5 montre l’arbre de regroupement PBMC de la Fig. 4A recouvert de l’expression de certains gènes marqueurs connus.

Figure 5:

Regroupement des arbres de l’ensemble de données PBMC colorés selon l’expression de marqueurs connus. Les couleurs des nœuds indiquent la moyenne du nombre de gènes log2 d’échantillons dans chaque grappe. CD19(A) identifie les lymphocytes B, CD14(B) montre une population de monocytes, CD3D (C) est un marqueur des lymphocytes T et CCR7 (D) montre la division entre les lymphocytes T CD4 naïfs et la mémoire.

Figure 5:

Regroupement des arbres de l’ensemble de données PBMC colorés selon l’expression de marqueurs connus. Les couleurs des nœuds indiquent la moyenne du nombre de gènes log2 d’échantillons dans chaque grappe. CD19(A) identifie les lymphocytes B, CD14(B) montre une population de monocytes, CD3D (C) est un marqueur des lymphocytes T et CCR7 (D) montre la division entre les lymphocytes T CD4 naïfs et la mémoire.

En ajoutant ces informations supplémentaires, nous pouvons rapidement identifier certains types de cellules. CD19 (Fig. 5A) est un marqueur des cellules B et est clairement exprimé dans la branche la plus distincte de l’arbre. CD14 (Fig. 5B) est un marqueur d’un type de monocyte, qui s’exprime davantage lorsque nous suivons l’une des branches centrales, ce qui nous permet de voir quelle résolution identifie une population pure de ces cellules. CD3D (Fig. 5C) est un marqueur général des lymphocytes T et s’exprime en deux branches distinctes, l’une qui se divise en expression basse et haute de CCR7 (Fig. 5D), séparant la mémoire et les cellules T CD4 naïves. En ajoutant l’expression de gènes connus à un arbre de regroupement, nous pouvons voir si plus de populations peuvent être identifiées à mesure que la résolution de regroupement augmente et si les groupes sont compatibles avec la biologie connue. Pour la plupart du tutoriel Seurat, une résolution de 0,6 est utilisée, mais les auteurs notent qu’en passant à une résolution de 0,8, une division peut être obtenue entre la mémoire et les cellules T CD4 naïves. Il s’agit d’une scission qui pourrait être anticipée en examinant l’arbre de regroupement avec l’ajout d’informations préalables.

Discussion

Le regroupement d’échantillons similaires en groupes est une technique utile dans de nombreux domaines, mais les analystes sont souvent confrontés au problème délicat de décider de la résolution de regroupement à utiliser. Les approches traditionnelles de ce problème prennent généralement en compte un seul groupe ou échantillon à la fois et peuvent s’appuyer sur une connaissance préalable des étiquettes des échantillons. Ici, nous présentons des arbres de clustering, une visualisation alternative qui montre les relations entre les clusterings à plusieurs résolutions. Bien que les arbres de clustering ne puissent pas suggérer directement la résolution de clustering à utiliser, ils peuvent être un outil utile pour aider à prendre cette décision, en particulier lorsqu’ils sont combinés avec d’autres métriques ou connaissances du domaine.

Les arbres de clusters affichent comment les clusters sont divisés à mesure que la résolution augmente, quels clusters sont clairement séparés et distincts, qui sont liés les uns aux autres et comment les échantillons changent de groupe à mesure que davantage de clusters sont produits. Bien que les arbres de regroupement puissent sembler similaires aux arbres produits par le regroupement hiérarchique, il existe plusieurs différences importantes. Le clustering hiérarchique considère les relations entre les échantillons individuels et ne fournit pas un moyen évident de former des groupes. En revanche, les arbres de regroupement sont indépendants de toute méthode de regroupement particulière et montrent les relations entre les groupes, plutôt que les échantillons, à différentes résolutions, dont chacune pourrait être utilisée pour une analyse plus approfondie.

Pour illustrer les utilisations des arbres de regroupement, nous avons présenté une série de simulations et deux exemples d’analyses réelles, l’une utilisant le jeu de données iris classique et l’autre basée sur un jeu de données scRNA-seq complexe. Les deux exemples montrent comment une arborescence de clusters peut aider à décider de la résolution à utiliser et comment la superposition d’informations supplémentaires peut aider à valider ces clusters. Ceci est particulièrement utile pour l’analyse scRNA-seq car ces ensembles de données sont souvent volumineux, bruyants et contiennent un nombre inconnu de types de cellules ou de clusters.

Même lorsque la détermination du nombre de clusters n’est pas un problème, le regroupement d’arbres peut être un outil précieux. Ils fournissent une visualisation compacte et dense en informations qui peut afficher des informations résumées sur une gamme de clusters. En modifiant l’apparence des nœuds de cluster en fonction des attributs des échantillons qu’ils représentent, les clusters peuvent être évalués et les identités des clusters établies. Les arbres de regroupement ont potentiellement des applications dans de nombreux domaines et, à l’avenir, pourraient être adaptés pour être plus flexibles, par exemple en tenant compte des regroupements flous. Il peut également être utilisé pour des graphiques de clustering plus généraux pour combiner les résultats de plusieurs ensembles de paramètres ou méthodes de clustering.

Méthodes

clustree

Le progiciel clustree (v0.2.0) est conçu pour le langage de programmation statistique R (v3.5.0). Il repose sur le paquet ggraph (v1.0.1), qui est construit sur les paquets ggplot2 (v2.2.1) et tidygraph (v1.1.0). Les arborescences de clustering sont affichées à l’aide de la disposition d’arborescence Reingold-Tilford ou de la disposition Sugiyama ; les deux sont disponibles dans le package igraph (v1.2.1).

Les panneaux illustrés ici ont été produits à l’aide du package cowplot (v0.9.2).

Simulations

Des ensembles de données simulés ont été construits en générant des points à partir de distributions statistiques. La première simulation (simulation A) consiste en 1000 points générés aléatoirement à partir d’un espace à 100 dimensions en utilisant une distribution uniforme entre zéro et 10. La simulation B consiste en un seul groupe normalement distribué de 1 000 points dans 100 dimensions. Le centre de cette grappe a été choisi parmi une distribution normale de zéro moyen et d’écart type 10. Des points ont ensuite été générés autour de ce centre à partir d’une distribution normale avec une moyenne égale au point central et un écart type de 5. Les trois autres simulations ont été produites en ajoutant des grappes supplémentaires. Afin d’avoir une relation connue entre les clusters, le centre des nouveaux clusters a été créé en manipulant les centres des clusters existants. Pour le groupe 2, un vecteur aléatoire à 100 dimensions a été généré à partir d’une distribution normale avec un zéro moyen et un écart-type 2 et ajouté au centre du groupe 1. Le centre 3 était la moyenne du centre 1 et du centre 2 plus un vecteur aléatoire d’une distribution normale avec un zéro moyen et un écart type 5. Pour assurer une relation similaire entre les grappes 3 et 4 comme entre les grappes 1 et 2, le centre 4 a été produit en ajoutant la moitié du vecteur utilisé pour produire le centre 2 au centre 3 plus un autre vecteur à partir d’une distribution normale avec un zéro moyen et un écart type 2. Les points pour chaque cluster ont été générés de la même manière que pour le cluster 1. La simulation C se compose des points des groupes 1 et 2; la simulation D se compose des groupes 1, 2 et 3; et la simulation E se compose des clusters 1, 2, 3 et 4. Chaque jeu de données simulé a été regroupé à l’aide de la fonction « kmeans » dans le package de statistiques avec des valeurs de |kk$| de 1 à 8, un maximum de 100 itérations et 10 positions de départ aléatoires. Les visualisations d’arborescence de clustering ont été produites à l’aide du package clustree avec la disposition de l’arborescence. Les jeux de données simulés et le code utilisé pour les produire sont disponibles dans le référentiel de cet article.

Jeu de données Iris

Le jeu de données iris est disponible dans le cadre de R. Nous avons regroupé cet ensemble de données à l’aide de la fonction « kmeans » dans le package stats avec des valeurs de |kk$| de 1 à 5. Chaque valeur de /kk$/ a été regroupée avec un maximum de 100 itérations et avec 10 positions de départ aléatoires. Le package clustree a été utilisé pour visualiser les résultats à l’aide de la mise en page Sugiyama. L’ensemble de données iris en cluster est disponible dans le cadre du package clustree.

Jeu de données PBMC

Le jeu de données PBMC a été téléchargé à partir de la page du tutoriel Seurat, et ce tutoriel a été suivi pendant la majeure partie de l’analyse à l’aide de Seurat version 2.3.1. En bref, les cellules ont été filtrées en fonction du nombre de gènes qu’elles expriment et du pourcentage de comptes attribués aux gènes mitochondriaux. Les données ont ensuite été normalisées en logarithme et 1 838 gènes variables ont été identifiés. Les variables de confusion potentielles (nombre d’identificateurs moléculaires uniques et pourcentage d’expression mitochondriale) ont été régressées à partir de l’ensemble de données avant d’effectuer une analyse en composantes principales sur les gènes variables identifiés. Les 10 premières composantes principales ont ensuite été utilisées pour construire un graphique qui a été partitionné en grappes en utilisant l’optimisation de la modularité de Louvain avec des paramètres de résolution compris entre zéro et 5, par étapes de 0,1 entre zéro et 1, puis par étapes de 0,5. Clustree a ensuite été utilisé pour visualiser les résultats à l’aide de la disposition de l’arborescence.

Disponibilité du code source et des exigences

Nom du projet: clustree.

Page d’accueil du projet : https://github.com/lazappi/clustree.

Systèmes d’exploitation: Linux, macOS, Windows

Langage de programmation: R (> = 3.4)

Autres exigences: Aucune

Licence : GPL-3

Aucune restriction à utiliser par des non-universitaires : Aucune

RRID: SCR_016293

Disponibilité des données de support

Le package clustree est disponible auprès du CRAN et est en cours de développement sur GitHub. Le code et les jeux de données utilisés pour l’analyse présentés ici sont également disponibles sur GitHub. L’ensemble de données iris en cluster est inclus dans clustree, et l’ensemble de données PBMC peut être téléchargé à partir de la page de didacticiel Seurat ou du référentiel paper GitHub. Des instantanés du code sont disponibles dans le référentiel GigaScience, GigaDB.

Abréviations

PBMC: cellule mononucléaire du sang périphérique; scRNA-seq: séquençage de l’ARN unicellulaire.

Intérêts concurrents

Les auteurs déclarent qu’ils n’ont pas d’intérêts concurrents.

Financement

L.Z. est soutenu par une bourse du Programme de formation à la recherche du gouvernement australien. A.O. est soutenu par une bourse de perfectionnement professionnel du Conseil national de recherches en santé et en médecine (APP1126157). Le Murdoch Children’s Research Institute est soutenu par le Programme de soutien aux infrastructures opérationnelles du gouvernement de Victoria.

Contributions de l’auteur

L.Z. a conçu l’algorithme d’arborescence de clustering, écrit le progiciel clustree et rédigé le manuscrit. A.O. a supervisé le projet et commenté le manuscrit.

REMERCIEMENTS

Merci à Marek Cmero pour ses commentaires sur une ébauche du manuscrit et aux examinateurs pour leurs commentaires et suggestions.

Pour
NOUS

.

Analyse en grappes de données multivariées: efficacité par rapport à l’interprétabilité des classifications

.

Biométrie

.

1965

;

21

:

768

9

.

Macqueen
J

.

Quelques méthodes de classification et d’analyse d’observations multivariées

. En

5ème Symposium de Berkeley sur les Statistiques Mathématiques et les Probabilités

,

1967

.

Lloyd
S

.

Quantification des moindres carrés en PCM

.

Théorie de l’IEEE Trans Inf

.

1982

;

28

:

129

37

.

Kaufman
L

,

Rousseeuw
PJ

.

Partitionnement Autour Des Médoïdes (Programme PAM). Trouver des groupes dans les données

,

New Jersey, États-Unis

.

John Wiley & Fils, Inc

.

1990

. pp.

68

125

.

Ester
M

,

Kriegel
H-P

,

Ponceuse
J

, et al.

Algorithme basé sur la densité pour la découverte de clusters dans de grandes bases de données spatiales avec un bruit

.

Actes de la Deuxième Conférence Internationale sur la Découverte des Connaissances et l’Exploration de Données

.

Portland, Oregon

:

Presse AAAI

;

1996

. pp.

226

31

..

Disponible à partir de

:

Fraley
C

,

Raftery
AE

.

Clustering basé sur des modèles, analyse discriminante et estimation de densité

.

J Am Stat Assoc

.

2002

;

97

:

611

31

.

Thorndike
RL

.

Qui appartient à la famille ?

.

Psychométrika

.

1953

;

18

:

267

76

.

Rousseeuw
PJ

.

Silhouettes : aide graphique à l’interprétation et à la validation de l’analyse des grappes

.

J Comput Appl Math

.

1987

;

20

:

53

65

.

Luxburg
U von

.

Stabilité du clustering : un aperçu

.

Fondements et tendances de l’apprentissage automatique

.

2010

;

2

:

235

74

.

Ben-Hur
A

,

Elisseeff
A

,

Guyon
I

.

Méthode basée sur la stabilité pour découvrir une structure dans des données en cluster

.

Pac Symp Biocomput

.

2002

,

7

;

6

17

.

Kiselev
VY

,

Kirschner
K

,

Schaub
MT

et al.

SC3 : regroupement consensuel des données d’ARN-seq unicellulaires

.

Méthodes Nat

.

2017

;

14

:

483

6

.

Rebane
G

,

Perle
J

.

La Récupération des Poly-Arbres Causaux à partir de Données statistiques

.

2013

;

Disponible auprès de : http://arxiv.org/abs/1304.2736, Consulté le 16 mai 2018

.

Csardi
G

,

Nepusz
T

.

Le progiciel igraph pour la recherche sur les réseaux complexes

.

Systèmes complexes Inter-revues

.

2006

;

1695

:

1

9

.

Reingold
EM

,

Tilford
JS

.

Dessins plus ordonnés d’arbres

.

Logiciel Trans IEEE Eng

.

1981

;

SE-7

:

223

8

.

Sugiyama
K

,

Tagawa
S

,

Toda
M

.

Methods for visual understanding of hierarchical system structures

.

IEEE Trans Syst Man Cybern

.

1981

;

11

:

109

25

.

Anderson
E

.

Les iris de la péninsule gaspésienne

.

Bulletin de la Société américaine de l’Iris

.

1935

;

59

:

2

5

.

Fisher
RA

.

L’utilisation de mesures multiples dans les problèmes taxonomiques

.

Ann Eugen

.

1936

;

7

:

179

88

.

Tang
F

,

Barbacioru
C

,

Wang
Y

, et al.

Analyse du transcriptome entier de l’ARNm-seq d’une seule cellule

.

Méthodes Nat

.

2009

;

6

:

377

82

.

Stegle
O

,

Teichmann
SA

,

Marioni
JC

.

Défis informatiques et analytiques en transcriptomique unicellulaire

.

Nat Rev Genet

.

2015

;

16

:

133

45

.

Zheng
GXY

,

Terry
JM

,

Belgrader
P

, et al.

Profilage transcriptionnel numérique massivement parallèle de cellules uniques

.

Nat Commun

.

2017

;

8

:

14049

.

Satija
R

,

Farrell
JA

,

Gennert
D

, et al.

Reconstruction spatiale des données d’expression génique unicellulaire

.

Nat Biotechnol

.

2015

;

33

:

495

502

.

Pedersen
TL

.

ggraph : Une implémentation de la Grammaire des Graphiques pour les Graphiques et les Réseaux

.

2018

.

Disponible auprès du : https://CRAN.R-project.org/package=ggraph, Consulté le 21 mai, 2018

Wickham
H

.

ggplot2: Graphiques élégants pour l’analyse des données

.

New York

:

Springer

;

2010

.

Pedersen
TL

.

tidygraph : Une API Tidy pour la manipulation de graphes

.

2018

.

Disponible auprès de: https://CRAN.R-project.org/package=tidygraph, consulté en mai 21, 2018

Wilke
CO

.

cowplot: Thème de tracé simplifié et Annotations de tracé pour ‘ggplot2.’

.

2018

.

Disponible auprès de: https://CRAN.R-project.org/package=cowplot, consulté en mai 21, 2018

Zappia
L

,

Oshlack
A

.

dépôt GitHub clustree-paper

,

2018

.

Disponible auprès du : https://github.com/Oshlack/clustree-paper, Consulté le 21 mai 2018

.

Laboratoire Satija

.

Tutoriel Seurat PBMC3K

. ;

2018

.

Disponible à partir de: https://satijalab.org/seurat/pbmc3k_tutorial.html, consulté en mai 21, 2018

Blondel
VD

,

Guillaume
J-L

,

Lambiotte
R

, et al.

Déploiement rapide des communautés dans les grands réseaux

.

Mech statistique J

.

Publication de l’OIP

;

2008

;

2008

:

P10008

.

Zappia
L

,

Oshlack
A

.

clustree : Visualise les Clusterings à Différentes résolutions

.

2018

.

Disponible auprès de: https://CRAN.R-project.org/package=clustree, consulté en mai 21, 2018

Zappia
L

,

Oshlack
A

.

dépôt GitHub clustree

. ;

2018

.

Disponible auprès de : https://github.com/lazappi/clustree, Consulté le 21 mai 2018

.

Zappia
L

,

Oshlack
A

.

Données de support pour  » Clustering trees: une visualisation pour évaluer les clusterings à plusieurs résolutions. »

.

Base de données GigaScience

.

2018

. .

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.