- Abstract
- introdução
- construir uma árvore de agrupamento
- Uma Demonstração Usando Simulações
- a Simple Example
- Clustering Trees for scRNA-seq Data
- Discussão
- Methods
- clustree
- conjunto de dados Iris
- PBMC dataset
- disponibilidade do código fonte e requisitos
- Disponibilidade de dados de suporte
- abreviaturas
- interesses concorrentes
- Funding
- Autor contributions
- agradecimentos
Abstract
Clustering techniques are widely used in the analysis of large datasets to group to group to group together samples with similar properties. Por exemplo, a clusterização é frequentemente utilizada no campo da sequenciação de RNA de uma única célula, a fim de identificar diferentes tipos de células presentes em uma amostra de tecido. Existem muitos algoritmos para a realização de clustering, e os resultados podem variar substancialmente. Em particular, o número de grupos presentes em um conjunto de dados é muitas vezes desconhecido, e o número de clusters identificados por um algoritmo pode mudar com base nos parâmetros utilizados. Para explorar e examinar o impacto de diferentes resoluções de agrupamento, apresentamos árvores de agrupamento. Esta visualização mostra as relações entre clusters em várias resoluções, permitindo aos pesquisadores ver como as amostras se movem à medida que o número de clusters aumenta. Além disso, meta-informação pode ser sobreposta na árvore para informar a escolha de resolução e guia na identificação de clusters. Nós ilustramos as características de agrupar árvores usando uma série de simulações, bem como dois exemplos reais, O conjunto de dados da íris clássica e um complexo conjunto de dados de sequenciação de RNA de uma única célula. Clustering trees can be produced using the clustree R package, available from CRAN and developed on GitHub.
introdução
a análise de agrupamento é frequentemente utilizada para agrupar amostras semelhantes numa gama diversa de aplicações. Normalmente, o objetivo da agregação é formar grupos de amostras que são mais semelhantes entre si do que com amostras de outros grupos. Enquanto abordagens difusas ou suaves de agrupamento atribuem cada amostra a cada aglomerado com alguma probabilidade, e agrupamento hierárquico forma uma árvore de amostras, a maioria dos métodos formam aglomerados duros onde cada amostra é atribuída a um único grupo. Este objetivo pode ser alcançado em uma variedade de maneiras, tais como considerando as distâncias entre amostras (por exemplo, |$k$|-means , PAM ), áreas de densidade através do conjunto de dados (por exemplo, DBSCAN ), ou relações com distribuições estatísticas .
Em muitos casos, o número de grupos que devem estar presentes em um conjunto de dados não é conhecido antecipadamente, e decidir o número correto de clusters de uso é um desafio significativo. Para alguns algoritmos, como o |$k$|-significa agrupamento, o número de clusters deve ser explicitamente fornecido. Outros métodos têm parâmetros que, direta ou indiretamente, controlam a resolução de agrupamento e, portanto, o número de clusters produzidos. Enquanto existem métodos e estatísticas (como o método do cotovelo e silhuetas ) projetados para ajudar os analistas a decidir que resolução de agrupamento para usar, eles tipicamente produzem uma única pontuação que considera apenas um único conjunto de amostras ou aglomerados de uma vez.
uma abordagem alternativa seria considerar aglomerações em várias resoluções e examinar como as amostras mudam de agrupamento à medida que o número de aglomerados aumenta. Isto levou a uma série de medidas de estabilidade de clusters , muitos dos quais dependem da agregação de conjuntos de dados perturbados ou subamostrados. Por exemplo, o modelo explorer algoritmo de subamostras um conjunto de dados várias vezes, os clusters de cada subsampled conjunto de dados em várias resoluções, e, em seguida, calcula a similaridade entre clusterings com a mesma resolução para lhe dar uma distribuição de similaridades que podem orientar a escolha de resolução . Uma medida de estabilidade de aglomerado que não é baseada em perturbações é a contida no Pacote SC3 para agrupar dados de sequenciação de ARN de células únicas (scRNA-seq). Começando com um conjunto de cluster de rótulos em diferentes resoluções, cada cluster é marcado, com clusters premiado com maior estabilidade se eles compartilham as mesmas amostras como um cluster em outra resolução, mas penalizado por estar em uma resolução maior.
uma abordagem simples semelhante é tomada pela visualização de árvore de agrupamento que apresentamos aqui, sem calcular pontuações: (i) um conjunto de dados é agrupado usando qualquer algoritmo de clusterização difícil em várias resoluções, produzindo conjuntos de nós de aglomerados; (ii) a sobreposição entre aglomerados em resoluções adjacentes é usada para construir arestas; e (iii) o grafo resultante é apresentado como uma árvore. Esta árvore pode ser usada para examinar como os aglomerados estão relacionados uns com os outros-que os aglomerados são distintos e que são instáveis. Nas seções a seguir, nós descrevemos como nós construímos tal árvore e apresentamos exemplos de árvores construídas a partir de um conjunto de dados de clustering clássico e um conjunto de dados scrna-seq complexo. Os números aqui mostrados podem ser produzidos em R usando nosso pacote clustree publicamente disponível. Embora as árvores de agrupamento não possam fornecer diretamente uma resolução de agrupamento para usar, elas podem ser uma ferramenta útil para explorar e visualizar a gama de possíveis escolhas.
construir uma árvore de agrupamento
para construir uma árvore de agrupamento, começamos com um conjunto de agrupamentos e atribuímos amostras a grupos em várias resoluções diferentes. Estes poderiam ser produzidos usando qualquer algoritmo de clustering que permite o controle do número de clusters de alguma forma. Por exemplo, este poderia ser um conjunto de amostras agrupadas usando |$k$ / – means com |$k\,\, = \,\,1,2,3$| Como mostrado na Fig. 1. Nós ordenamos estes clusterings de modo que eles são ordenados aumentando a resolução (|$k$|), em seguida, considerar pares de clusterings adjacentes. Cada cluster |${c_{k,\,\,i}}$| (onde |$i\,\, = \,\,1,\,\, \ldots ,\,\,$ n| e |r$n$| é o número de clusters na resolução |$k$|) é comparado com cada cluster |${c_{k + 1,\,\,j}}$| (onde |$j\,\, = \,\,1,\,\, \ldots ,\,\,m$ e$m$| é o número de clusters na resolução |$k + 1$|). A sobreposição entre os dois grupos é calculada como o número de amostras que são atribuídas a ambos |${C_{k,\,\,i}}$| e |${C_{k + 1,\,\,j}}$|. Em seguida, construímos um grafo onde cada nó é um aglomerado e cada aresta é uma sobreposição entre dois aglomerados. Enquanto nos referimos a este grafo como uma árvore para simplicidade, ele pode ser mais corretamente descrito como um polytree, um caso especial de um grafo acíclico direcionado onde o grafo não direcionado subjacente é uma árvore .
Ilustração dos passos necessários para construir uma árvore de agrupamento. Em primeiro lugar, um conjunto de dados deve ser agrupado em diferentes resoluções. Calcula-se a sobreposição em amostras entre aglomerados em resoluções adjacentes e utiliza-se para calcular a proporção para cada aresta. Finalmente, as arestas são filtradas e o grafo visualizado como uma árvore.
Ilustração dos passos necessários para construir uma árvore de agrupamento. Em primeiro lugar, um conjunto de dados deve ser agrupado em diferentes resoluções. Calcula-se a sobreposição em amostras entre aglomerados em resoluções adjacentes e utiliza-se para calcular a proporção para cada aresta. Finalmente, as arestas são filtradas e o grafo visualizado como uma árvore.
muitas das bordas estarão vazias, por exemplo, na figura. 1 não há amostras no conjunto A A |$k\,\, = \,\,2$| acabar no agregado B A |$k\,\, = \,\,3$|. Em alguns conjuntos de dados pode haver também bordas que contêm poucas amostras. Estas bordas não são informativas e resultam em uma árvore desorganizada. Uma solução óbvia para remover arestas pouco informativas e de baixa contagem é filtrá-las usando um limiar no número de amostras que representam. No entanto, neste caso, a contagem de amostras não é a estatística correta para usar porque favorece as arestas em resoluções mais baixas e as que conectam aglomerados maiores. Em vez disso, definimos a métrica em proporção como a relação entre o número de amostras na borda e o número de amostras no aglomerado para onde vai. Esta métrica mostra a importância da aresta para o aglomerado de maior resolução independentemente do tamanho do aglomerado. Podemos então aplicar um limiar à proporção, a fim de remover arestas menos informativas.
o gráfico final pode então ser visualizado. Em teoria, qualquer algoritmo de layout de grafos pode ser usado. No entanto, para o pacote clustree, nós fizemos uso dos dois algoritmos especificamente projetados para estruturas de árvores disponíveis no Pacote igraph . Estes são o layout da árvore Reingold-Tilford , que coloca os nós pais acima de seus filhos, e o layout de Sugiyama, que coloca nós de um grafo acíclico direcionado em camadas, enquanto minimiza o número de bordas de cruzamento . Ambos os algoritmos podem produzir layouts atraentes; como tal, não encontramos a necessidade de projetar um algoritmo de layout específico para agregar árvores. Por padrão, o pacote clustree usa apenas um subconjunto de arestas ao construir um layout, especificamente as maiores arestas em proporção para cada nó. Descobrimos que isso muitas vezes leva a Visualizações mais interpretáveis; no entanto, os usuários podem optar por usar todas as arestas se desejar.
independentemente do layout utilizado, a visualização final coloca os nós de aglomerado em uma série de camadas onde cada camada é uma resolução de agrupamento diferente e as arestas mostram a transição de amostras através dessas resoluções. As arestas são coloridas de acordo com o número de amostras que representam, e a métrica em proporção é usada para controlar a transparência da aresta, destacando as arestas mais importantes. Por padrão, o tamanho do nó é ajustado de acordo com o número de amostras no aglomerado, e sua cor indica a resolução de agrupamento. O pacote clustree também inclui opções para controlar a estética dos nós com base nos atributos de amostras nos aglomerados que eles representam, como mostrado nos seguintes exemplos.Embora uma árvore de agrupamento seja conceptualmente semelhante à árvore produzida através de agrupamento hierárquico, existem algumas diferenças importantes. O mais óbvio é que uma árvore de agrupamento hierárquica é o resultado de um algoritmo de agrupamento particular e mostra as relações entre amostras individuais, enquanto as árvores de agrupamento descritas aqui são independentes do método de agrupamento e mostram relações entre aglomerados. Os ramos de uma árvore hierárquica mostram como o algoritmo de agrupamento fundiu amostras. Em contraste, as arestas de uma árvore de agrupamento mostram como as amostras se movem entre os aglomerados à medida que a resolução muda e os nós podem ter vários pais. Embora seja possível sobrepor informações sobre amostras em uma árvore hierárquica, isso não é comumente feito, mas é uma característica chave do pacote clustree e como clustering árvores poderia ser usado na prática.
Uma Demonstração Usando Simulações
Para demonstrar o que é um cluster de árvore pode parecer, em diferentes situações e como ela se comporta como um conjunto de dados é overclustered, apresentam-se alguns exemplos ilustrativos, simples simulações (ver Métodos). Apresentamos cinco cenários: aleatória uniforme de ruído (simulação), um único cluster (simulação B), dois clusters (simulação C), três clusters (simulação), D), e quatro clusters (simulação E). Cada conjunto consiste em 1.000 amostras (pontos) geradas a partir de uma distribuição normal de 100 Dimensões, e cada conjunto de dados sintéticos foi agrupado usando|$k$ / -means agrupando com |$k\,\, = \,\,1,\,\, \ldots, 8$/. Em seguida, usamos o pacote clustree para produzir árvores de agrupamento para cada conjunto de dados(Fig. 2).
Cinco conjuntos de dados sintéticos utilizados para demonstrar a formação de agrupamentos de árvores. Para cada conjunto de dados, um gráfico de dispersão dos dois primeiros componentes principais, uma árvore de agrupamento padrão, e árvore de agrupamento com nós coloridos pelo Índice de estabilidade SC3 de roxo (mais baixo) a amarelo (mais alto) são mostrados. Os cinco conjuntos de dados contêm: (a) ruído uniforme Aleatório, (B) um único aglomerado, (C) dois aglomerados, (d) três aglomerados, e (e) quatro aglomerados.
Cinco conjuntos de dados sintéticos utilizados para demonstrar o cluster de árvores. Para cada conjunto de dados, um gráfico de dispersão dos dois primeiros componentes principais, uma árvore de agrupamento padrão, e árvore de agrupamento com nós coloridos pelo Índice de estabilidade SC3 de roxo (mais baixo) a amarelo (mais alto) são mostrados. Os cinco conjuntos de dados contêm: (a) ruído uniforme Aleatório, (B) um único aglomerado, (C) dois aglomerados, (d) três aglomerados, e (e) quatro aglomerados.
Olhando para os dois primeiros exemplos (ruído uniforme, e um único cluster ), podemos ver claramente como um cluster de árvore se comporta quando um algoritmo de clustering retorna mais clusters que são verdadeiramente presente em um conjunto de dados. Novos aglomerados começam a formar-se a partir de múltiplos aglomerados existentes, e muitas amostras mudam entre os ramos da árvore, resultando em bordas baixas em proporção. Aglomerados instáveis também podem aparecer e depois desaparecer à medida que a resolução aumenta, como visto na Fig. 2E. à medida que adicionamos mais estrutura aos conjuntos de dados, as árvores de agrupamento começam a formar ramos claros e bordas baixas em proporção tendem a ser confinadas a secções da árvore. Ao olhar para quais clusters são estáveis e onde as bordas baixas em proporção surgem, podemos inferir quais áreas da árvore são susceptíveis de ser o resultado de verdadeiros clusters e que são causados pela sobrelotação.
a segunda árvore de agrupamento para cada conjunto de dados mostra nós coloridos de acordo com o índice de estabilidade SC3 para cada conjunto. Como seria de esperar, nenhum cluster recebe uma pontuação de alta estabilidade nos dois primeiros exemplos. No entanto, enquanto vemos claramente dois ramos na árvore de agrupamento para o exemplo de dois clusters (simulação c), isso não é refletido nas pontuações SC3. Nenhum aglomerado recebe uma pontuação de alta estabilidade, muito provavelmente devido ao grande número de amostras que se movem entre aglomerados à medida que a resolução aumenta. Como existem mais clusters verdadeiros nos conjuntos de dados simulados, as pontuações de estabilidade SC3 tornam-se mais preditivas da resolução correta para usar. No entanto, é importante olhar para as pontuações de estabilidade de todos os clusters em uma determinada resolução, uma vez que tomar a maior pontuação individual de estabilidade de clusters pode levar à resolução incorreta sendo usada, como pode ser visto no exemplo de quatro clusters (simulação E). Estes exemplos mostram como as árvores de agrupamento podem ser usadas para exibir métricas de agrupamento existentes de uma forma que pode ajudar a informar as escolhas de parâmetros.
a Simple Example
To further illustrate how a clustering tree is built, we will work through an example using the classic iris dataset . Este conjunto de dados contém medições do comprimento do sepal, da largura do sepal, do comprimento das pétalas e da largura das pétalas a partir de 150 flores da íris, 50 de cada uma das três espécies: Iris setosa, Iris versicolor e Iris virginica. O conjunto de dados iris é comumente usado como um exemplo para problemas de agrupamento e classificação com as amostras I. setosa sendo significativamente diferente e separável linearmente das outras amostras. Nós reunimos este conjunto de dados usando |$k$ / – significa agrupar com |$k\,\, = \,\,1,\,\, \ldots, 5$ / e produziu a árvore de agrupamento mostrada na Fig. 3A.
agrupar árvores com base em / $K$ / – significa agrupar o conjunto de dados da íris. (A) nós são coloridos de acordo com o valor de |$k$| e dimensionado de acordo com o número de amostras que representam. As bordas são coloridas de acordo com o número de amostras (de azul representando poucas a amarelas representando muitas). A transparência é ajustada de acordo com a proporção, com linhas mais fortes mostrando bordas que são mais importantes para o cluster de resolução mais elevada. As etiquetas de conjuntos são atribuídas aleatoriamente pelo algoritmo |$k$|-means. B) a mesma árvore com a coloração do nó alterada para mostrar o comprimento médio da pétala das amostras em cada aglomerado.
agrupar árvores com base em / $K$ / – significa agrupar o conjunto de dados da íris. (A) nós são coloridos de acordo com o valor de |$k$| e dimensionado de acordo com o número de amostras que representam. As bordas são coloridas de acordo com o número de amostras (de azul representando poucas a amarelas representando muitas). A transparência é ajustada de acordo com a proporção, com linhas mais fortes mostrando bordas que são mais importantes para o cluster de resolução mais elevada. As etiquetas de conjuntos são atribuídas aleatoriamente pelo algoritmo |$k$|-means. B) a mesma árvore com a coloração do nó alterada para mostrar o comprimento médio da pétala das amostras em cada aglomerado.
vemos que um ramo da árvore é claramente distinto (presumivelmente representando I. setosa), permanecendo inalterado independentemente do número de aglomerados. Do outro lado, vemos que o aglomerado A |$k\,\, = \,\,2$| cleanly splits into two clusters (presumably I. versicolor and I. virginica) at / $k\,\, = \,\,3$|. No entanto, à medida que avançamos para |$k\,\, = \,\,4$| e / $k\,\, = \,\,5$|, vemos aglomerados sendo formados a partir de múltiplos ramos com bordas mais baixas em proporção. Como vimos nos exemplos simulados, este tipo de padrão pode indicar que os dados ficaram superlotados e começamos a introduzir agrupamentos artificiais.
podemos verificar a nossa suposição de que o ramo distinto representa as amostras I. setosa e que os outros dois grupos A |$k\,\, = \,\,3$| são I. versicolor e I. virginica, sobrepondo algumas informações conhecidas sobre as amostras. Em Fig. 3B nós colorimos os nós pelo comprimento de pétala média das amostras que contêm. Agora podemos ver que os aglomerados no ramo distinto têm as pétalas mais curtas, com o aglomerado 1 A |$k\,\, = \,\,3$| tendo um comprimento intermediário e aglomerado 3 com as pétalas mais longas. Esta característica é conhecida por separar as amostras para as espécies esperadas, com I. setosa tendo as pétalas mais curtas em média, I. versicolor um comprimento intermediário, e I. virginica o mais longo.
embora este seja um exemplo muito simples, ele destaca alguns dos benefícios de ver uma árvore de agrupamento. Obtemos alguma indicação da resolução correta de agrupamento examinando as bordas, e podemos sobrepor informações conhecidas para avaliar a qualidade do Agrupamento. Por exemplo, se observarmos que todos os aglomerados têm o mesmo comprimento médio de pétala, sugere-se que o agrupamento não foi bem sucedido, pois sabemos que esta é uma característica importante que separa a espécie. Nós poderíamos potencialmente aprender mais olhando para quais amostras seguem bordas de baixa proporção ou sobrepondo uma série de características para tentar entender o que faz com que grupos particulares se separem.
Clustering Trees for scRNA-seq Data
One field that has began to make heavy use of clustering techniques is the analysis of scRNA-seq data. scrna-sequenciamento é uma tecnologia recentemente desenvolvida que pode medir como os genes são expressos em milhares a milhões de células individuais . Esta tecnologia tem sido rapidamente adotada em campos como a biologia do desenvolvimento e a imunologia, onde é valioso ter informações de células únicas ao invés de medições que são calculadas em média através de muitas células diferentes em uma amostra usando tecnologias mais antigas RNA-seq. Um uso chave para scRNA-seq é descobrir e interrogar os diferentes tipos de células presentes em uma amostra de um tecido complexo. Nesta situação, o agrupamento é tipicamente usado para agrupar células similares com base em seus perfis de expressão genética. As diferenças na expressão genética entre grupos podem então ser usadas para inferir a identidade ou função dessas células . O número de tipos de células (clusters) em um conjunto de dados scRNA-seq pode variar dependendo de fatores como o tecido em estudo, seu estado de desenvolvimento ou ambiental, e o número de células capturadas. Muitas vezes, o número de tipos de células não é conhecido antes dos dados serem gerados, e algumas amostras podem conter dezenas de aglomerados. Portanto, decidir qual a resolução de agrupamento a usar é uma consideração importante nesta aplicação.
como exemplo de como clustering trees pode ser usado no contexto scRNA-seq, consideramos um conjunto de dados de células mononucleares do sangue periférico (PBMC) comumente usado. Este conjunto de dados foi originalmente produzido por 10x genómica e contém 2 700 células mononucleares do sangue periférico, representando uma gama de tipos de células imunes bem estudados . Analisamos este conjunto de dados usando o pacote Seurat, um conjunto de ferramentas comumente usado para análise scRNA-seq, seguindo as instruções em seu tutorial, com a exceção de variar o parâmetro de resolução de clustering de zero para 5 (veja métodos). Seurat usa um algoritmo de agrupamento baseado em grafos, e o parâmetro de resolução controla o particionamento deste grafo, com valores mais elevados resultando em mais aglomerados. As árvores de agrupamento produzidas a partir desta análise são mostradas na Fig. 4.
duas árvores agrupadas de um conjunto de dados de 2.700 PBMCs. A) resulta da agregação com Seurato com parâmetros de resolução de zero a 1. Numa resolução de 0,1, vemos a formação de quatro ramos principais, um dos quais continua a dividir-se para uma resolução de 0,4, após o que há apenas pequenas mudanças. B) resoluções de zero a 5. Nas Resoluções mais altas, começamos a ver muitas bordas baixas em proporção, indicando instabilidade de aglomerados. Seurat rotula aglomerados de acordo com seu tamanho, com o aglomerado 0 sendo o maior.
duas árvores agrupadas de um conjunto de dados de 2.700 PBMCs. A) resulta da agregação com Seurato com parâmetros de resolução de zero a 1. Numa resolução de 0,1, vemos a formação de quatro ramos principais, um dos quais continua a dividir-se para uma resolução de 0,4, após o que há apenas pequenas mudanças. B) resoluções de zero a 5. Nas Resoluções mais altas, começamos a ver muitas bordas baixas em proporção, indicando instabilidade de aglomerados. Seurat rotula aglomerados de acordo com seu tamanho, com o aglomerado 0 sendo o maior.
a árvore de agrupamento que cobre as resoluções de zero a 1 em etapas de 0,1 (Fig. 4A) mostra que quatro ramos principais se formam em uma resolução de apenas 0,1. Um desses ramos, começando com o cluster 3 na resolução 0.1, permanece inalterado, enquanto o ramo começando com o cluster 2 divide apenas uma vez com uma resolução de 0.4. A maior parte da ramificação ocorre no ramo começando com o cluster 1, que consistentemente tem subbranches separados para formar novos clusters à medida que a resolução aumenta. Há duas regiões de estabilidade nesta árvore—na resolução 0.4–0.5 e na resolução 0.7–1.0 onde o ramo que começa no cluster 0 se divide em duas.
Fig. 4B mostra uma árvore de agrupamento com uma maior gama de resoluções, de zero a 5 em etapas de 0,5. Olhando através desta faixa, podemos ver o que acontece quando o algoritmo é forçado a produzir mais aglomerados do que é provável que estejam realmente presentes neste conjunto de dados. À medida que a sobrelotação ocorre, começamos a ver bordas mais baixas em proporção e novos aglomerados formando-se a partir de múltiplos aglomerados progenitores. Isto sugere que essas áreas da árvore são instáveis e que os novos aglomerados que estão sendo formados são pouco susceptíveis de representar verdadeiros grupos no conjunto de dados.
genes marcadores conhecidos são comumente usados para identificar os tipos de células a que grupos específicos correspondem. Sobrepondo informação de expressão genética em uma árvore de agrupamento fornece uma visão alternativa que pode ajudar a indicar quando aglomerados contendo populações de células puras são formados. A figura 5 mostra a árvore de agrupamento PBMC na figura. 4A sobreposto com a expressão de alguns genes marcadores conhecidos.
árvores de agrupamento do conjunto de dados PBMC colorido de acordo com a expressão de marcadores conhecidos. As cores dos nós indicam a média das contagens de genes log2 de amostras em cada aglomerado. CD19 (A) identifica as células B, CD14 (B) mostra uma população de monócitos, CD3D (C) é um marcador de células T, e CCR7 (D) mostra a divisão entre a memória e ingênua de células T CD4.
árvores de agrupamento do conjunto de dados PBMC colorido de acordo com a expressão de marcadores conhecidos. As cores dos nós indicam a média das contagens de genes log2 de amostras em cada aglomerado. CD19 (A) identifica as células B, CD14 (B) mostra uma população de monócitos, CD3D (C) é um marcador de células T, e CCR7 (D) mostra a divisão entre a memória e ingênua de células T CD4.
adicionando esta informação extra, podemos identificar rapidamente alguns dos tipos de células. CD19 (Fig. 5A) é um marcador de células B e é claramente expresso no ramo mais distinto da árvore. CD14 (Fig. 5B) é um marcador de um tipo de monócito, que se torna mais expresso à medida que seguimos um dos ramos centrais, permitindo-nos ver qual resolução identifica uma população pura destas células. CD3D (Fig. 5C) é um marcador geral de células T e é expresso em dois ramos separados, um que se divide em baixa e alta expressão de CCR7 (Fig. 5D), separando a memória e as células T CD4 ingênuas. Adicionando a expressão de genes conhecidos a uma árvore de agrupamento, podemos ver se mais populações podem ser identificadas como a resolução de agrupamento é aumentada e se os aglomerados são consistentes com a biologia conhecida. Para a maioria do tutorial Seurat, uma resolução de 0.6 é usada, mas os autores notam que ao mover-se para uma resolução de 0.8, uma divisão pode ser alcançada entre a memória e células T CD4 ingênuas. Esta é uma divisão que pode ser antecipada olhando para a árvore de agrupamento com a adição de informação prévia.
Discussão
Cluster de amostras semelhantes em grupos é uma técnica útil em muitos campos, mas, muitas vezes, os analistas são confrontados com o problema complicado de decidir qual cluster de resolução para usar. Abordagens tradicionais a este problema normalmente consideram um único aglomerado ou amostra de cada vez e podem confiar no conhecimento prévio de rótulos de amostra. Aqui, apresentamos árvores de agrupamento, uma visualização alternativa que mostra as relações entre agrupamentos em múltiplas resoluções. Embora as árvores de agrupamento não possam sugerir diretamente Que resolução de agrupamento usar, elas podem ser uma ferramenta útil para ajudar a tomar essa decisão, particularmente quando combinadas com outras métricas ou conhecimento de domínio.
as árvores de agrupamento mostram como os aglomerados são divididos à medida que a resolução aumenta, quais os aglomerados são claramente separados e distintos, que estão relacionados uns com os outros, e como as amostras mudam de grupos à medida que mais aglomerados são produzidos. Embora as árvores de agrupamento possam parecer semelhantes às árvores produzidas a partir de agrupamento hierárquico, existem várias diferenças importantes. O agrupamento hierárquico considera as relações entre amostras individuais e não fornece uma forma óbvia de formar grupos. Em contraste, as árvores de agrupamento são independentes de qualquer método específico de agrupamento e mostram as relações entre os aglomerados, em vez de amostras, em diferentes resoluções, qualquer das quais poderia ser usado para uma análise mais aprofundada.
para ilustrar os usos das árvores de agrupamento, apresentamos uma série de simulações e dois exemplos de análises reais, um utilizando o conjunto de dados clássico da íris e outro baseado num conjunto de dados complexo scRNA-seq. Ambos os exemplos demonstram como uma árvore de agrupamento pode ajudar a informar a decisão de qual resolução usar e como a sobreposição de informações adicionais pode ajudar a validar esses clusters. Isto é de uso particular para a análise scRNA-seq como estes conjuntos de dados são muitas vezes grandes, ruidosos, e contêm um número desconhecido de tipos de células ou aglomerados.
mesmo quando determinar o número de aglomerados não é um problema, agrupar árvores pode ser uma ferramenta valiosa. Eles fornecem uma visualização compacta e densa de informação que pode exibir informações resumidas em uma gama de clusters. Ao modificar a aparência dos nós de aglomerado com base nos atributos das amostras que representam, clusterings podem ser avaliados e identidades de aglomerados estabelecidos. As árvores de agrupamento têm potencialmente aplicações em muitos campos e, no futuro, poderiam ser adaptadas para serem mais flexíveis, por exemplo, acomodando aglomerações difusas. Também pode haver usos para grafos de agrupamento mais gerais para combinar resultados de vários conjuntos de parâmetros ou métodos de agrupamento.
Methods
clustree
the clustree software package (v0.2.0) is built for the R statistical programming language (v3.5.0). Ele se baseia no Pacote ggraph (v1. 0. 1), que é construído nos pacotes ggplot2 (v2.2.1) e tidygraph (v1.1.0). As árvores de agrupamento são exibidas usando o layout de árvore Reingold-Tilford ou o layout de Sugiyama; ambos estão disponíveis como parte do pacote igraph (v1.2.1).
os painéis de figuras aqui apresentados foram produzidos utilizando o pacote cowplot (v0.9.2) .As simulações de conjuntos de dados simulados foram construídas por pontos geradores a partir de distribuições estatísticas. A primeira simulação (simulação a) consiste em 1.000 pontos gerados aleatoriamente a partir de um espaço de 100 dimensões usando uma distribuição uniforme entre zero e 10. A simulação B consiste de um único aglomerado normalmente distribuído de 1.000 pontos em 100 Dimensões. O centro deste aglomerado foi escolhido a partir de uma distribuição normal com zero médio e desvio padrão 10. Pontos foram então gerados em torno deste centro a partir de uma distribuição normal com média igual ao ponto central e um desvio padrão de 5. As três simulações restantes foram produzidas adicionando aglomerados adicionais. A fim de ter uma relação conhecida entre clusters, o centro para os novos clusters foi criado manipulando os centros dos clusters existentes. Para o cluster 2, Um vetor 100-dimensional Aleatório foi gerado a partir de uma distribuição normal com zero médio e desvio padrão 2 e adicionado ao centro para o cluster 1. O centro 3 era a média de Centro 1 e centro 2 mais um vetor aleatório de uma distribuição normal com zero médio e desvio padrão 5. Para garantir uma relação semelhante entre os clusters 3 e 4 como entre os clusters 1 e 2, O center 4 foi produzido adicionando metade do vetor usado para produzir o centro 2 ao centro 3 mais outro vetor a partir de uma distribuição normal com zero médio e desvio padrão 2. Pontos para cada aglomerado foram gerados da mesma forma que para o aglomerado 1. A simulação C consiste nos pontos em clusters 1 e 2; a simulação D consiste em clusters 1, 2 e 3; e a simulação e consiste de clusters 1, 2, 3 e 4. Cada conjunto de dados simulado foi agrupado usando a função “kmeans” no Pacote stats com valores de |$k$| de 1 a 8, Um máximo de 100 iterações e 10 posições iniciais aleatórias. As visualizações de árvore de clustering foram produzidas usando o pacote clustree com o layout da árvore. Os conjuntos de dados simulados e o código usado para produzi-los estão disponíveis no repositório para este artigo .
conjunto de dados Iris
o conjunto de dados iris está disponível como parte de R. Reunimos este conjunto de dados usando a função “kmeans” no Pacote stats com valores de |$k$| de 1 a 5. Cada valor de |$k$ / foi agrupado com um máximo de 100 iterações e com 10 posições iniciais aleatórias. O pacote clustree foi usado para visualizar os resultados usando o layout Sugiyama. O conjunto de dados de cluster iris está disponível como parte do pacote clustree.
PBMC dataset
o conjunto de dados PBMC foi baixado da página tutorial Seurat, e este tutorial foi seguido para a maior parte da análise usando a versão 2.3.1 Seurat. Brevemente, as células foram filtradas com base no número de genes que expressam e na percentagem de contagens atribuídas aos genes mitocondriais. Os dados foram então log-normalizados e 1.838 genes variáveis identificados. As variáveis potencialmente confusas (número de identificadores moleculares únicos e Percentagem de expressão mitocondrial) regrediram do conjunto de dados antes de se efectuar a análise principal dos componentes dos genes variáveis identificados. Os primeiros 10 Componentes principais foram então usados para construir um grafo que foi particionado em aglomerados usando otimização de modularidade Louvain com parâmetros de resolução no intervalo zero a 5, em etapas de 0,1 entre zero e 1, e então em etapas de 0,5. Clustree foi então usado para visualizar os resultados usando o layout da árvore.
disponibilidade do código fonte e requisitos
nome do projecto: clustree.
página inicial do projecto: https://github.com/lazappi/clustree.
sistemas operativos: Linux, MacOS, Windows
linguagem de Programação: R (> = 3.4)
outros requisitos:
Licença: GPL-3
, Quaisquer restrições ao uso de não-acadêmicos: None
RRID:SCR_016293
Disponibilidade de dados de suporte
O clustree pacote está disponível a partir da CRAN e está a ser desenvolvido no GitHub . O código e os conjuntos de dados utilizados para a análise aqui apresentados também estão disponíveis no GitHub . O conjunto de dados iris é incluído como parte do clustree, e o conjunto de dados PBMC pode ser baixado da página tutorial Seurat ou do repositório paper GitHub. Instantâneos do Código estão disponíveis no repositório GigaScience, GigaDB .
abreviaturas
PBMC: células mononucleares do sangue periférico; scRNA-seq: sequenciação de ARN de uma única célula.
interesses concorrentes
os autores declaram que não têm interesses concorrentes.
Funding
L. Z. is supported by an Australian Government Research Training Program scholarship. A. O. é apoiada através de uma bolsa nacional de desenvolvimento de carreira do Conselho de Saúde e Pesquisa Médica (APP1126157). O Murdoch Children’s Research Institute é apoiado pelo Programa de Apoio à infra-estrutura operacional do Governo Vitoriano.
Autor contributions
L. Z. designed the clustering tree algorithm, wrote the clustree software package, and drafted the manuscript. A. O. supervisionou o projeto e comentou sobre o manuscrito.
agradecimentos
obrigado a Marek Cmero por fornecer comentários sobre um rascunho do manuscrito e os revisores por seus comentários e sugestões.
.
.
.
;
:
–
.
.
. In
,
.
.
.
.
;
:
–
.
,
.
,
.
.
. p.
–
.
,
,
, et al.
. Proceedings of The Second International Conference on Knowledge Discovery and Data Mining
.
:
;
. p.
–
..
:
,
.
.
.
;
:
–
.
. Quem pertence à família?
.
.
;
:
–
.
. Silhuetas: a graphical aid to the interpretation and validation of cluster analysis
.
.
;
:
–
.
.
.
.
;
:
–
.
,
,
.
.
.
,
;
–
.
,
,
et al.
.
.
;
:
–
.
,
.
.
;
.
,
.
.
.
;
:
–
.
,
. Desenhos mais arrumados de árvores
.
.
;
:
–
.
,
,
.
.
.
;
:
–
.
.
.
.
;
:
–
.
.
.
.
;
:
–
.
,
,
, et al.
.
.
;
:
–
.
,
,
.
.
.
;
:
–
.
,
,
, et al.
.
.
;
:
.
,
,
, et al.
.
.
;
:
–
.
.
.
.
.
.
:
;
.
.
.
.
.
.
.
,
.
,
.
.
.
. ;
.
,
,
, et al.
.
.
;
;
:
.
,
.
.
.
,
.
. ;
.
.
,
.
.
.
. .