shlukování stromů: vizualizace pro hodnocení shlukování ve více rozlišeních

Abstrakt

techniky shlukování jsou široce používány v analýze velkých datových souborů pro seskupení vzorků s podobnými vlastnostmi. Například shlukování se často používá v oblasti sekvenování jednobuněčné RNA za účelem identifikace různých typů buněk přítomných ve vzorku tkáně. Existuje mnoho algoritmů pro provádění shlukování a výsledky se mohou podstatně lišit. Zejména počet skupin přítomných v datovém souboru je často neznámý a počet klastrů identifikovaných algoritmem se může měnit na základě použitých parametrů. Prozkoumat a prozkoumat dopad různého rozlišení shlukování, představujeme shlukovací stromy. Tato vizualizace ukazuje vztahy mezi klastry ve více rozlišeních, což vědcům umožňuje vidět, jak se vzorky pohybují se zvyšujícím se počtem klastrů. Kromě toho mohou být na stromu překryty meta-informace, které informují o výběru rozlišení a průvodce při identifikaci klastrů. Ilustrujeme vlastnosti shlukovacích stromů pomocí řady simulací a dvou reálných příkladů, klasický dataset iris a komplexní dataset s jednobuněčným sekvenováním RNA. Clustering stromy mohou být vyrobeny pomocí balíčku clustree R, K dispozici od CRAN a vyvinutý na GitHub.

Úvod

shlukovací analýza se běžně používá ke seskupování podobných vzorků v různých aplikacích. Cílem shlukování je obvykle vytvořit skupiny vzorků, které jsou si navzájem více podobné než vzorky v jiných skupinách. Zatímco fuzzy nebo soft shlukování přístupy přiřadit každý vzorek ke každému clusteru s určitou pravděpodobností, a hierarchické shlukování tvoří strom vzorků, většina metod tvoří tvrdé shluky, kde je každý vzorek přiřazen k jedné skupině. Tohoto cíle lze dosáhnout různými způsoby, například zvážením vzdáleností mezi vzorky |např.|$k$ / -prostředky, PAM), oblastí hustoty napříč datovou sadou (např.

v mnoha případech není počet skupin, které by měly být přítomny v datovém souboru, předem znám a rozhodnutí o správném počtu klastrů, které mají být použity, je významnou výzvou. U některých algoritmů, například |$k$|-znamená shlukování, musí být počet shluků explicitně uveden. Jiné metody mají parametry, které přímo nebo nepřímo řídí rozlišení shlukování a tím i počet produkovaných shluků. I když existují metody a statistiky (jako je metoda loket a silueta grafy), které pomáhají analytikům rozhodnout, které rozlišení clusterů použít, obvykle produkují jediné skóre, které bere v úvahu pouze jednu sadu vzorků nebo shluků najednou.

alternativním přístupem by bylo zvážit shlukování ve více rozlišeních a zkoumat, jak vzorky mění seskupení s rostoucím počtem shluků. To vedlo k řadě opatření stability clusteru, z nichž mnohé se spoléhají na shlukování narušených nebo subsamplovaných datových souborů. Například, model explorer algoritmus subsamples dataset vícekrát, klastry každý subsampled dataset v různých rozlišeních, a pak vypočítá podobnost mezi clustery ve stejném rozlišení dát distribuci podobností, které mohou informovat výběr rozlišení . Jedním měřítkem stability clusteru, které není založeno na poruchách, je opatření obsažené v balíčku SC3 pro shlukování jednobuněčných RNA sekvenování (scRNA-seq) dat. Počínaje sadou štítků clusteru v různých rozlišeních, každý cluster je hodnocen, s klastry, které mají zvýšenou stabilitu, pokud sdílejí stejné vzorky jako cluster v jiném rozlišení, ale jsou penalizovány za vyšší rozlišení.

podobný jednoduchý přístup využívá vizualizace shlukovacího stromu, kterou zde prezentujeme, bez výpočtu skóre: (i) datová sada je seskupena pomocí libovolného pevného shlukovacího algoritmu ve více rozlišeních, což vytváří sady uzlů klastru; (ii) překrývání mezi klastry v sousedních rozlišeních se používá k vytváření okrajů; a (iii) výsledný graf je prezentován jako strom. Tento strom lze použít ke zkoumání toho, jak klastry spolu souvisejí—které klastry jsou odlišné a které jsou nestabilní. V následujících částech popisujeme, jak takový strom konstruujeme, a uvádíme příklady stromů postavených z klasické datové sady clusterů a komplexní datové sady scRNA-seq. Zde uvedené údaje mohou být vyrobeny v R pomocí našeho veřejně dostupného balíčku clustree. Ačkoli shlukovací stromy nemohou přímo poskytnout rozlišení shlukování, které lze použít, mohou být užitečným nástrojem pro zkoumání a vizualizaci rozsahu možných možností.

vytvoření Shlukovacího stromu

Chcete-li vytvořit shlukovací strom, začneme sadou shlukování a přidělíme vzorky do skupin v několika různých rozlišeních. Ty by mohly být vyrobeny pomocí libovolného algoritmu hard-shlukování, který umožňuje nějakým způsobem řídit počet shluků. Může to být například sada vzorků seskupených pomocí|$K$ / -znamená S / $k\,\, = \,\,1,2,3$| Jak je znázorněno na obr. 1. Tyto shluky třídíme tak, aby byly seřazeny zvýšením rozlišení | / $k$/), pak zvažte dvojice sousedních shluků. Každý cluster / ${c_{k,\,\, i}}$ / (kde / $i\,\, = \,\,1,\,\, \ldots,\,\, N$ / A / $n$ / je počet clusterů v rozlišení / $k$/) je porovnán s každým clusterem / ${c_{k + 1,\,\, j}}$ / (kde / $j\,\, = \,\,1,\,\, \ldots,\,\, m$ / A / $m$ / je počet clusterů v rozlišení / $k + 1$|). Překrývání mezi dvěma klastry se vypočítá jako počet vzorků, které jsou přiřazeny oběma / $ {c_{k,\,\, I}}$ / a / ${c_{k + 1,\,\, j}}$|. Dále vytvoříme graf, kde každý uzel je shluk a každá hrana je překrytím mezi dvěma shluky. Zatímco tento graf označujeme jako strom pro jednoduchost, lze jej správněji popsat jako polytree, zvláštní případ směrovaného acyklického grafu, kde podkladový neorientovaný graf je strom .

Obrázek 1:

ilustrace kroků potřebných k vytvoření shlukovacího stromu. Nejprve musí být datová sada seskupena v různých rozlišeních. Překrytí vzorků mezi klastry při sousedních rozlišeních se vypočítá a použije se k výpočtu poměru pro každou hranu. Nakonec jsou okraje filtrovány a graf vizualizován jako strom.

Obrázek 1:

ilustrace kroků potřebných k vytvoření shlukovacího stromu. Nejprve musí být datová sada seskupena v různých rozlišeních. Překrytí vzorků mezi klastry při sousedních rozlišeních se vypočítá a použije se k výpočtu poměru pro každou hranu. Nakonec jsou okraje filtrovány a graf vizualizován jako strom.

mnoho okrajů bude prázdných, např. na obr. 1 žádné vzorky v clusteru a at / $k\,\, = \,\,2$| skončit v clusteru B Na / $k\,\, = \,\,3$|. V některých datových sadách mohou být také hrany, které obsahují jen málo vzorků. Tyto hrany nejsou informativní a vedou k přeplněnému stromu. Zjevným řešením pro odstranění neinformativních hran s nízkým počtem je jejich filtrování pomocí prahové hodnoty počtu vzorků, které představují. V tomto případě však počet vzorků není správnou statistikou, protože upřednostňuje hrany při nižších rozlišeních a ty, které spojují větší klastry. Místo toho definujeme metriku v poměru jako poměr mezi počtem vzorků na okraji a počtem vzorků ve shluku, ke kterému směřuje. Tato metrika ukazuje důležitost okraje pro klastr s vyšším rozlišením nezávisle na velikosti klastru. Pak můžeme použít prahovou hodnotu pro poměr, abychom odstranili méně informativní hrany.

konečný graf lze poté vizualizovat. Teoreticky by mohl být použit jakýkoli algoritmus rozvržení grafu. Pro balíček clustree jsme však využili dva algoritmy speciálně navržené pro stromové struktury dostupné v balíčku igraph . Jedná se o rozvržení stromu Reingold-Tilford, které umisťuje nadřazené uzly nad jejich děti, a rozvržení Sugiyama, které umisťuje uzly směrovaného acyklického grafu do vrstev a zároveň minimalizuje počet přechodových hran . Oba tyto algoritmy mohou vytvářet atraktivní rozvržení; jako takový, nenašli jsme potřebu navrhnout konkrétní algoritmus rozvržení pro shlukování stromů. Ve výchozím nastavení balíček clustree používá při vytváření rozvržení pouze podmnožinu hran, konkrétně nejvyšší úměrné hrany pro každý uzel. Zjistili jsme, že to často vede k interpretovatelnějším vizualizacím; uživatelé se však mohou v případě potřeby rozhodnout použít všechny hrany.

bez ohledu na použité rozvržení umístí konečná vizualizace uzly clusteru do řady vrstev, kde každá vrstva má jiné rozlišení clusteru a hrany ukazují přechod vzorků těmito rozlišeními. Hrany jsou zbarveny podle počtu vzorků, které představují, a metrika v poměru se používá k řízení průhlednosti okrajů, zvýraznění důležitějších okrajů. Ve výchozím nastavení je velikost uzlu upravena podle počtu vzorků v clusteru a jejich barva označuje rozlišení clusteru. Balíček clustree také obsahuje možnosti pro řízení estetiky uzlů na základě atributů vzorků v klastrech, které představují, jak je ukázáno v následujících příkladech.

zatímco shlukovací strom je koncepčně podobný stromu vytvořenému hierarchickým shlukováním, existují některé důležité rozdíly. Nejviditelnější je, že hierarchický shlukovací strom je výsledkem konkrétního shlukovacího algoritmu a ukazuje vztahy mezi jednotlivými vzorky, zatímco zde popsané shlukovací stromy jsou nezávislé na metodě shlukování a ukazují vztahy mezi shluky. Větve hierarchického stromu ukazují, jak algoritmus shlukování sloučil vzorky. Naproti tomu hrany ve stromu shlukování ukazují, jak se vzorky pohybují mezi klastry, protože změny rozlišení a uzly mohou mít více rodičů. I když je možné překrýt informace o vzorcích na hierarchickém stromu, to se běžně nedělá, ale je to klíčová vlastnost balíčku clustree a způsob, jakým lze clustering stromy použít v praxi.

demonstrace pomocí simulací

abychom demonstrovali, jak může shlukovací strom vypadat v různých situacích a jak se chová, když je dataset překryt, uvádíme několik ilustrativních příkladů pomocí jednoduchých simulací (viz metody). Představujeme pět scénářů: náhodný jednotný šum (simulace a), jeden shluk (simulace B), dva shluky (simulace C), tři shluky (simulace D) a čtyři shluky (simulace E). Každý cluster se skládá z 1000 vzorků (bodů) generovaných ze 100rozměrného normálního rozdělení a každá syntetická datová sada byla seskupena pomocí|$K$ / -znamená shlukování s / $k\,\, = \,\,1,\,\, \ldots, 8$|. Pak použijeme balíček clustree k vytvoření shlukovacích stromů pro každou datovou sadu (obr. 2).

Obrázek 2:

pět syntetických datových sad používaných k demonstraci shlukovacích stromů. Pro každou datovou sadu je zobrazen bodový graf prvních dvou hlavních komponent, výchozí strom shlukování a strom shlukování s uzly zbarvenými indexem stability SC3 od fialové (nejnižší) po žlutou (nejvyšší). Pět datových souborů obsahuje: (a) náhodný jednotný šum, (B) jeden shluk, (C) dva shluky, (D) tři shluky a (E) čtyři shluky.

Obrázek 2:

pět syntetických datových sad používaných k demonstraci shlukovacích stromů. Pro každou datovou sadu je zobrazen bodový graf prvních dvou hlavních komponent, výchozí strom shlukování a strom shlukování s uzly zbarvenými indexem stability SC3 od fialové (nejnižší) po žlutou (nejvyšší). Pět datových souborů obsahuje: (a) náhodný jednotný šum, (B) jeden shluk, (C) dva shluky, (D) tři shluky a (E) čtyři shluky.

když se podíváme na první dva příklady (jednotný šum a jeden cluster), můžeme jasně vidět, jak se shlukovací strom chová, když shlukovací algoritmus vrací více klastrů,než je skutečně přítomno v datové sadě. Nové shluky se začínají tvořit z více existujících shluků, a mnoho vzorků se přepíná mezi větvemi stromu, což má za následek hrany s nízkým podílem. Nestabilní shluky se mohou také objevit a poté zmizet, jak se rozlišení zvyšuje, jak je vidět na obr. 2E. když do datových sad přidáme další strukturu, shlukovací stromy začnou tvořit jasné větve a okraje s nízkým podílem mají tendenci být omezeny na části stromu. Při pohledu na to, které shluky jsou stabilní a kde vznikají hrany s nízkým podílem, můžeme odvodit, které oblasti stromu budou pravděpodobně výsledkem skutečných shluků a které jsou způsobeny nadměrným nadbytkem.

druhý strom shlukování pro každou datovou sadu ukazuje uzly zbarvené podle indexu stability SC3 pro každý cluster. Jak bychom očekávali, Žádný klastr neobdrží vysoké skóre stability v prvních dvou příkladech. Nicméně, zatímco jasně vidíme dvě větve ve stromu shlukování pro příklad dvou klastrů (simulace C), To se neodráží ve skóre SC3. Žádný klastr neobdrží vysoké skóre stability, pravděpodobně kvůli velkému počtu vzorků pohybujících se mezi klastry se zvyšujícím se rozlišením. Vzhledem k tomu, že v simulovaných datových sadách je více skutečných klastrů, SC3 stabilitní skóre se stávají prediktivnějšími pro správné rozlišení. Je však důležité podívat se na skóre stability všech klastrů v určitém rozlišení, protože nejvyšší skóre stability jednotlivých klastrů by mohlo vést k nesprávnému rozlišení, jak je vidět na příkladu čtyř klastrů (simulace E). Tyto příklady ukazují, jak lze shlukovací stromy použít k zobrazení existujících metrik shlukování způsobem, který může pomoci informovat volby parametrů.

jednoduchý příklad

abychom dále ilustrovali, jak je vytvořen shlukovací strom, budeme pracovat na příkladu pomocí klasické datové sady iris . Tato datová sada obsahuje měření délky sepal, šířky sepal, délky okvětních lístků a šířky okvětních lístků ze 150 květů iris, 50 z každého ze tří druhů: Iris setosa, Iris versicolor a Iris virginica. Datová sada iris se běžně používá jako příklad pro shlukování i klasifikační problémy s i. vzorky setosa se výrazně liší od, A lineárně oddělitelné od, ostatní vzorky. Tuto datovou sadu jsme seskupili pomocí|$K$ / -znamená shlukování pomocí / $k\,\, = \,\,1,\,\, \ldots, 5$| a produkoval shlukovací strom znázorněný na obr. 3 a.

obrázek 3:

shlukování stromů na základě |$K$ / – znamená shlukování datové sady iris. (A) uzly jsou zbarveny podle hodnoty / $K$ / a velikosti podle počtu vzorků, které představují. Hrany jsou zbarveny podle počtu vzorků (od modré reprezentující málo po žlutou představující mnoho). Průhlednost je upravena podle poměru, přičemž silnější čáry ukazují hrany, které jsou pro klastr s vyšším rozlišením důležitější. Štítky clusteru jsou náhodně přiřazeny algoritmem|$k$ / -means. (B) stejný strom s zbarvením uzlu změněn tak, aby ukazoval střední délku okvětních lístků vzorků v každém shluku.

obrázek 3:

shlukování stromů na základě |$K$ / – znamená shlukování datové sady iris. (A) uzly jsou zbarveny podle hodnoty / $K$ / a velikosti podle počtu vzorků, které představují. Hrany jsou zbarveny podle počtu vzorků (od modré reprezentující málo po žlutou představující mnoho). Průhlednost je upravena podle poměru, přičemž silnější čáry ukazují hrany, které jsou pro klastr s vyšším rozlišením důležitější. Štítky clusteru jsou náhodně přiřazeny algoritmem|$k$ / -means. (B) stejný strom s zbarvením uzlu změněn tak, aby ukazoval střední délku okvětních lístků vzorků v každém shluku.

vidíme, že jedna větev stromu je jasně odlišná (pravděpodobně představující i. setosa), která zůstává nezměněna bez ohledu na počet shluků. Na druhé straně vidíme, že cluster na / $k\,\, = \,\,2$| čistě se rozdělí na dva klastry (pravděpodobně i. versicolor a I. virginica) na |$K\,\, = \,\,3$|. Nicméně, jak jsme se přesunout do / $k\,\, = \,\,4$| a / $k\,\, = \,\,5$|, vidíme, že shluky jsou tvořeny z více větví s více hranami s nízkým podílem. Jak jsme viděli v simulovaných příkladech, tento druh vzoru může naznačovat, že data se přehnala a začali jsme zavádět umělá seskupení.

můžeme zkontrolovat náš předpoklad, že odlišná větev představuje vzorky i. setosa a že další dva shluky na / $k\,\, = \,\,3$| jsou i. versicolor a I. virginica překrytím některých známých informací o vzorcích. Na Obr. 3B jsme zbarvili uzly střední délkou okvětních lístků vzorků, které obsahují. Nyní můžeme vidět, že klastry v odlišné větvi mají nejkratší okvětní lístky, s clusterem 1 Na / $k\,\, = \,\,3$| mající střední délku a shluk 3 mající nejdelší okvětní lístky. Je známo, že tato vlastnost odděluje vzorky do očekávaných druhů, přičemž i. setosa má v průměru nejkratší okvětní lístky, i. versicolor střední délku a i.virginica nejdelší.

ačkoli se jedná o velmi jednoduchý příklad, zdůrazňuje některé výhody prohlížení shlukovacího stromu. Získáme nějakou indikaci správného rozlišení shlukování zkoumáním okrajů a můžeme překrýt známé informace, abychom posoudili kvalitu shlukování. Například, pokud bychom pozorovali, že všechny shluky měly stejnou střední délku okvětního lístku, naznačovalo by to, že shlukování nebylo úspěšné, protože víme, že je to důležitý rys, který odděluje druh. Mohli bychom se potenciálně dozvědět více tím, že se podíváme na to, které vzorky sledují hrany s nízkým podílem, nebo překrytím řady funkcí, abychom se pokusili pochopit, co způsobuje rozdělení konkrétních klastrů.

shlukování stromů pro data scRNA-seq

jedním z polí, které začalo intenzivně využívat techniky shlukování, je analýza dat scRNA-seq. scRNA-sekvenování je nedávno vyvinutá technologie, která může měřit, jak jsou geny exprimovány v tisících až milionech jednotlivých buněk . Tato technologie byla rychle přijata v oblastech, jako je vývojová biologie a imunologie, kde je cenné mít informace z jednotlivých buněk spíše než měření, která jsou zprůměrována napříč mnoha různými buňkami ve vzorku pomocí starších technologií RNA-seq. Klíčové použití pro scRNA-seq je objevit a vyslýchat různé typy buněk přítomné ve vzorku komplexní tkáně. V této situaci se shlukování obvykle používá ke seskupení podobných buněk na základě jejich profilů genové exprese. Rozdíly v genové expresi mezi skupinami pak mohou být použity k odvození identity nebo funkce těchto buněk . Počet buněčných typů (shluků) v datovém souboru scRNA-seq se může lišit v závislosti na faktorech, jako je studovaná tkáň, její vývojový nebo environmentální stav a počet zachycených buněk. Počet typů buněk není často znám před generováním dat a některé vzorky mohou obsahovat desítky shluků. Proto, rozhodování o tom, které rozlišení clustering použít, je důležitým aspektem v této aplikaci.

jako příklad toho, jak lze shlukovací stromy použít v kontextu scRNA-seq, považujeme běžně používaný datový soubor mononukleárních buněk periferní krve (pbmc). Tato datová sada byla původně vyrobena společností 10x Genomics a obsahuje 2 700 mononukleárních buněk periferní krve, což představuje řadu dobře studovaných typů imunitních buněk . Tuto datovou sadu jsme analyzovali pomocí balíčku Seurat, běžně používaného souboru nástrojů pro analýzu scRNA-seq, podle pokynů v jejich tutoriálu s výjimkou změny parametru rozlišení clusterů z nuly na 5 (viz metody). Seurat používá algoritmus shlukování založený na grafech a parametr rozlišení řídí rozdělení tohoto grafu, přičemž vyšší hodnoty vedou k více shlukům. Shlukovací stromy vyrobené z této analýzy jsou znázorněny na obr. 4.

obrázek 4:

dva shlukovací stromy datové sady 2 700 Pbmc. (A) výsledky shlukování pomocí Seurat s parametry rozlišení od nuly do 1. Při rozlišení 0, 1 vidíme vytvoření čtyř hlavních větví, z nichž jedna se nadále rozděluje až do rozlišení 0, 4, po kterém dochází pouze k malým změnám. B) rozlišení od nuly do 5. Při nejvyšších rozlišeních začínáme vidět mnoho okrajů s nízkým poměrem, což naznačuje nestabilitu clusteru. Seurat označuje clustery podle jejich velikosti, přičemž cluster 0 je největší.

obrázek 4:

dva shlukovací stromy datové sady 2 700 Pbmc. (A) výsledky shlukování pomocí Seurat s parametry rozlišení od nuly do 1. Při rozlišení 0, 1 vidíme vytvoření čtyř hlavních větví, z nichž jedna se nadále rozděluje až do rozlišení 0, 4, po kterém dochází pouze k malým změnám. B) rozlišení od nuly do 5. Při nejvyšších rozlišeních začínáme vidět mnoho okrajů s nízkým poměrem, což naznačuje nestabilitu clusteru. Seurat označuje clustery podle jejich velikosti, přičemž cluster 0 je největší.

shlukovací strom pokrývající rozlišení nula až 1 v krocích po 0,1 (obr. 4A) ukazuje, že čtyři hlavní větve se tvoří s rozlišením pouhých 0,1. Jedna z těchto větví, počínaje clusterem 3 v rozlišení 0.1, zůstává nezměněna, zatímco větev začínající clusterem 2 se rozdělí pouze jednou při rozlišení 0.4. Většina větvení se vyskytuje ve větvi počínaje clusterem 1, který má důsledně odděleny podvětví a vytváří nové klastry se zvyšujícím se rozlišením. V tomto stromu jsou dvě oblasti stability – v rozlišení 0.4-0.5 A rozlišení 0.7-1.0, kde se větev začínající na clusteru 0 rozdělí na dvě.

obr. 4B ukazuje shlukovací strom s větším rozsahem rozlišení, od nuly do 5 v krocích po 0,5. Při pohledu přes tento rozsah, můžeme vidět, co se stane, když je algoritmus nucen produkovat více shluků, než je pravděpodobné, že bude skutečně přítomen v tomto datovém souboru. Jak dochází k nadměrnému znečištění, začneme vidět více okrajů s nízkým podílem a nové shluky tvořící se z více nadřazených shluků. To naznačuje, že tyto oblasti stromu jsou nestabilní a že nové shluky, které se vytvářejí, pravděpodobně nepředstavují skutečné skupiny v datové sadě.

známé markerové geny se běžně používají k identifikaci typů buněk, kterým specifické shluky odpovídají. Překrytí informací o genové expresi na shlukovací strom poskytuje alternativní pohled, který může pomoci určit, kdy se tvoří shluky obsahující čisté buněčné populace. Obrázek 5 ukazuje strom shlukování PBMC na obr. 4A překryta expresí některých známých markerových genů.

obrázek 5:

shlukování stromů datové sady PBMC barevné podle výrazu známých markerů. Barvy uzlu označují průměr počtu vzorků genu log2 v každém klastru. CD19 (A) identifikuje B buňky, CD14 (B) ukazuje populaci monocytů, CD3D (C) je marker T buněk a CCR7 (D) ukazuje rozdělení mezi pamětí a naivními CD4 T buňkami.

obrázek 5:

shlukování stromů datové sady PBMC barevné podle výrazu známých markerů. Barvy uzlu označují průměr počtu vzorků genu log2 v každém klastru. CD19 (A) identifikuje B buňky, CD14 (B) ukazuje populaci monocytů, CD3D (C) je marker T buněk a CCR7 (D) ukazuje rozdělení mezi pamětí a naivními CD4 T buňkami.

přidáním těchto dodatečných informací můžeme rychle identifikovat některé typy buněk. CD19 (obr. 5A) je marker B buněk a je jasně vyjádřen v nejvýraznější větvi stromu. CD14 (obr. 5B) je marker typu monocytů, který se stává výraznějším, když sledujeme jednu z centrálních větví, což nám umožňuje zjistit, které rozlišení identifikuje čistou populaci těchto buněk. CD3D (obr. 5C) je obecný marker T buněk a je exprimován ve dvou samostatných větvích, které se dělí na nízkou a vysokou expresi CCR7 (obr. 5D), oddělující paměť a naivní CD4 T buňky. Přidáním exprese známých genů do shlukovacího stromu můžeme zjistit, zda lze identifikovat více populací, protože se zvyšuje rozlišení shlukování a zda jsou shluky v souladu se známou biologií. Pro většinu tutoriálu Seurat se používá rozlišení 0.6, ale autoři poznamenávají, že přechodem na rozlišení 0.8 lze dosáhnout rozdělení mezi pamětí a naivními CD4 T buňkami. Toto je rozdělení, které lze očekávat při pohledu na shlukovací strom s přidáním předchozích informací.

diskuse

shlukování podobných vzorků do skupin je užitečná technika v mnoha oblastech, ale analytici se často potýkají s obtížným problémem při rozhodování o tom, které rozlišení shlukování použít. Tradiční přístupy k tomuto problému obvykle zvažují jeden cluster nebo vzorek najednou a mohou se spoléhat na předchozí znalosti štítků vzorků. Tady, představujeme shlukovací stromy, alternativní vizualizace, která ukazuje vztahy mezi shlukováním ve více rozlišeních. I když shlukovací stromy nemohou přímo navrhnout, které rozlišení shlukování použít, mohou být užitečným nástrojem pro pomoc při rozhodování, zejména v kombinaci s jinými metrikami nebo znalostmi domény.

shlukovací stromy zobrazují, jak jsou shluky rozděleny se zvyšujícím se rozlišením, které shluky jsou jasně oddělené a odlišné, které spolu souvisejí a jak vzorky mění skupiny s tím, jak se vytváří více shluků. Ačkoli shlukování stromů může vypadat podobně jako stromy vytvořené hierarchickým shlukováním, existuje několik důležitých rozdílů. Hierarchické shlukování zvažuje vztahy mezi jednotlivými vzorky a neposkytuje zřejmý způsob vytváření skupin. Naproti tomu shlukovací stromy jsou nezávislé na jakékoli konkrétní metodě shlukování a ukazují vztahy mezi shluky, spíše než vzorky, v různých rozlišeních, kterékoli z nich by mohlo být použito pro další analýzu.

pro ilustraci využití shlukovacích stromů jsme představili řadu simulací a dva příklady reálných analýz, jednu pomocí klasické datové sady iris a druhou na základě komplexní datové sady scRNA-seq. Oba příklady ukazují, jak může strom shlukování pomoci informovat o rozhodnutí, které rozlišení použít a jak překrytí dalších informací může pomoci ověřit tyto shluky. To je zvláště užitečné pro analýzu scRNA-seq, protože tyto datové sady jsou často velké, hlučné a obsahují neznámý počet typů buněk nebo shluků.

i když určení počtu shluků není problém, shlukování stromů může být cenným nástrojem. Poskytují kompaktní, informačně hustou vizualizaci, která dokáže zobrazit souhrnné informace v celé řadě klastrů. Úpravou vzhledu uzlů klastru na základě atributů vzorků, které reprezentují, lze vyhodnotit shlukování a stanovit identity klastrů. Shlukovací stromy mají potenciálně aplikace v mnoha oblastech a v budoucnu by mohly být přizpůsobeny tak, aby byly flexibilnější, například přizpůsobením fuzzy shluků. Mohou také existovat použití obecnějších shlukovacích grafů pro kombinování výsledků z více sad parametrů nebo metod shlukování.

metody

clustree

softwarový balíček clustree (v0.2.0) je vytvořen pro statistický programovací jazyk R (v3.5.0). Spoléhá se na balíček ggraph (v1. 0. 1), který je postaven na balíčcích ggplot2 (v2.2.1) a tidygraph (v1.1.0). Shlukování stromy jsou zobrazeny pomocí rozvržení Reingold-Tilford strom nebo rozložení Sugiyama; oba jsou k dispozici jako součást balíčku igraph (v1. 2. 1).

zde zobrazené obrázkové panely byly vyrobeny za použití obalu cowplot (v0. 9. 2) .

Simulace

simulované datové sady byly vytvořeny generováním bodů ze statistických distribucí. První simulace (simulace a) se skládá z 1 000 bodů náhodně generovaných ze 100rozměrného prostoru pomocí rovnoměrného rozdělení mezi nulou a 10. Simulace B se skládá z jediného normálně distribuovaného shluku o 1000 bodech ve 100 rozměrech. Střed této hvězdokupy byl vybrán z normálního rozdělení se střední nulou a směrodatnou odchylkou 10. Body byly poté generovány kolem tohoto středu z normálního rozdělení s průměrem rovným středovému bodu a směrodatnou odchylkou 5. Zbývající tři simulace byly vytvořeny přidáním dalších shluků. Aby bylo možné mít známý vztah mezi klastry, bylo Centrum pro nové klastry vytvořeno manipulací se středy existujících klastrů. Pro cluster 2 byl vygenerován náhodný 100-dimenzionální vektor z normálního rozdělení se střední nulou a směrodatnou odchylkou 2 a přidán do středu pro cluster 1. Střed 3 byl průměr středu 1 a středu 2 plus náhodný vektor z normálního rozdělení se střední nulou a směrodatnou odchylkou 5. Aby se zajistil podobný vztah mezi shluky 3 a 4 jako mezi shluky 1 a 2, vzniklo centrum 4 přidáním poloviny vektoru použitého k výrobě středu 2 do středu 3 plus dalšího vektoru z normálního rozdělení se střední nulou a směrodatnou odchylkou 2. Body pro každý cluster byly generovány stejným způsobem jako pro cluster 1. Simulace C se skládá z bodů v klastrech 1 a 2; simulace D se skládá z klastrů 1, 2, a 3; a simulace E se skládá ze shluků 1, 2, 3 a 4. Každá simulovaná datová sada byla seskupena pomocí funkce „kmeans“ v balíčku statistik s hodnotami |$k$ / od 1 do 8, maximálně 100 iterací a 10 náhodných počátečních pozic. Vizualizace shlukovacího stromu byly vytvořeny pomocí balíčku clustree s rozložením stromu. Simulované datové sady a kód použitý k jejich výrobě jsou k dispozici v úložišti pro tento článek .

dataset Iris

dataset iris je k dispozici jako součást R. Tuto datovou sadu jsme seskupili pomocí funkce „kmeans“ v balíčku statistik s hodnotami |$k$ / od 1 do 5. Každá hodnota |$K$ / byla seskupena s maximálně 100 iteracemi a 10 náhodnými počátečními pozicemi. Balíček clustree byl použit k vizualizaci výsledků pomocí rozvržení Sugiyama. Clustered iris dataset je k dispozici jako součást balíčku clustree.

dataset PBMC

dataset PBMC byl stažen ze stránky tutoriálu Seurat a tento tutoriál byl následován pro většinu analýzy pomocí Seurat verze 2.3.1. Stručně řečeno, buňky byly filtrovány na základě počtu genů, které exprimují, a procenta počtu přiřazených mitochondriálním genům. Data byla poté logicky normalizována a identifikováno 1 838 variabilních genů. Potenciální matoucí proměnné (počet jedinečných molekulárních identifikátorů a procento mitochondriální exprese) byly regresovány z datové sady před provedením analýzy hlavních komponent identifikovaných variabilních genů. Prvních 10 hlavních komponent bylo poté použito k vytvoření grafu, který byl rozdělen do klastrů pomocí optimalizace modularity Louvain s parametry rozlišení v rozsahu nula až 5, v krocích 0,1 mezi nulou a 1 a poté v krocích 0,5. Clustree byl poté použit k vizualizaci výsledků pomocí rozvržení stromu.

dostupnost zdrojového kódu a požadavky

název projektu: clustree.

domovská stránka projektu: https://github.com/lazappi/clustree.

operační systémy: Linux, MacOS, Windows

programovací jazyk: R (> = 3.4)

další požadavky: Žádné

licence: GPL-3

jakákoli omezení pro použití neakademiky: žádné

RRID: SCR_016293

dostupnost podpůrných dat

balíček clustree je k dispozici od CRAN a je vyvíjen na Githubu . Kód a datové sady použité pro zde uvedenou analýzu jsou také k dispozici na Githubu . Clustered iris dataset je součástí clustree, a pbmc dataset lze stáhnout z výukové stránky Seurat nebo paper GitHub repozitáře. Snímky kódu jsou k dispozici v úložišti GigaScience, GigaDB .

zkratky

PBMC: mononukleární buňka periferní krve; scRNA-seq: sekvenování jednobuněčné RNA.

konkurenční zájmy

autoři prohlašují, že nemají žádné konkurenční zájmy.

financování

L. Z. je podporováno stipendiem australského vládního výzkumného vzdělávacího programu. A. O. je podporován prostřednictvím národního zdraví a lékařský výzkum Rady kariérní rozvoj fellowship (APP1126157). Murdochův dětský Výzkumný ústav je podporován programem podpory operační infrastruktury viktoriánské vlády.

autorské příspěvky

l. z. navrhl algoritmus shlukovacího stromu, napsal softwarový balíček clustree a vypracoval rukopis. A. o. dohlížel na projekt a komentoval rukopis.

poděkování

Děkujeme Marku Cmerovi za poskytnutí připomínek k návrhu rukopisu a recenzentům za jejich připomínky a návrhy.

Forgy
my

.

shluková analýza vícerozměrných dat: účinnost versus interpretovatelnost klasifikací

.

biometrie

.

1965

;

21

:

768

9

.

MacQueen
J

.

některé metody pro klasifikaci a analýzu vícerozměrných pozorování

. V

5. Berkeley Symposium o matematické statistice a pravděpodobnosti

,

1967

.

Lloyd
S

.

kvantování nejmenších čtverců v PCM

.

IEEE Trans Inf Theory

.

1982

;

28

:

129

37

.

Kaufman
L

,

Rousseeuw
PJ

.

rozdělení kolem Medoidů (Program PAM). Hledání skupin v datech

,

New Jersey, USA

.

John Wiley & Sons, Inc

.

1990

. pp.

68

125

.

Ester
M

,

Kriegel
H-P

,

Sander
J

, et al.

algoritmus založený na hustotě pro objevování klastrů ve velkých prostorových databázích s šumem

.

Sborník druhé mezinárodní konference o objevování znalostí a dolování dat

.

Portland, Oregon

:

AAAI Press

;

1996

. pp.

226

31

..

dostupné z

:

Fraley
C

,

krokve
AE

.

shlukování založené na modelu, diskriminační analýza a odhad hustoty

.

J Am Stat Doc

.

2002

;

97

:

611

31

.

Thorndike
RL

.

kdo patří do rodiny?

.

Psychometrika

.

1953

;

18

:

267

76

.

Rousseeuw
PJ

.

siluety: grafická pomůcka pro interpretaci a validaci shlukové analýzy

.

J Comput Appl Math

.

1987

;

20

:

53

65

.

Luxburg
U von

.

stabilita shlukování: přehled

.

základy a trendy ve strojovém učení

.

2010

;

2

:

235

74

.

Ben-Hur
A

,

Elisseeff
A

,

Guyon
I

.

metoda založená na stabilitě pro zjištění struktury v seskupených datech

.

Pac Symp Biocomput

.

2002

,

7

;

6

17

.

Kiselev
VY

,

Kirschner
K

,

Schaub
MT

et al.

SC3: konsensuální shlukování jednobuněčných RNA-seq dat

.

Metody Nat

.

2017

;

14

:

483

6

.

Rebane
G

,

Pearl
J

.

Obnova kauzálních Poly-stromů ze statistických údajů

.

2013

;

dostupné z: http://arxiv.org/abs/1304.2736, přístupné 16. května 2018

.

Csardi
G

,

Nepusz
T

.

softwarový balíček igraph pro komplexní síťový výzkum

.

Mezioborové Komplexní Systémy

.

2006

;

1695

:

1

9

.

Reingold
EM

,

Tilford
JS

.

přehlednější kresby stromů

.

IEEE Trans Software Eng

.

1981

;

SE-7

:

223

8

.

Sugiyama
K

,

Tagawa
S

,

Toda
M

.

metody pro vizuální pochopení hierarchických systémových struktur

.

IEEE Trans syst Man Cybern

.

1981

;

11

:

109

25

.

Anderson
E

.

kosatce poloostrova Gaspe

.

Bulletin americké Iris Society

.

1935

;

59

:

2

5

.

Fisher
RA

.

použití více měření v taxonomických problémech

.

Ann Eugen

.

1936

;

7

:

179

88

.

Tang
F

,

Barbacioru
C

,

Wang
Y

, et al.

mRNA – seq analýza celého transkriptomu jedné buňky

.

Metody Nat

.

2009

;

6

:

377

82

.

Stegle
O

,

Teichmann
SA

,

Marioni
JC

.

výpočetní a analytické výzvy v jednobuněčné transkriptomice

.

Nat Rev Genet

.

2015

;

16

:

133

45

.

Zheng
GXY

,

Terry
JM

,

Belgrader
P

, et al.

masivně paralelní digitální transkripční profilování jednotlivých buněk

.

Nat Commun

.

2017

;

8

:

14049

.

Satija
R

,

Farrell
JA

,

Gennert
D

, et al.

prostorová rekonstrukce dat exprese jednobuněčného genu

.

Nat Biotechnol

.

2015

;

33

:

495

502

.

Pedersen
TL

.

ggraph: implementace gramatiky grafiky pro grafy a sítě

.

2018

.

dostupné z: https://CRAN.R-project.org/package=ggraph, přístupné 21. května, 2018

Wickham
H

.

ggplot2: elegantní grafika pro analýzu dat

.

New York

:

Springer

;

2010

.

Pedersen
TL

.

tidygraph: uklizené API pro manipulaci s grafy

.

2018

.

dostupné z: https://CRAN.R-project.org/package=tidygraph, přístupné Květen 21, 2018

Wilke
CO

.

cowplot: Zjednodušený Plot téma a Plot anotace pro ‚ ggplot2.‘

.

2018

.

dostupné z: https://CRAN.R-project.org/package=cowplot, přístupné Květen 21, 2018

Zappia
L

,

Oshlack
A

.

clustree-paper GitHub repository

,

2018

.

dostupné z: https://github.com/Oshlack/clustree-paper, přístupné 21. května 2018

.

Satija Lab

.

Seurat PBMC3K Tutorial

. ;

2018

.

dostupné z: https://satijalab.org/seurat/pbmc3k_tutorial.html, přístupné Květen 21, 2018

Blondel
VD

,

Guillaume
J-L

,

Lambiotte
R

, et al.

rychlé rozvinutí komunit ve velkých sítích

.

J Stat Mech

.

IOP Publishing

;

2008

;

2008

:

P10008

.

Zappia
L

,

Oshlack
A

.

clustree: vizualizace clusterů v různých rozlišeních

.

2018

.

dostupné z: https://CRAN.R-project.org/package=clustree, přístupné Květen 21, 2018

Zappia
L

,

Oshlack
A

.

clustree GitHub repozitář

. ;

2018

.

dostupné z: https://github.com/lazappi/clustree, přístupné 21. května 2018

.

Zappia
L

,

Oshlack
A

.

podpora dat pro “ Clustering trees: a visualization for evaluation clusterings at multiple resolution.“

.

Databáze GigaScience

.

2018

. .

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.