- Abstract
- Inleiding
- bouwen van een Clustering Tree
- een demonstratie met simulaties
- een eenvoudig voorbeeld
- Clustering van bomen voor Scrna-seq-gegevens
- discussie
- methoden
- clustree
- simulaties
- Iris-dataset
- PBMC-dataset
- beschikbaarheid van broncode en vereisten
- beschikbaarheid van ondersteunende gegevens
- Afkortingen
- concurrerende belangen
- financiering
- Auteursbijdragen
Abstract
Clustering techniques are widely used in the analysis of large datasets to group to group samples with similar properties. Bijvoorbeeld, wordt het clusteren vaak gebruikt op het gebied van eencellig RNA-rangschikkend om verschillende celtypes huidig in een weefselsteekproef te identificeren. Er zijn veel algoritmen voor het uitvoeren van clustering, en de resultaten kunnen aanzienlijk variëren. In het bijzonder is het aantal groepen aanwezig in een dataset vaak onbekend, en het aantal clusters dat door een algoritme wordt geà dentificeerd kan op basis van de gebruikte parameters veranderen. Om de impact van verschillende clustering resolutie te onderzoeken, presenteren we clustering bomen. Deze visualisatie toont de relaties tussen clusters bij veelvoudige resoluties, toestaand onderzoekers om te zien hoe de steekproeven bewegen aangezien het aantal clusters toeneemt. Bovendien kan meta-informatie op de boom worden gelegd om de keuze van de resolutie te informeren en te begeleiden bij de identificatie van clusters. We illustreren de kenmerken van het clusteren van bomen met behulp van een reeks simulaties en twee echte voorbeelden, de klassieke iris-dataset en een complexe eencellige RNA-sequencing-dataset. Clustering bomen kunnen worden geproduceerd met behulp van de clustree R pakket, verkrijgbaar bij CRAN en ontwikkeld op GitHub.
Inleiding
Clustering analyse wordt vaak gebruikt om soortgelijke monsters te groeperen over een breed scala van toepassingen. Typisch, is het doel van het clusteren om groepen steekproeven te vormen die meer aan elkaar dan aan steekproeven in andere groepen gelijkaardig zijn. Terwijl de vage of zachte het clusteren benaderingen elke steekproef aan elke cluster met één of andere waarschijnlijkheid toewijzen, en hiërarchische het clusteren vormt een boom van steekproeven, vormen de meeste methodes harde clusters waar elke steekproef aan één enkele groep wordt toegewezen. Dit doel kan op verschillende manieren worden bereikt, zoals door de afstanden tussen monsters (bijvoorbeeld |$k$|-means, PAM), dichtheidsgebieden in de dataset (bijvoorbeeld DBSCAN) of relaties met statistische distributies te overwegen .
in veel gevallen is het aantal groepen dat in een dataset aanwezig moet zijn niet van tevoren bekend, en het bepalen van het juiste aantal clusters is een belangrijke uitdaging. Voor sommige algoritmen, zoals|$k$ / -means clustering, moet het aantal clusters expliciet worden opgegeven. Andere methoden hebben parameters die, direct of indirect, de clustering resolutie en daarom het aantal geproduceerde clusters controleren. Hoewel er methoden en statistieken (zoals de elleboogmethode en silhouet plots ) ontworpen om analisten te helpen beslissen welke clustering resolutie te gebruiken, produceren ze meestal een enkele score die slechts een enkele set van monsters of clusters tegelijk overweegt.
een alternatieve benadering zou zijn om clusterings met meerdere resoluties te overwegen en te onderzoeken hoe samples van groepering veranderen naarmate het aantal clusters toeneemt. Dit heeft geleid tot een reeks maatregelen voor clusterstabiliteit , waarvan veel afhankelijk zijn van het clusteren van verontrustende of subsampled datasets. Het modelverkenner-algoritme maakt bijvoorbeeld meerdere malen deelmonsters van een dataset, clusteert elke subsampled dataset op verschillende resoluties en berekent vervolgens een gelijkenis tussen clusterings met dezelfde resolutie om een verdeling van overeenkomsten te geven die de keuze van de resolutie kan bepalen . Één maatregel van de clusterstabiliteit die niet op verstoringen wordt gebaseerd is die vervat in het SC3-pakket voor het clusteren van single-cell RNA-rangschikkend (scrna-seq) gegevens . Beginnend met een reeks clusterlabels bij verschillende resoluties, wordt elke cluster gescoord, met clusters toegekend verhoogde stabiliteit als zij dezelfde steekproeven als een cluster bij een andere resolutie delen maar voor het zijn bij een hogere resolutie worden bestraft.
een vergelijkbare eenvoudige benadering wordt gevolgd door de clustering tree visualisatie die we hier presenteren, zonder scores te berekenen: (i) een dataset wordt geclusterd met behulp van een hard clustering algoritme bij meerdere resoluties, waardoor sets clusterknooppunten worden geproduceerd; (ii) de overlap tussen clusters bij aangrenzende resoluties wordt gebruikt om randen op te bouwen; en (iii) de resulterende grafiek wordt gepresenteerd als een boom. Deze boom kan worden gebruikt om te onderzoeken hoe clusters met elkaar verbonden zijn-welke clusters verschillend zijn en welke onstabiel zijn. In de volgende secties beschrijven we hoe we zo ‘ n boom construeren en presenteren we voorbeelden van bomen die zijn opgebouwd uit een klassieke clustering dataset en een complexe scrna-seq dataset. De hier getoonde cijfers kunnen in R worden geproduceerd met behulp van ons publiek beschikbare clustree pakket. Hoewel clustering bomen niet direct een clustering resolutie te gebruiken, kunnen ze een nuttig instrument voor het verkennen en visualiseren van de waaier van mogelijke keuzes.
bouwen van een Clustering Tree
om een clustering tree te bouwen, beginnen we met een set clustering en wijzen we monsters toe aan groepen met verschillende resoluties. Deze zouden kunnen worden geproduceerd gebruikend om het even welk hard-clustering algoritme dat controle van het aantal clusters op één of andere manier toestaat. Bijvoorbeeld, dit kan een set van monsters geclusterd met behulp van|$k$ / -middelen met |$k\,\, = \,\,1,2,3$| zoals in Fig. 1. We Sorteren deze clusterings zodat ze worden gerangschikt door het verhogen van de resolutie (|$k$/), dan overwegen paren van aangrenzende clusterings. Elke cluster / ${C_{k,\,\,i}}$ / (waar / $i\,\, = \,\,1,\,\, \ldots,\,\, n$ / en / $n$ / is het aantal clusters bij Resolutie / $k$/) wordt vergeleken met elke cluster / ${C_{k + 1,\,\, j}}$ / (waarbij / $j\,\, = \,\,1,\,\, \ldots,\,\, m$ / en / $m$ / is het aantal clusters bij Resolutie / $k + 1$/). De overlap tussen de twee clusters wordt berekend als het aantal monsters dat is toegewezen aan beide / ${C_{k,\,\, i}}$ |en|${c_{k + 1,\,\,j}}$/. Vervolgens bouwen we een grafiek waarin elk knooppunt een cluster is en elke rand een overlap is tussen twee clusters. Hoewel we naar deze grafiek verwijzen als een boom voor de eenvoud, kan het juister worden omschreven als een polytree, een speciaal geval van een gerichte acyclische grafiek waar de onderliggende niet-gerichte grafiek een boom is .
illustratie van de stappen die nodig zijn om een clustering boom te bouwen. Ten eerste moet een dataset geclusterd worden met verschillende resoluties. De overlapping in steekproeven tussen clusters bij aangrenzende resoluties wordt berekend en gebruikt om in verhouding voor elke rand te berekenen. Tot slot worden de randen gefilterd en de grafiek gevisualiseerd als een boom.
illustratie van de stappen die nodig zijn om een clustering boom te bouwen. Ten eerste moet een dataset geclusterd worden met verschillende resoluties. De overlapping in steekproeven tussen clusters bij aangrenzende resoluties wordt berekend en gebruikt om in verhouding voor elke rand te berekenen. Tot slot worden de randen gefilterd en de grafiek gevisualiseerd als een boom.
veel van de randen zullen leeg zijn, bijvoorbeeld in Fig. 1 geen monsters in cluster A bij / $k\,\, = \,\,2$| eindig in cluster B op |$k\,\, = \,\,3$|. In sommige datasets kunnen er ook randen zijn die weinig voorbeelden bevatten. Deze randen zijn niet informatief en resulteren in een rommelige boom. Een voor de hand liggende oplossing voor het verwijderen van niet-informatieve, lage telling randen is om ze te filteren met behulp van een drempel op het aantal monsters dat ze vertegenwoordigen. In dit geval is de telling van monsters echter niet de juiste statistiek om te gebruiken omdat het randen bij lagere resoluties en die die grotere clusters verbinden bevoordeelt. In plaats daarvan definiëren we de in-proportionele metriek als de verhouding tussen het aantal monsters aan de rand en het aantal monsters in de cluster waar het naar toe gaat. Deze maatstaf toont het belang van de rand voor het cluster met een hogere resolutie, onafhankelijk van de clustergrootte. We kunnen dan een drempel toepassen op de in-proportion om minder informatieve randen te verwijderen.
de laatste grafiek kan dan worden gevisualiseerd. In theorie kan elke grafiek lay-out algoritme worden gebruikt. Voor het clustree-pakket hebben we echter gebruik gemaakt van de twee algoritmen die specifiek zijn ontworpen voor boomstructuren die beschikbaar zijn in het igraph-pakket . Dit zijn de Reingold-Tilford tree lay-out, die ouderknooppunten boven hun kinderen plaatst, en de Sugiyama lay-out, die knooppunten van een gerichte acyclische grafiek in lagen plaatst terwijl het aantal kruisende randen wordt geminimaliseerd . Beide algoritmen kunnen aantrekkelijke lay-outs produceren; als zodanig hebben we niet de noodzaak gevonden om een specifiek lay-outalgoritme te ontwerpen voor het clusteren van bomen. Standaard gebruikt het clustree-pakket slechts een subset van randen bij het maken van een opmaak, met name de hoogste proportionele randen voor elk knooppunt. We hebben ontdekt dat dit vaak leidt tot meer interpreteerbare visualisaties; echter, gebruikers kunnen ervoor kiezen om alle randen te gebruiken indien gewenst.
ongeacht de gebruikte opmaak plaatst de uiteindelijke visualisatie de clusterknooppunten in een reeks lagen waarbij elke laag een andere clusterresolutie heeft en randen de overgang van monsters door deze resoluties weergeven. Randen worden gekleurd volgens het aantal monsters dat ze vertegenwoordigen, en de in-proportionele metriek wordt gebruikt om de randtransparantie te controleren, waarbij belangrijke randen worden gemarkeerd. Standaard wordt de knooppuntgrootte aangepast aan het aantal monsters in het cluster en de kleur ervan geeft de clusterresolutie aan. Het clustree pakket bevat ook opties voor het controleren van de esthetiek van knooppunten op basis van de attributen van monsters in de clusters die zij vertegenwoordigen, zoals getoond in de volgende voorbeelden.
hoewel een clusterende boom conceptueel vergelijkbaar is met de boom die door hiërarchische clustering wordt geproduceerd, zijn er enkele belangrijke verschillen. De meest voor de hand liggende zijn dat een hiërarchische clustering boom is het resultaat van een bepaald clustering algoritme en toont de relaties tussen individuele monsters, terwijl de clustering bomen hier beschreven zijn onafhankelijk van clustering methode en tonen relaties tussen clusters. De takken van een hiërarchische boom laten zien hoe het clustering algoritme samples heeft samengevoegd. In tegenstelling, randen in een clustering boom laten zien hoe monsters bewegen tussen clusters als de resolutie verandert en knooppunten kunnen meerdere ouders hebben. Hoewel het mogelijk is om informatie over monsters op een hiërarchische boom te overlappen, wordt dit niet vaak gedaan, maar is het een belangrijk kenmerk van het clustree-pakket en hoe clustering bomen in de praktijk zouden kunnen worden gebruikt.
een demonstratie met simulaties
om aan te tonen hoe een clustering boom er in verschillende situaties uit kan zien en hoe het zich gedraagt als een dataset is overclusterd, presenteren we enkele illustratieve voorbeelden met behulp van eenvoudige simulaties (zie methoden). We presenteren vijf scenario ‘ s: random uniform ruis (simulatie A), een enkele cluster (simulatie B), twee clusters (simulatie C), drie clusters (simulatie D) en vier clusters (simulatie E). Elke cluster bestaat uit 1.000 samples (punten) gegenereerd uit een 100-dimensionale normale distributie, en elke synthetische dataset is geclusterd met behulp van|$k$ / -means clustering met |$k\,\, = \,\,1,\,\, \ldots, 8$|. Vervolgens gebruiken we het clustree-pakket om clustering-bomen te produceren voor elke dataset (Fig. 2).
vijf synthetische datasets die worden gebruikt om clustering bomen aan te tonen. Voor elke dataset wordt een scatterplot van de eerste twee belangrijkste componenten, een standaard clustering boom, en clustering boom met knooppunten gekleurd door de SC3 stabiliteitsindex van paars (laagste) naar geel (hoogste) weergegeven. De vijf datasets bevatten: (A) willekeurige uniforme ruis, (B) een enkele cluster, (C) twee clusters, (D) drie clusters, en (e) vier clusters.
vijf synthetische datasets die worden gebruikt om clustering bomen aan te tonen. Voor elke dataset wordt een scatterplot van de eerste twee belangrijkste componenten, een standaard clustering boom, en clustering boom met knooppunten gekleurd door de SC3 stabiliteitsindex van paars (laagste) naar geel (hoogste) weergegeven. De vijf datasets bevatten: (A) willekeurige uniforme ruis, (B) een enkele cluster, (C) twee clusters, (D) drie clusters, en (e) vier clusters.
kijkend naar de eerste twee voorbeelden (uniforme ruis en een enkele cluster ), kunnen we duidelijk zien hoe een clustering boom zich gedraagt wanneer een clustering algoritme meer clusters retourneert dan werkelijk aanwezig zijn in een dataset. Nieuwe clusters beginnen zich te vormen uit veelvoudige bestaande clusters, en vele steekproeven schakelen tussen takken van de boom, resulterend in Lage in-verhouding randen. Onstabiele clusters kunnen ook verschijnen en dan verdwijnen als de resolutie toeneemt, zoals gezien in Fig. 2E. als we meer structuur toevoegen aan de datasets, beginnen de clustering bomen duidelijke takken te vormen en laag in verhouding randen worden meestal beperkt tot delen van de boom. Door te kijken welke clusters stabiel zijn en waar laag in verhouding randen ontstaan, kunnen we afleiden welke gebieden van de boom waarschijnlijk het resultaat zijn van echte clusters en welke veroorzaakt worden door overclusting.
de tweede clustering boom voor elke dataset toont knooppunten gekleurd volgens de SC3 stabiliteitsindex voor elk cluster. Zoals we zouden verwachten, ontvangt geen enkel cluster een hoge stabiliteitsscore in de eerste twee voorbeelden. Hoewel we duidelijk twee takken in de clustering boom zien voor het twee-cluster voorbeeld (simulatie C), wordt dit niet weerspiegeld in de SC3 scores. Geen cluster ontvangt een hoge stabiliteitsscore, hoogstwaarschijnlijk wegens het grote aantal steekproeven die tussen clusters bewegen aangezien de resolutie toeneemt. Aangezien er meer echte clusters in de gesimuleerde datasets zijn, worden de SC3 stabiliteitsscores voorspelbaarder voor de juiste te gebruiken resolutie. Nochtans, is het belangrijk om de stabiliteitsscores van alle clusters bij een bepaalde resolutie te bekijken aangezien het nemen van de hoogste individuele score van de clusterstabiliteit tot de onjuiste resolutie zou kunnen leiden die wordt gebruikt, zoals in het vier-clustervoorbeeld (simulatie E) kan worden gezien. Deze voorbeelden laten zien hoe clustering bomen kunnen worden gebruikt om bestaande clustering statistieken weer te geven op een manier die kan helpen om parameterkeuzes te informeren.
een eenvoudig voorbeeld
om verder te illustreren hoe een clustering boom wordt gebouwd, zullen we een voorbeeld gebruiken met behulp van de klassieke iris dataset . Deze dataset bevat metingen van de kelklengte, kelkbreedte, bloemblaadlengte en bloemblaadbreedte van 150 iris bloemen, 50 van elk van drie soorten: Iris setosa, Iris versicolor, en Iris virginica. De iris-dataset wordt vaak gebruikt als voorbeeld voor zowel clustering-als classificatieproblemen waarbij de I. setosa-monsters significant verschillen van, en lineair scheidbaar zijn van, de andere monsters. We hebben deze dataset geclusterd met behulp van |$k$ / – middelen clustering met |$k\,\, = \,\,1,\,\, \ldots, 5$ / en produceerde de clustering boom weergegeven in Fig. 3A.
Clustering van bomen op basis van / $k$ / – betekent clustering van de iris-dataset. (A) knopen worden gekleurd volgens de waarde van |$k$| en de grootte volgens het aantal monsters die zij vertegenwoordigen. De randen zijn gekleurd volgens het aantal monsters (van blauw dat weinig voorstelt tot geel dat veel voorstelt). De transparantie wordt aangepast aan de verhouding, met sterkere lijnen die randen tonen die belangrijker zijn voor het cluster met een hogere resolutie. Clusterlabels worden willekeurig toegewezen door het|$k$ / -means algoritme. (B) dezelfde boom met de kleur van de knoop veranderd om de gemiddelde lengte van het bloemblaadje van de monsters in elke cluster weer te geven.
Clustering van bomen op basis van / $k$ / – betekent clustering van de iris-dataset. (A) knopen worden gekleurd volgens de waarde van |$k$| en de grootte volgens het aantal monsters die zij vertegenwoordigen. De randen zijn gekleurd volgens het aantal monsters (van blauw dat weinig voorstelt tot geel dat veel voorstelt). De transparantie wordt aangepast aan de verhouding, met sterkere lijnen die randen tonen die belangrijker zijn voor het cluster met een hogere resolutie. Clusterlabels worden willekeurig toegewezen door het|$k$ / -means algoritme. (B) dezelfde boom met de kleur van de knoop veranderd om de gemiddelde lengte van het bloemblaadje van de monsters in elke cluster weer te geven.
We zien dat één tak van de boom duidelijk verschillend is (vermoedelijk vertegenwoordigt I. setosa), onveranderd blijft ongeacht het aantal clusters. Aan de andere kant zien we dat de cluster op / $k\,\, = \,\,2$| splitst zich netjes in twee clusters (vermoedelijk I. versicolor en I. virginica) op / $k\,\, = \,\,3$|. Echter, als we verhuizen naar / $k\,\, = \,\,4$| en / $k\,\, = \,\,5$|, we zien clusters worden gevormd uit meerdere takken met meer laag in verhouding randen. Zoals we in de gesimuleerde voorbeelden hebben gezien, kan dit soort patroon erop wijzen dat de gegevens overcluster zijn geworden en we zijn begonnen met het invoeren van kunstmatige groeperingen.
we kunnen onze aanname controleren dat de afzonderlijke tak de I. setosa monsters vertegenwoordigt en dat de andere twee clusters op |$k\,\, = \,\,3$| zijn I. versicolor en I. virginica door het overlappen van enkele bekende informatie over de monsters. In Fig. 3B we hebben de knooppunten gekleurd door de gemiddelde bloemblaadlengte van de monsters die ze bevatten. We kunnen nu zien dat clusters in de verschillende branch de kortste bloemblaadjes hebben, met cluster 1 bij / $k\,\, = \,\,3$| met een tussenliggende lengte en cluster 3 met de langste bloemblaadjes. Deze eigenschap is bekend om de monsters te scheiden in de verwachte soort, met I. setosa hebben de kortste bloemblaadjes gemiddeld, I. versicolor een gemiddelde lengte, en I. virginica de langste.
hoewel dit een zeer eenvoudig voorbeeld is, belicht het enkele voordelen van het bekijken van een clustering boom. We krijgen enige indicatie van de juiste clustering resolutie door het onderzoeken van de randen, en we kunnen overlay bekende informatie om de kwaliteit van de clustering te beoordelen. Als we bijvoorbeeld zouden zien dat alle clusters dezelfde gemiddelde bloemblaadlengte hadden, zou het suggereren dat de clustering niet succesvol is geweest omdat we weten dat dit een belangrijk kenmerk is dat de soort scheidt. We kunnen mogelijk meer leren door te kijken naar welke samples laag-proportionele randen volgen of door een reeks functies te overlappen om te proberen te begrijpen wat ervoor zorgt dat bepaalde clusters splitsen.
Clustering van bomen voor Scrna-seq-gegevens
een veld dat intensief gebruik begint te maken van clustering-technieken is de analyse van scrna-seq-gegevens. het scrna-rangschikken is een recent ontwikkelde technologie die kan meten hoe genen in duizenden aan miljoenen individuele cellen worden uitgedrukt . Deze technologie is snel goedgekeurd op gebieden zoals ontwikkelingsbiologie en immunologie waar het waardevol is om informatie van enige cellen eerder dan metingen te hebben die over de vele verschillende cellen in een steekproef worden gemiddeld gebruikend oudere technologieën van RNA-seq. Een zeer belangrijk gebruik voor scrna-seq is om de verschillende celtypes huidig in een steekproef van een complex weefsel te ontdekken en te ondervragen. In deze situatie, wordt het clusteren typisch gebruikt om gelijkaardige cellen te groeperen die op hun profielen van de genuitdrukking worden gebaseerd. De verschillen in genuitdrukking tussen groepen kunnen dan worden gebruikt om de identiteit of de functie van die cellen af te leiden . Het aantal celtypes (clusters) in een scrna-seq dataset kan variëren afhankelijk van factoren zoals het weefsel dat wordt bestudeerd, zijn ontwikkelings-of milieutoestand, en het aantal gevangen cellen. Vaak, is het aantal celtypes niet gekend alvorens de gegevens worden geproduceerd, en sommige steekproeven kunnen tientallen clusters bevatten. Daarom is beslissen welke clustering resolutie te gebruiken een belangrijke overweging in deze toepassing.
als voorbeeld van hoe clustering bomen kunnen worden gebruikt in de scrna-seq context, beschouwen we een veelgebruikte perifere bloed mononucleaire cel (PBMC) dataset. Deze dataset werd oorspronkelijk geproduceerd door 10x Genomics en bevat 2700 perifere bloed mononucleaire cellen, die een reeks van goed bestudeerde immuunceltypen vertegenwoordigen . We analyseerden deze dataset met behulp van het Seurat pakket , een veelgebruikte toolkit voor scrna-seq analyse, volgens de instructies in hun tutorial met uitzondering van het variëren van de clustering resolutie parameter van nul tot 5 (Zie methoden). Seurat gebruikt een graph-based clustering algoritme, en de resolutie parameter controleert de partitionering van deze grafiek, met hogere waarden resulterend in meer clusters. De uit deze analyse voortgekomen clustering van bomen is weergegeven in Fig. 4.
twee clustering bomen van een dataset van 2.700 PBMC ‘ s. (A) resultaten van clustering met behulp van Seurat met resolutieparameters van nul tot 1. Bij een resolutie van 0,1 zien we de vorming van vier hoofdtakken, waarvan er één blijft splitsen tot een resolutie van 0,4, waarna er slechts kleine veranderingen zijn. B) resoluties van nul tot en met 5. Bij de hoogste resoluties beginnen we veel laag in verhouding randen te zien, wat wijst op cluster instabiliteit. Seurat labels clusters volgens hun grootte, met cluster 0 is de grootste.
twee clustering bomen van een dataset van 2.700 PBMC ‘ s. (A) resultaten van clustering met behulp van Seurat met resolutieparameters van nul tot 1. Bij een resolutie van 0,1 zien we de vorming van vier hoofdtakken, waarvan er één blijft splitsen tot een resolutie van 0,4, waarna er slechts kleine veranderingen zijn. B) resoluties van nul tot en met 5. Bij de hoogste resoluties beginnen we veel laag in verhouding randen te zien, wat wijst op cluster instabiliteit. Seurat labels clusters volgens hun grootte, met cluster 0 is de grootste.
de clustering boom die resoluties 0 tot 1 in stappen van 0,1 (Fig. 4A) laat zien dat vier hoofdtakken zich vormen met een resolutie van slechts 0,1. Een van deze branches, beginnend met cluster 3 bij Resolutie 0.1, blijft onveranderd, terwijl de branch beginnend met cluster 2 slechts één keer splitst met een resolutie van 0.4. Het grootste deel van de vertakking komt in de vertakking voor die met cluster 1 begint, die consequent subtakken heeft afgesplitst om nieuwe clusters te vormen aangezien de resolutie toeneemt. Er zijn twee stabiliteitsgebieden in deze boom—Bij resolutie 0.4–0.5 en resolutie 0.7–1.0 waar de tak die begint bij cluster 0 in tweeën splitst.
Fig. 4B toont een clustering boom met een groter bereik van resoluties, van nul tot 5 in stappen van 0,5. Door over dit bereik te kijken, kunnen we zien wat er gebeurt als het algoritme wordt gedwongen om meer clusters te produceren dan waarschijnlijk echt aanwezig zijn in deze dataset. Als overclustering optreedt, beginnen we meer Lage in-proportionele randen te zien en nieuwe clusters die zich uit meerdere ouderclusters vormen. Dit suggereert dat die gebieden van de boom onstabiel zijn en dat de nieuwe clusters die worden gevormd waarschijnlijk geen echte groepen in de dataset vertegenwoordigen.
bekende markergenen worden vaak gebruikt om de celtypen te identificeren waarmee specifieke clusters corresponderen. Het overlappende de informatie van de genuitdrukking op een het clusteren boom verstrekt een alternatieve mening die kan helpen om op te geven wanneer clusters die zuivere celpopulaties bevatten worden gevormd. Figuur 5 toont de PBMC clustering boom in Fig. 4A bedekt met de expressie van sommige bekende markergenen.
Clustering bomen van de PBMC dataset gekleurd volgens de expressie van bekende markers. De knoopkleuren geven het gemiddelde van de log2 gentellingen van steekproeven in elke cluster aan. CD19 (a) identificeert B cellen, CD14 (B) toont een populatie van monocyten, CD3D (C) is een marker van T cellen, en ccr7 (D) toont de splitsing tussen geheugen en naïeve CD4 T cellen.
Clustering bomen van de PBMC dataset gekleurd volgens de expressie van bekende markers. De knoopkleuren geven het gemiddelde van de log2 gentellingen van steekproeven in elke cluster aan. CD19 (a) identificeert B cellen, CD14 (B) toont een populatie van monocyten, CD3D (C) is een marker van T cellen, en ccr7 (D) toont de splitsing tussen geheugen en naïeve CD4 T cellen.
door deze extra informatie toe te voegen, kunnen we snel enkele celtypen identificeren. CD19 (vijg. 5A) is een marker van B-cellen en wordt duidelijk uitgedrukt in de meest duidelijke tak van de boom. CD14 (vijg. 5B) is een marker van een type monocyt, die meer tot uitdrukking komt als we één van de centrale takken volgen, waardoor we kunnen zien welke resolutie een zuivere populatie van deze cellen identificeert. CD3D (vijg. 5C) is een algemene teller van T-cellen en wordt uitgedrukt in twee afzonderlijke takken, één die in lage en hoge uitdrukking van ccr7 splitst (Fig. 5D), die geheugen en naïeve CD4 T-cellen scheiden. Door expressie van bekende genen toe te voegen aan een clustering boom, kunnen we zien of meer populaties kunnen worden geà dentificeerd als de clustering resolutie is verhoogd en of clusters consistent zijn met bekende biologie. Voor het grootste deel van de Seurat tutorial wordt een resolutie van 0,6 gebruikt, maar de auteurs merken op dat door te gaan naar een resolutie van 0,8, een splitsing kan worden bereikt tussen geheugen en naïeve CD4 T-cellen. Dit is een splitsing die kan worden verwacht door te kijken naar de clustering boom met de toevoeging van voorafgaande informatie.
discussie
het clusteren van soortgelijke monsters in groepen is een nuttige techniek op veel gebieden, maar vaak worden analisten geconfronteerd met het lastige probleem om te beslissen welke clustering resolutie te gebruiken. De traditionele benaderingen van dit probleem beschouwen typisch één cluster of steekproef tegelijk en kunnen op voorkennis van steekproefetiketten steunen. Hier presenteren we clustering trees, een alternatieve visualisatie die de relaties tussen clusterings in meerdere resoluties toont. Hoewel het clusteren van bomen niet direct kan suggereren welke clustering resolutie te gebruiken, ze kunnen een nuttig instrument om te helpen bij het nemen van die beslissing, met name in combinatie met andere statistieken of domein kennis.
Clusterende bomen geven aan hoe clusters worden verdeeld naarmate de resolutie toeneemt, welke clusters duidelijk gescheiden en verschillend zijn, die aan elkaar gerelateerd zijn, en hoe monsters van groep veranderen naarmate meer clusters worden geproduceerd. Hoewel het clusteren van bomen kan lijken op de bomen geproduceerd door hiërarchische clustering, zijn er verschillende belangrijke verschillen. Hiërarchische clustering houdt rekening met de relaties tussen individuele monsters en biedt geen voor de hand liggende manier om groepen te vormen. In tegenstelling, clustering bomen zijn onafhankelijk van om het even welke bepaalde clustering methode en tonen de relaties tussen clusters, eerder dan steekproeven, bij verschillende resoluties, die om het even welk voor verdere analyse zouden kunnen worden gebruikt.
om het gebruik van clustering van bomen te illustreren, presenteerden we een reeks simulaties en twee voorbeelden van echte analyses, een met behulp van de klassieke iris-dataset en een tweede op basis van een complexe scrna-seq-dataset. Beide voorbeelden laten zien hoe een clustering boom kan helpen de beslissing van welke resolutie te gebruiken en hoe overlapping extra informatie kan helpen om die clusters te valideren. Dit is van bijzonder gebruik aan scrna-seq analyse aangezien deze datasets vaak groot, lawaaierig zijn, en een onbekend aantal celtypes of clusters bevatten.
zelfs wanneer het bepalen van het aantal clusters geen probleem is, kan het clusteren van bomen een waardevol hulpmiddel zijn. Ze bieden een compacte, informatie-dichte visualisatie die samengevatte informatie over een waaier van clusters kan weergeven. Door het uiterlijk van clusterknooppunten te wijzigen die op attributen van de steekproeven worden gebaseerd die zij vertegenwoordigen, kunnen clusterings worden geëvalueerd en identiteiten van clusters worden vastgesteld. Clustering van bomen heeft potentieel toepassingen op vele gebieden en kan in de toekomst worden aangepast om flexibeler te zijn, bijvoorbeeld door het opvangen van fuzzy clusterings. Er kunnen ook toepassingen zijn voor meer algemene clustering grafieken om resultaten van meerdere reeksen parameters of clustering methoden te combineren.
methoden
clustree
het clustree-softwarepakket (v0. 2.0) is gebouwd voor de statistische programmeertaal R (v3.5.0). Het is gebaseerd op het ggraph pakket (v1.0.1) , dat is gebouwd op de ggplot2 (v2.2.1) en tidygraph (v1.1.0) pakketten. Clustering bomen worden weergegeven met behulp van de Reingold-Tilford boom lay-out of de Sugiyama lay-out; beide zijn beschikbaar als onderdeel van de igraph pakket (v1.2.1).
hier afgebeelde panelen werden vervaardigd met behulp van de cowplot-verpakking (v0.9.2) .
simulaties
gesimuleerde datasets werden geconstrueerd door het genereren van punten uit statistische distributies. De eerste simulatie (simulatie A) bestaat uit 1.000 willekeurig gegenereerde punten uit een 100-dimensionale ruimte met behulp van een uniforme verdeling tussen nul en 10. Simulatie B bestaat uit één normaal verdeelde cluster van 1.000 punten in 100 dimensies. Het centrum van deze cluster werd gekozen uit een normale verdeling met gemiddelde nul en standaardafwijking 10. Punten werden vervolgens gegenereerd rond dit centrum uit een normale verdeling met een gemiddelde gelijk aan het middelpunt en een standaardafwijking van 5. De overige drie simulaties werden geproduceerd door extra clusters toe te voegen. Om een bekende relatie tussen clusters te hebben, werd het centrum voor de nieuwe clusters gecreëerd door de centra van bestaande clusters te manipuleren. Voor cluster 2 werd een willekeurige 100-dimensionale vector gegenereerd uit een normale verdeling met gemiddelde nul en standaardafwijking 2 en toegevoegd aan het centrum voor cluster 1. Centrum 3 was het gemiddelde van Centrum 1 en Centrum 2 plus een willekeurige vector van een normale verdeling met gemiddelde nul en standaarddeviatie 5. Om een soortgelijke relatie tussen clusters 3 en 4 als tussen clusters 1 en 2 te verzekeren, werd centrum 4 geproduceerd door de helft van de vector toe te voegen die wordt gebruikt om Centrum 2 Aan centrum 3 te produceren plus een andere vector van een normale verdeling met gemiddelde nul en standaardafwijking 2. Punten voor elk cluster werden op dezelfde manier gegenereerd als voor cluster 1. Simulatie C bestaat uit de punten in clusters 1 en 2; simulatie D bestaat uit clusters 1, 2 en 3; en simulatie E bestaat uit clusters 1, 2, 3 en 4. Elke gesimuleerde dataset werd geclusterd met behulp van de functie” kmeans ” in het stats-pakket met waarden van |$k$| van 1 tot 8, een maximum van 100 iteraties en 10 willekeurige startposities. De clustering tree visualisaties werden geproduceerd met behulp van het clustree pakket met de boom lay-out. De gesimuleerde datasets en de code die gebruikt wordt om ze te produceren zijn beschikbaar in de repository voor dit artikel .
Iris-dataset
de iris-dataset is beschikbaar als onderdeel van R. We hebben deze dataset geclusterd met behulp van de functie” kmeans ” in het pakket statistieken met waarden van |$k$| van 1 tot 5. Elke waarde van / $k$ / werd geclusterd met een maximum van 100 iteraties en met 10 willekeurige startposities. Het clustree pakket werd gebruikt om de resultaten te visualiseren met behulp van de Sugiyama lay-out. De geclusterde iris-dataset is beschikbaar als onderdeel van het clustree-pakket.
PBMC-dataset
de PBMC-dataset werd gedownload van de pagina Seurat-tutorial , en deze tutorial werd gevolgd voor het grootste deel van de analyse met Seurat Versie 2.3.1. Kort, werden de cellen gefilterd op basis van het aantal genen zij uitdrukken en het percentage van Tellingen toegewezen aan mitochondrial genen. De gegevens werden toen log-genormaliseerd en 1.838 veranderlijke genen geà dentificeerd. Potentiële confounding variabelen (aantal unieke moleculaire identifiers en percentage mitochondriale expressie) werden regressed uit de dataset voordat het uitvoeren van de belangrijkste component analyse op de geïdentificeerde variabele genen. De eerste 10 belangrijkste componenten werden vervolgens gebruikt om een grafiek te bouwen die werd verdeeld in clusters met behulp van Leuven modulariteitsoptimalisatie met resolutieparameters in het bereik nul tot 5, in stappen van 0,1 tussen nul en 1, en vervolgens in stappen van 0,5. Clustree werd vervolgens gebruikt om de resultaten te visualiseren met behulp van de boom lay-out.
beschikbaarheid van broncode en vereisten
Projectnaam: clustree.
startpagina van het Project: https://github.com/lazappi/clustree.
besturingssystemen: Linux, MacOS, Windows
programmeertaal: R (> = 3.4)
andere voorschriften: Geen
licentie: GPL-3
beperkingen voor gebruik door niet-academici: geen
RRID:SCR_016293
beschikbaarheid van ondersteunende gegevens
het clustree-pakket is beschikbaar bij CRAN en wordt ontwikkeld op GitHub . De code en datasets die gebruikt worden voor de hier gepresenteerde analyse zijn ook beschikbaar bij GitHub . De geclusterde iris dataset is opgenomen als onderdeel van clustree, en de PBMC dataset kan worden gedownload van de Seurat tutorial pagina of de paper GitHub repository. Snapshots van de code zijn beschikbaar in de gigascience repository, GigaDB .
Afkortingen
PBMC: mononucleaire perifere bloedcel; scrna-seq: single-cell RNA-sequencing.
concurrerende belangen
de auteurs verklaren geen concurrerende belangen te hebben.
financiering
L. Z. wordt ondersteund door een Australian Government Research Training Program scholarship. A. O. wordt ondersteund door een National Health and Medical Research Council Career Development fellowship (APP1126157). Het Murdoch Children ‘ s Research Institute wordt ondersteund door het operationele Infrastructuurondersteuningsprogramma van de Victoriaanse overheid.
Auteursbijdragen
L. Z. ontwierp het clustering tree algoritme, schreef het clustree softwarepakket en stelde het manuscript op. A. O. begeleidde het project en becommentarieerde het manuscript.Dankbetuigingen
dank aan Marek Cmero voor het geven van commentaar op een ontwerp van het manuscript en de recensenten voor hun opmerkingen en suggesties.
.
.
.
;
:
–
.
.
. In
,
.
.
.
.
;
:
–
.
,
.
,
.
.
. pp.
–
.
,
,
, et al.
. Verslag van de Tweede Internationale Conferentie over Kennisontdekking en datamining
.
:
;
. pp.
–
..
:
,
.
.
.
;
:
–
.
.
.
.
;
:
–
.
.
.
.
;
:
–
.
.
.
.
;
:
–
.
,
,
.
.
.
,
;
–
.
,
,
et al.
.
.
;
:
–
.
,
.
.
;
.
,
.
.
.
;
:
–
.
,
.
.
.
;
:
–
.
,
,
.
.
.
;
:
–
.
.
. Bulletin of the American Iris Society
.
;
:
–
.
.
.
.
;
:
–
.
,
,
, et al.
.
.
;
:
–
.
,
,
.
.
.
;
:
–
.
,
,
, et al.
.
.
;
:
.
,
,
, et al.
.
.
;
:
–
.
.
.
.
.
.
:
;
.
.
.
.
.
.
.
,
.
,
.
.
.
. ;
.
,
,
, et al.
.
.
;
;
:
.
,
.
.
.
,
.
. ;
.
.
,
.
.
.
. .