- Abstract
- Introducere
- construirea unui arbore de grupare
- o demonstrație folosind simulări
- un exemplu simplu
- arbori de grupare pentru datele scRNA-seq
- discuție
- metode
- clustree
- simulările
- setul de date Iris
- setul de date PBMC
- disponibilitatea codului sursă și a cerințelor
- disponibilitatea datelor de sprijin
- abrevieri
- interese concurente
- finanțarea
- contribuțiile autorului
- mulțumiri
Abstract
tehnicile de Clustering sunt utilizate pe scară largă în analiza seturilor de date mari pentru a grupa probe cu proprietăți similare. De exemplu, gruparea este adesea utilizată în domeniul secvențierii ARN cu o singură celulă pentru a identifica diferite tipuri de celule prezente într-o probă de țesut. Există mulți algoritmi pentru efectuarea clusterizării, iar rezultatele pot varia substanțial. În special, numărul de grupuri prezente într-un set de date este adesea necunoscut, iar numărul de clustere identificate de un algoritm se poate modifica pe baza parametrilor utilizați. Pentru a explora și examina impactul diferitelor rezoluții de grupare, prezentăm copaci de grupare. Această vizualizare arată relațiile dintre clustere la rezoluții multiple, permițând cercetătorilor să vadă cum se mișcă eșantioanele pe măsură ce crește numărul de clustere. În plus, meta-informațiile pot fi suprapuse pe arbore pentru a informa alegerea rezoluției și ghid în identificarea clusterelor. Ilustrăm caracteristicile arborilor de grupare folosind o serie de simulări, precum și două exemple reale, setul de date iris clasic și un set de date complex de secvențiere a ARN cu o singură celulă. Copacii de grupare pot fi produși folosind pachetul clustree R, disponibil de la CRAN și dezvoltat pe GitHub.
Introducere
analiza Clustering este frecvent utilizat pentru a grupa probe similare într-o gamă diversă de aplicații. De obicei, scopul grupării este de a forma grupuri de probe care sunt mai asemănătoare între ele decât cu probele din alte grupuri. În timp ce abordările de grupare fuzzy sau soft atribuie fiecare eșantion fiecărui cluster cu o anumită probabilitate, iar gruparea ierarhică formează un arbore de eșantioane, majoritatea metodelor formează clustere dure în care fiecare eșantion este atribuit unui singur grup. Acest obiectiv poate fi atins într-o varietate de moduri, cum ar fi luând în considerare distanțele dintre eșantioane (de exemplu, |$k$| – means , PAM ), zonele de densitate din setul de date (de exemplu, DBSCAN) sau relațiile cu distribuțiile statistice .
în multe cazuri, numărul de grupuri care ar trebui să fie prezente într-un set de date nu este cunoscut în prealabil, iar decizia numărului corect de clustere de utilizat este o provocare semnificativă. Pentru unii algoritmi, cum ar fi |$K$|-înseamnă clustering, numărul de clustere trebuie furnizat în mod explicit. Alte metode au parametri care, direct sau indirect, controlează rezoluția de grupare și, prin urmare, numărul de clustere produse. Deși există metode și statistici (cum ar fi metoda cotului și graficele siluetei ) concepute pentru a ajuta analiștii să decidă ce rezoluție de grupare să utilizeze, acestea produc de obicei un singur scor care ia în considerare doar un singur set de eșantioane sau clustere la un moment dat.
o abordare alternativă ar fi luarea în considerare a clusterelor la rezoluții multiple și examinarea modului în care eșantioanele schimbă grupările pe măsură ce numărul de clustere crește. Acest lucru a dus la o serie de măsuri de stabilitate a clusterului , dintre care multe se bazează pe gruparea seturilor de date perturbate sau subeșantionate. De exemplu, algoritmul model explorer subeșantionează un set de date de mai multe ori, grupează fiecare set de date subeșantionat la diferite rezoluții și apoi calculează o asemănare între clustere la aceeași rezoluție pentru a oferi o distribuție a asemănărilor care pot informa alegerea rezoluției . O măsură de stabilitate a clusterului care nu se bazează pe perturbații este cea conținută în pachetul SC3 pentru gruparea datelor de secvențiere a ARN-ului unicelular (scRNA-seq). Începând cu un set de etichete de cluster la rezoluții diferite, fiecare cluster este marcat, clusterelor li se acordă o stabilitate sporită dacă împărtășesc aceleași eșantioane ca un cluster la o altă rezoluție, dar penalizat pentru că este la o rezoluție mai mare.
o abordare simplă similară este luată de vizualizarea arborelui de grupare pe care o prezentăm aici, fără a calcula scorurile: (i) un set de date este grupat folosind orice algoritm de grupare tare la rezoluții multiple, producând seturi de noduri de cluster; (ii) suprapunerea dintre clustere la rezoluții adiacente este utilizată pentru a construi margini; și (iii) graficul rezultat este prezentat ca un copac. Acest arbore poate fi folosit pentru a examina modul în care clusterele sunt legate între ele-care clustere sunt distincte și care sunt instabile. În secțiunile următoare, descriem modul în care construim un astfel de arbore și prezentăm Exemple de arbori construiți dintr-un set de date clasic de clustering și un set de date scRNA-seq complex. Cifrele prezentate aici pot fi produse în R folosind pachetul nostru clustree disponibile publicului. Deși arborii de grupare nu pot oferi în mod direct o rezoluție de grupare de utilizat, aceștia pot fi un instrument util pentru explorarea și vizualizarea gamei de opțiuni posibile.
construirea unui arbore de grupare
pentru a construi un arbore de grupare, începem cu un set de grupări și alocăm eșantioane grupurilor la mai multe rezoluții diferite. Acestea ar putea fi produse folosind orice algoritm de clustering greu care permite controlul numărului de clustere într-un fel. De exemplu, acesta ar putea fi un set de eșantioane grupate folosind|$k$ / -mijloace cu / $k\,\, = \,\,1,2,3$| așa cum se arată în Fig. 1. Sortăm aceste clustere astfel încât să fie ordonate prin creșterea rezoluției (|$k$|), apoi luăm în considerare perechile de clustere adiacente. Fiecare cluster / ${c_{k,\,\, i}}$ / (unde / $i\,\, = \,\,1,\,\, \ldots,\,\, n$ / și / $n$ / este numărul de clustere la rezoluție / $k$/) este comparat cu fiecare cluster / ${C_{k + 1,\,\, j}}$ / (unde / $j\,\, = \,\,1,\,\, \ldots,\,\, m$ / și / $m$ / este numărul de clustere la rezoluție / $k + 1$/). Suprapunerea dintre cele două clustere este calculată ca numărul de eșantioane care sunt atribuite ambelor / ${C_{k,\,\, i}}$| și |${C_{k + 1,\,\, j}}$|. Apoi, construim un grafic în care fiecare nod este un cluster și fiecare margine este o suprapunere între două clustere. În timp ce ne referim la acest grafic ca un copac pentru simplitate, acesta poate fi descris mai corect ca un politree, un caz special al unui grafic aciclic direcționat în care graficul nedirecționat subiacent este un copac .
ilustrarea pașii necesari pentru a construi un copac clustering. În primul rând, un set de date trebuie să fie grupate la diferite rezoluții. Suprapunerea în eșantioane între clustere la rezoluții adiacente este calculată și utilizată pentru a calcula proporția pentru fiecare margine. În cele din urmă, marginile sunt filtrate și graficul vizualizat ca un copac.
ilustrarea pașii necesari pentru a construi un copac clustering. În primul rând, un set de date trebuie să fie grupate la diferite rezoluții. Suprapunerea în eșantioane între clustere la rezoluții adiacente este calculată și utilizată pentru a calcula proporția pentru fiecare margine. În cele din urmă, marginile sunt filtrate și graficul vizualizat ca un copac.
multe dintre margini vor fi goale, de exemplu, în Fig. 1 nu există eșantioane în clusterul a la / $k\,\, = \,\,2$| sfârșește în clusterul B La / $k\,\, = \,\,3$|. În unele seturi de date pot exista și margini care conțin puține eșantioane. Aceste margini nu sunt informative și au ca rezultat un copac aglomerat. O soluție evidentă pentru îndepărtarea marginilor neinformative, cu număr redus, este filtrarea acestora folosind un prag pe numărul de probe pe care le reprezintă. Cu toate acestea, în acest caz, numărul de eșantioane nu este statistica corectă de utilizat, deoarece favorizează marginile la rezoluții mai mici și cele care leagă clustere mai mari. În schimb, definim metrica în proporție ca raportul dintre numărul de probe de pe margine și numărul de probe din clusterul către care merge. Această valoare arată importanța marginii pentru clusterul cu rezoluție mai mare, independent de dimensiunea clusterului. Putem aplica apoi un prag proporției pentru a elimina marginile mai puțin informative.
graficul final poate fi apoi vizualizat. În teorie, orice algoritm de aspect grafic ar putea fi utilizat. Cu toate acestea, pentru pachetul clustree, am folosit cei doi algoritmi special concepuți pentru structurile de arbori disponibile în pachetul igraph . Acestea sunt aspectul arborelui Reingold-Tilford , care plasează nodurile părinte deasupra copiilor lor și aspectul Sugiyama, care plasează nodurile unui grafic aciclic direcționat în straturi, reducând în același timp numărul de margini de trecere . Ambii algoritmi pot produce machete atractive; ca atare, nu am găsit necesitatea de a proiecta un algoritm specific de aspect pentru gruparea copacilor. În mod implicit, pachetul clustree folosește doar un subset de margini atunci când construiește un aspect, în special cele mai mari margini proporționale pentru fiecare nod. Am constatat că acest lucru duce adesea la vizualizări mai interpretabile; cu toate acestea, utilizatorii pot alege să utilizeze toate marginile, dacă se dorește.
indiferent de aspectul utilizat, vizualizarea finală plasează nodurile clusterului într-o serie de straturi în care fiecare strat este o rezoluție de grupare diferită, iar marginile arată tranziția eșantioanelor prin aceste rezoluții. Marginile sunt colorate în funcție de numărul de eșantioane pe care le reprezintă, iar metrica în proporție este utilizată pentru a controla transparența marginii, evidențiind marginile mai importante. În mod implicit, dimensiunea nodului este ajustată în funcție de numărul de eșantioane din cluster, iar culoarea lor indică rezoluția de grupare. Pachetul clustree include, de asemenea, opțiuni pentru controlul esteticii nodurilor pe baza atributelor probelor din clusterele pe care le reprezintă, așa cum se arată în exemplele următoare.
în timp ce un arbore de grupare este similar conceptual cu arborele produs prin grupare ierarhică, există câteva diferențe importante. Cele mai evidente sunt că un arbore ierarhic de grupare este rezultatul unui anumit algoritm de grupare și arată relațiile dintre eșantioanele individuale, în timp ce arborii de grupare descriși aici sunt independenți de metoda de grupare și arată relațiile dintre clustere. Ramurile unui arbore ierarhic arată modul în care algoritmul de grupare a fuzionat eșantioane. În schimb, marginile dintr-un arbore de grupare arată modul în care eșantioanele se deplasează între clustere pe măsură ce rezoluția se schimbă și nodurile pot avea mai mulți părinți. Deși este posibil să se suprapună informații despre eșantioane pe un arbore ierarhic, acest lucru nu se face în mod obișnuit, dar este o caracteristică cheie a pachetului clustree și modul în care ar putea fi utilizați în practică arborii de grupare.
o demonstrație folosind simulări
pentru a demonstra cum poate arăta un arbore de grupare în diferite situații și cum se comportă ca un set de date este supraaglomerat, prezentăm câteva exemple ilustrative folosind simulări simple (vezi metode). Prezentăm cinci scenarii: zgomot uniform aleatoriu (simulare A), un singur cluster (simulare B), două clustere (simulare C), trei clustere (simulare D) și patru clustere (simulare E). Fiecare cluster este format din 1.000 de eșantioane (puncte) generate dintr – o distribuție normală de 100 de dimensiuni și fiecare set de date sintetice a fost grupat folosind|$K$ / -înseamnă grupare cu / $k\,\, = \,\,1,\,\, \ldots, 8$/. Apoi folosim pachetul clustree pentru a produce arbori de grupare pentru fiecare set de date (Fig. 2).
cinci seturi de date sintetice utilizate pentru a demonstra clustering copaci. Pentru fiecare set de date, sunt afișate un grafic scatter al primelor două componente principale, un arbore implicit de grupare și un arbore de grupare cu noduri colorate de indicele de stabilitate SC3 de la violet (cel mai mic) la galben (cel mai mare). Cele cinci seturi de date conțin: (A) zgomot uniform aleatoriu, (B) un singur cluster, (C) două clustere, (D) trei clustere și (e) patru clustere.
cinci seturi de date sintetice utilizate pentru a demonstra clustering copaci. Pentru fiecare set de date, sunt afișate un grafic scatter al primelor două componente principale, un arbore implicit de grupare și un arbore de grupare cu noduri colorate de indicele de stabilitate SC3 de la violet (cel mai mic) la galben (cel mai mare). Cele cinci seturi de date conțin: (A) zgomot uniform aleatoriu, (B) un singur cluster, (C) două clustere, (D) trei clustere și (e) patru clustere.
analizând primele două exemple (zgomot uniform și un singur cluster ), putem vedea clar cum se comportă un arbore de grupare atunci când un algoritm de grupare returnează mai multe clustere decât sunt cu adevărat prezente într-un set de date. Noi clustere încep să se formeze din mai multe clustere existente și multe eșantioane comută între ramurile copacului, rezultând margini scăzute în proporție. Clusterele instabile pot apărea și apoi dispar pe măsură ce rezoluția crește, așa cum se vede în Fig. 2E. pe măsură ce adăugăm mai multă structură seturilor de date, copacii care se grupează încep să formeze ramuri clare, iar marginile scăzute în proporție tind să se limiteze la secțiuni ale arborelui. Analizând ce clustere sunt stabile și unde apar margini scăzute în proporție, putem deduce care zone ale arborelui sunt probabil rezultatul unor clustere adevărate și care sunt cauzate de supraaglomerare.
al doilea arbore de grupare pentru fiecare set de date prezintă noduri colorate în funcție de indicele de stabilitate SC3 pentru fiecare cluster. Așa cum ne-am aștepta, Niciun cluster nu primește un scor de stabilitate ridicat în primele două exemple. Cu toate acestea, în timp ce vedem clar două ramuri în arborele de grupare pentru exemplul cu două clustere (simularea C), acest lucru nu se reflectă în scorurile SC3. Niciun cluster nu primește un scor de stabilitate ridicat, cel mai probabil datorită numărului mare de eșantioane care se deplasează între clustere pe măsură ce rezoluția crește. Deoarece există mai multe clustere adevărate în seturile de date simulate, scorurile de stabilitate SC3 devin mai predictive pentru rezoluția corectă de utilizat. Cu toate acestea, este important să se analizeze scorurile de stabilitate ale tuturor clusterelor la o anumită rezoluție, deoarece luarea celui mai mare scor individual de stabilitate a clusterului ar putea duce la utilizarea rezoluției incorecte, așa cum se poate vedea în exemplul cu patru clustere (simularea E). Aceste exemple arată modul în care arborii de grupare pot fi utilizați pentru a afișa valorile existente de grupare într-un mod care poate ajuta la informarea opțiunilor parametrilor.
un exemplu simplu
pentru a ilustra în continuare modul în care este construit un arbore de grupare, vom lucra printr-un exemplu folosind setul de date iris clasic . Acest set de date conține măsurători ale lungimii sepale, lățimii sepale, lungimii petalei și lățimii petalei de la 150 de flori de iris, 50 din fiecare dintre cele trei specii: Iris setosa, Iris versicolor și Iris virginica. Setul de date iris este utilizat în mod obișnuit ca exemplu atât pentru problemele de grupare, cât și pentru cele de clasificare, probele I. setosa fiind semnificativ diferite și separabile liniar de celelalte probe. Am grupat acest set de date folosind|$K$ / -înseamnă grupare cu / $k\,\, = \,\,1,\,\, \ldots, 5$ / și a produs arborele de grupare prezentat în Fig. 3A.
Clustering copaci bazate pe / $K$ / – înseamnă clustering a setului de date iris. (A) nodurile sunt colorate în funcție de valoarea |$K$| și dimensionate în funcție de numărul de eșantioane pe care le reprezintă. Marginile sunt colorate în funcție de numărul de probe (de la albastru reprezentând puține la galben reprezentând multe). Transparența este ajustată în funcție de proporție, cu linii mai puternice care arată margini care sunt mai importante pentru clusterul cu rezoluție mai mare. Etichetele clusterului sunt atribuite aleatoriu de algoritmul / $k$ / – means. (B) același arbore cu colorarea nodului modificat pentru a arăta lungimea medie a petalei probelor din fiecare grup.
Clustering copaci bazate pe / $K$ / – înseamnă clustering a setului de date iris. (A) nodurile sunt colorate în funcție de valoarea |$K$| și dimensionate în funcție de numărul de eșantioane pe care le reprezintă. Marginile sunt colorate în funcție de numărul de probe (de la albastru reprezentând puține la galben reprezentând multe). Transparența este ajustată în funcție de proporție, cu linii mai puternice care arată margini care sunt mai importante pentru clusterul cu rezoluție mai mare. Etichetele clusterului sunt atribuite aleatoriu de algoritmul / $k$ / – means. (B) același arbore cu colorarea nodului modificat pentru a arăta lungimea medie a petalei probelor din fiecare grup.
vedem că o ramură a copacului este clar distinctă (probabil reprezentând I. setosa), rămânând neschimbată indiferent de numărul de clustere. Pe de altă parte, vedem că clusterul la / $k\,\, = \,\,2$| cleanly se împarte în două clustere (probabil I. versicolor și I. virginica) la / $k\,\, = \,\,3$|. Cu toate acestea, pe măsură ce trecem la |$K\,\, = \,\,4$| și / $k\,\, = \,\,5$|, vedem clustere formate din mai multe ramuri cu margini mai mici în proporție. După cum am văzut în exemplele simulate, acest tip de model poate indica faptul că datele au devenit supraaglomerate și am început să introducem grupări artificiale.
putem verifica presupunerea noastră că ramura distinctă reprezintă probele I. setosa și că celelalte două clustere la / $k\,\, = \,\,3$| sunt I. versicolor și I. virginica prin suprapunerea unor informații cunoscute despre eșantioane. În Fig. 3B am colorat nodurile prin lungimea medie a petalei probelor pe care le conțin. Acum putem vedea că clusterele din ramura distinctă au cele mai scurte petale, cu Clusterul 1 la / $k\,\, = \,\,3$| având o lungime intermediară și cluster 3 având cele mai lungi petale. Se știe că această caracteristică separă probele în speciile așteptate, I. setosa având în medie Cele mai scurte petale, I. versicolor o lungime intermediară și I. virginica cea mai lungă.
deși acesta este un exemplu foarte simplu, evidențiază unele dintre beneficiile vizionării unui copac de grupare. Obținem o indicație a rezoluției corecte de grupare examinând marginile și putem suprapune informații cunoscute pentru a evalua calitatea grupării. De exemplu, dacă am observa că toate grupurile au aceeași lungime medie a petalei, ar sugera că gruparea nu a avut succes, deoarece știm că aceasta este o caracteristică importantă care separă specia. Am putea afla mai multe analizând eșantioanele care urmează marginile cu proporție redusă sau suprapunând o serie de caracteristici pentru a încerca să înțelegem ce cauzează împărțirea anumitor clustere.
arbori de grupare pentru datele scRNA-seq
un câmp care a început să utilizeze intens tehnicile de grupare este analiza datelor scRNA-seq. scrna-secvențierea este o tehnologie recent dezvoltată care poate măsura modul în care genele sunt exprimate în mii până la milioane de celule individuale . Această tehnologie a fost adoptată rapid în domenii precum biologia dezvoltării și imunologia, unde este valoros să existe informații de la celule unice, mai degrabă decât măsurători care sunt medii în numeroasele celule diferite dintr-o probă folosind tehnologii ARN-seq mai vechi. O utilizare cheie pentru scRNA-seq este de a descoperi și interoga diferitele tipuri de celule prezente într-un eșantion de țesut complex. În această situație, gruparea este de obicei utilizată pentru a grupa celule similare pe baza profilurilor lor de expresie genetică. Diferențele în expresia genelor între grupuri pot fi apoi utilizate pentru a deduce identitatea sau funcția acestor celule . Numărul de tipuri de celule (clustere) dintr-un set de date scRNA-seq poate varia în funcție de factori precum țesutul studiat, starea sa de dezvoltare sau de mediu și numărul de celule capturate. Adesea, numărul de tipuri de celule nu este cunoscut înainte ca datele să fie generate, iar unele eșantioane pot conține zeci de clustere. Prin urmare, a decide ce rezoluție de grupare să utilizați este un aspect important în această aplicație.
ca exemplu al modului în care arborii de grupare pot fi utilizați în contextul scRNA-seq, considerăm un set de date utilizat în mod obișnuit pentru celulele mononucleare din sângele periferic (pbmc). Acest set de date a fost inițial produs de 10x Genomics și conține 2.700 de celule mononucleare din sângele periferic, reprezentând o serie de tipuri de celule imune bine studiate . Am analizat acest set de date folosind pachetul Seurat, un set de instrumente utilizat în mod obișnuit pentru analiza scRNA-seq, urmând instrucțiunile din tutorialul lor, cu excepția variației parametrului de rezoluție de grupare de la zero la 5 (vezi metode). Seurat folosește un algoritm de clustering bazat pe grafic, iar parametrul de rezoluție controlează partiționarea acestui grafic, cu valori mai mari rezultând mai multe clustere. Arborii de grupare produși în urma acestei analize sunt prezentați în Fig. 4.
doi arbori de grupare a unui set de date de 2.700 PBMCs. (A) rezultate din clustering folosind Seurat cu parametrii de rezoluție de la zero la 1. La o rezoluție de 0,1, vedem formarea a patru ramuri principale, dintre care una continuă să se împartă până la o rezoluție de 0,4, după care există doar modificări minore. (B) Rezoluții de la zero la 5. La cele mai înalte rezoluții, începem să vedem multe margini scăzute în proporție, indicând instabilitatea clusterului. Seurat etichetează clusterele în funcție de dimensiunea lor, clusterul 0 fiind cel mai mare.
doi arbori de grupare a unui set de date de 2.700 PBMCs. (A) rezultate din clustering folosind Seurat cu parametrii de rezoluție de la zero la 1. La o rezoluție de 0,1, vedem formarea a patru ramuri principale, dintre care una continuă să se împartă până la o rezoluție de 0,4, după care există doar modificări minore. (B) Rezoluții de la zero la 5. La cele mai înalte rezoluții, începem să vedem multe margini scăzute în proporție, indicând instabilitatea clusterului. Seurat etichetează clusterele în funcție de dimensiunea lor, clusterul 0 fiind cel mai mare.
arborele de grupare care acoperă rezoluții de la zero la 1 în pași de 0,1 (Fig. 4A) arată că patru ramuri principale se formează la o rezoluție de doar 0,1. Una dintre aceste ramuri, începând cu Clusterul 3 la rezoluția 0.1, rămâne neschimbată, în timp ce ramura începând cu Clusterul 2 se împarte o singură dată la o rezoluție de 0.4. Cea mai mare parte a ramificării are loc în ramură începând cu Clusterul 1, care are în mod constant subramuri împărțite pentru a forma noi clustere pe măsură ce rezoluția crește. Există două regiuni de stabilitate în acest arbore—la rezoluția 0.4–0.5 și rezoluția 0.7-1.0 unde ramura care începe de la clusterul 0 se împarte în două.
Fig. 4B prezintă un arbore de grupare cu o gamă mai mare de rezoluții, de la zero la 5 în pași de 0,5. Privind în acest interval, putem vedea ce se întâmplă atunci când algoritmul este forțat să producă mai multe clustere decât este probabil să fie cu adevărat prezent în acest set de date. Pe măsură ce apare supraaglomerarea, începem să vedem mai multe margini proporționale scăzute și noi clustere care se formează din mai multe clustere părinte. Acest lucru sugerează că acele zone ale arborelui sunt instabile și că este puțin probabil ca noile clustere formate să reprezinte grupuri adevărate în setul de date.
genele marker cunoscute sunt utilizate în mod obișnuit pentru a identifica tipurile de celule cărora le corespund clusterele specifice. Suprapunerea informațiilor privind expresia genelor pe un arbore de grupare oferă o vedere alternativă care poate ajuta la indicarea momentului în care se formează clustere care conțin populații de celule pure. Figura 5 prezintă arborele de grupare PBMC din Fig. 4A suprapuse cu expresia unor gene marker cunoscute.
gruparea arborilor din setul de date PBMC colorate în funcție de expresia markerilor cunoscuți. Culorile nodului indică media numărului de gene log2 de probe din fiecare cluster. CD19 (a) identifică celulele B, CD14 (B) prezintă o populație de monocite, CD3D (C) este un marker al celulelor T, iar CCR7 (D) arată împărțirea dintre memorie și celulele T CD4 naive.
gruparea arborilor din setul de date PBMC colorate în funcție de expresia markerilor cunoscuți. Culorile nodului indică media numărului de gene log2 de probe din fiecare cluster. CD19 (a) identifică celulele B, CD14 (B) prezintă o populație de monocite, CD3D (C) este un marker al celulelor T, iar CCR7 (D) arată împărțirea dintre memorie și celulele T CD4 naive.
prin adăugarea acestor informații suplimentare, putem identifica rapid unele dintre tipurile de celule. CD19 (Fig. 5A) este un marker al celulelor B și este clar exprimat în cea mai distinctă ramură a copacului. CD14 (Fig. 5B) este un marker al unui tip de monocite, care devine mai exprimat pe măsură ce urmăm una dintre ramurile centrale, permițându-ne să vedem ce rezoluție identifică o populație pură a acestor celule. CD3D (Fig. 5C) este un marker general al celulelor T și este exprimat în două ramuri separate, una care se împarte în expresia joasă și înaltă a CCR7 (Fig. 5D), separând memoria și celulele T CD4 naive. Prin adăugarea expresiei genelor cunoscute la un arbore de grupare, putem vedea dacă mai multe populații pot fi identificate pe măsură ce rezoluția de grupare este crescută și dacă grupurile sunt în concordanță cu biologia cunoscută. Pentru majoritatea tutorialului Seurat, se folosește o rezoluție de 0,6, dar autorii observă că, trecând la o rezoluție de 0,8, se poate realiza o împărțire între memorie și celulele T CD4 naive. Aceasta este o împărțire care ar putea fi anticipată prin analizarea arborelui de grupare cu adăugarea de informații anterioare.
discuție
gruparea eșantioanelor similare în grupuri este o tehnică utilă în multe domenii, dar adesea analiștii se confruntă cu problema dificilă de a decide ce rezoluție de grupare să folosească. Abordările tradiționale ale acestei probleme iau în considerare de obicei un singur cluster sau eșantion la un moment dat și se pot baza pe cunoașterea prealabilă a etichetelor eșantionului. Aici, prezentăm clustering trees, o vizualizare alternativă care arată relațiile dintre clustere la rezoluții multiple. În timp ce arborii de grupare nu pot sugera direct ce rezoluție de grupare să utilizeze, ei pot fi un instrument util pentru a ajuta la luarea acestei decizii, în special atunci când sunt combinați cu alte valori sau cunoștințe de domeniu.
arborii de grupare afișează modul în care clusterele sunt împărțite pe măsură ce rezoluția crește, care clustere sunt clar separate și distincte, care sunt legate între ele și modul în care eșantioanele schimbă grupurile pe măsură ce sunt produse mai multe clustere. Deși copacii de grupare pot apărea similar cu copacii produși din gruparea ierarhică, există câteva diferențe importante. Gruparea ierarhică ia în considerare relațiile dintre eșantioanele individuale și nu oferă o modalitate evidentă de a forma grupuri. În schimb, arborii de grupare sunt independenți de orice metodă particulară de grupare și arată relațiile dintre clustere, mai degrabă decât eșantioane, la rezoluții diferite, oricare dintre acestea putând fi utilizate pentru analize suplimentare.
pentru a ilustra utilizările arborilor de grupare, am prezentat o serie de simulări și două exemple de analize reale, una folosind setul de date iris clasic și o a doua bazată pe un set de date scRNA-seq complex. Ambele exemple demonstrează modul în care un arbore de grupare poate ajuta la informarea deciziei cu privire la rezoluția de utilizat și la modul în care suprapunerea informațiilor suplimentare poate ajuta la validarea acestor clustere. Acest lucru este deosebit de util pentru analiza scRNA-seq, deoarece aceste seturi de date sunt adesea mari, zgomotoase și conțin un număr necunoscut de tipuri de celule sau clustere.
chiar și atunci când determinarea numărului de clustere nu este o problemă, gruparea copacilor poate fi un instrument valoros. Acestea oferă o vizualizare compactă, densă de informații, care poate afișa informații rezumate într-o serie de clustere. Prin modificarea aspectului nodurilor de cluster pe baza atributelor eșantioanelor pe care le reprezintă, clusteringurile pot fi evaluate și identitățile clusterelor stabilite. Arborii de grupare pot avea aplicații în multe domenii și, în viitor, ar putea fi adaptați pentru a fi mai flexibili, cum ar fi prin acomodarea clusterelor neclare. Pot exista, de asemenea, utilizări pentru grafice de grupare mai generale pentru a combina rezultatele din mai multe seturi de parametri sau metode de grupare.
metode
clustree
pachetul software clustree (v0.2.0) este construit pentru limbajul de programare statistică R (v3.5.0). Se bazează pe pachetul ggraph (v1.0.1) , Care este construit pe pachetele ggplot2 (v2.2.1) și tidygraph (v1.1.0). Arborii de grupare sunt afișați folosind aspectul arborelui Reingold-Tilford sau aspectul Sugiyama; ambele sunt disponibile ca parte a pachetului igraph (v1.2.1).
panourile Figurine prezentate aici au fost produse folosind pachetul cowplot (v0.9.2) .
simulările
seturile de date simulate au fost construite prin generarea de puncte din distribuțiile statistice. Prima simulare (simularea A) constă din 1.000 de puncte generate aleatoriu dintr-un spațiu de 100 de dimensiuni folosind o distribuție uniformă între zero și 10. Simularea B constă dintr-un singur grup distribuit în mod normal de 1.000 de puncte în 100 de dimensiuni. Centrul acestui cluster a fost ales dintr-o distribuție normală cu media zero și deviația standard 10. Punctele au fost apoi generate în jurul acestui centru dintr-o distribuție normală cu media egală cu punctul central și o abatere standard de 5. Celelalte trei simulări au fost produse prin adăugarea de clustere suplimentare. Pentru a avea o relație cunoscută între clustere, Centrul pentru noile clustere a fost creat prin manipularea centrelor clusterelor existente. Pentru clusterul 2, un vector aleatoriu de 100 de dimensiuni a fost generat dintr-o distribuție normală cu deviația medie zero și Standard 2 și adăugat la Centrul pentru clusterul 1. Centrul 3 a fost Media Centrului 1 și a Centrului 2 plus un vector aleatoriu dintr-o distribuție normală cu deviația medie zero și Standard 5. Pentru a asigura o relație similară între clusterele 3 și 4 ca între clusterele 1 și 2, Centrul 4 a fost produs prin adăugarea a jumătate din vectorul utilizat pentru a produce Centrul 2 la Centrul 3 plus un alt vector dintr-o distribuție normală cu deviația medie zero și Standard 2. Punctele pentru fiecare cluster au fost generate în același mod ca și pentru cluster 1. Simularea C constă din punctele din clusterele 1 și 2; simularea D constă din clusterele 1, 2 și 3; și simularea E constă din clustere 1, 2, 3 și 4. Fiecare set de date simulat a fost grupat folosind funcția „kmeans” din pachetul de statistici cu valori de |$K$| de la 1 la 8, maximum 100 de iterații și 10 poziții de pornire aleatorii. Vizualizările arborelui de grupare au fost produse folosind pachetul clustree cu aspectul arborelui. Seturile de date simulate și Codul utilizat pentru a le produce sunt disponibile din depozit pentru acest articol .
setul de date Iris
setul de date iris este disponibil ca parte a R. Am grupat acest set de date folosind funcția” kmeans ” din pachetul de statistici cu valori de |$K$| de la 1 la 5. Fiecare valoare de / $k$ / a fost grupată cu maximum 100 de iterații și cu 10 poziții de pornire aleatorii. Pachetul clustree a fost folosit pentru a vizualiza rezultatele folosind aspectul Sugiyama. Setul de date iris grupate este disponibil ca parte a pachetului clustree.
setul de date PBMC
setul de date PBMC a fost descărcat de pe pagina Seurat tutorial , iar acest tutorial a fost urmat pentru cea mai mare parte a analizei folosind Seurat versiunea 2.3.1. Pe scurt, celulele au fost filtrate pe baza numărului de gene pe care le exprimă și a procentului de numărări atribuite genelor mitocondriale. Datele au fost apoi log-normalizate și au fost identificate 1.838 de gene variabile. Variabilele potențiale de confuzie (numărul de identificatori moleculari unici și procentul de Expresie mitocondrială) au fost regresate din setul de date înainte de a efectua analiza componentelor principale pe genele variabile identificate. Primele 10 componente principale au fost apoi utilizate pentru a construi un grafic care a fost împărțit în clustere folosind optimizarea modularității Louvain cu parametrii de rezoluție în intervalul de la zero la 5, în pași de 0,1 între zero și 1 și apoi în pași de 0,5. Clustree a fost apoi folosit pentru a vizualiza rezultatele folosind aspectul arborelui.
disponibilitatea codului sursă și a cerințelor
numele proiectului: clustree.
pagina principală a proiectului: https://github.com/lazappi/clustree.
sisteme de operare: Linux, MacOS, Windows
limbaj de programare: R (> = 3.4)
alte cerințe: Nici unul
licență: GPL-3
orice restricții de utilizare de către non-academicieni: nici unul
RRID:SCR_016293
disponibilitatea datelor de sprijin
pachetul clustree este disponibil de la CRAN și este dezvoltat pe GitHub . Codul și seturile de date utilizate pentru analiza prezentată aici sunt de asemenea disponibile de la GitHub . Setul de date iris pus în cluster este inclus ca parte a clustree, iar setul de date PBMC poate fi descărcat de pe pagina tutorialului Seurat sau din depozitul paper GitHub. Instantaneele Codului sunt disponibile în depozitul GigaScience, GigaDB .
abrevieri
PBMC: celulă mononucleară din sângele periferic; scRNA-seq: secvențiere ARN cu o singură celulă.
interese concurente
autorii declară că nu au interese concurente.
finanțarea
L. Z. este susținută de o bursă a programului de formare în cercetare a Guvernului Australian. Ao este susținută printr-un national health and Medical Research Council Career Development fellowship (APP1126157). Institutul de cercetare pentru copii Murdoch este susținut de programul de sprijin al infrastructurii operaționale al Guvernului Victorian.
contribuțiile autorului
L. Z. a proiectat algoritmul arborelui de grupare, a scris pachetul software clustree și a redactat manuscrisul. A. O. a supravegheat proiectul și a comentat manuscrisul.
mulțumiri
Vă mulțumim pentru Marek Cmero pentru furnizarea de comentarii cu privire la un proiect de manuscris și comentatorii pentru comentariile și sugestiile lor.
.
.
.
;
:
–
.
.
. În
,
.
.
.
.
;
:
–
.
,
.
,
.
.
. pp.
–
.
,
,
și colab.
.
.
:
;
. pp.
–
..
:
,
.
.
.
;
:
–
.
.
.
.
;
:
–
.
.
.
.
;
:
–
.
.
.
.
;
:
–
.
,
,
.
.
.
,
;
–
.
,
,
și colab.
.
.
;
:
–
.
,
.
.
;
.
,
.
.
.
;
:
–
.
,
.
.
.
;
:
–
.
,
,
.
.
.
;
:
–
.
.
.
.
;
:
–
.
.
.
.
;
:
–
.
,
,
, și colab.
.
.
;
:
–
.
,
,
.
.
.
;
:
–
.
,
,
și colab.
.
.
;
:
.
,
,
și colab.
.
.
;
:
–
.
.
.
.
.
.
:
;
.
.
.
.
.
.
.
,
.
,
.
.
.
. ;
.
,
,
și colab.
.
.
;
;
:
.
,
.
.
.
,
.
. ;
.
.
,
.
.
.
. .