Os conjuntos de dados biológicos são quase sempre de alta dimensão: 20.000 medidos por amostra, 30.000 por , milhões de genéticas por indivíduo. A intuição humana não se estende além de três dimensões, e os métodos estatísticos lutam com a maldição da dimensionalidade. A redução de dimensionalidade e o são as ferramentas para encontrar estrutura nesse espaço de alta dimensão.
Esses métodos são fundamentais para a bioinformática moderna. Toda análise de de única os usa. Todo artigo de transcriptômica em massa inclui um gráfico . Entender o que esses algoritmos realmente fazem — e onde eles enganam — é essencial para interpretar resultados.
O Problema Central
Você tem uma matriz: n amostras × p características (onde p pode ser 20.000 ). Você quer:
- Visualizar os dados para descobrir estrutura
- Agrupar amostras ou em grupos com padrões de expressão semelhantes
- Reduzir ruído focando nos eixos principais de variação
O desafio fundamental: a geometria de alta dimensão é contraintuitiva. Em 20.000 dimensões, todos os pontos tendem a ser equidistantes uns dos outros, e o volume do espaço cresce exponencialmente com as dimensões. Métodos que funcionam em 2D podem falhar catastroficamente em escala genômica.
Análise de Componentes Principais (PCA)
é o método linear de redução de dimensionalidade padrão. Encontra as direções (componentes principais) de máxima variância nos dados.
A matemática: resolve os autovetores da matriz de covariância dos dados. O primeiro componente principal (PC1) é a direção de máxima variância; PC2 é a direção de máxima variância ortogonal ao PC1; e assim por diante.
Concretamente: dada uma matriz amostras × X (com média centralizada), encontra uma rotação W tal que XW = pontuações (coordenadas no espaço de PC), e a variância de cada coluna de pontuação é maximizada (decrescendo de PC1 para PC2 para PC3...).
O que preserva: estrutura global. Pontos que estão distantes no espaço original estão distantes no espaço de PC (distâncias lineares preservadas).
O que perde: estrutura local refinada. projeta linearmente — não pode capturar estrutura não linear (variedades curvas no espaço de ).
PCA em Transcriptômica
Entrada: matriz de log-contagens normalizadas (amostras × genes)
↓
Filtrar para genes altamente variáveis (top 2000–5000)
↓
Escalar para variância unitária (opcional, mas comum)
↓
PCA na matriz de expressão gênica
↓
Coordenadas de PC usadas para:
- Controle de qualidade (detectar efeitos de lote, outliers)
- Visualização de relações entre amostras
- Entrada para métodos de agrupamento/UMAP subsequentes
Gráfico PC1 e PC2: amostras próximas no espaço de PC têm perfis de expressão global semelhantes. Em um experimento bem projetado, as amostras devem agrupar por condição biológica, não por lote.
Variância explicada: cada PC explica uma fração da variância total. Um scree plot mostra o "cotovelo" — quantos PCs capturam a maior parte da variação. Tipicamente os primeiros 10–50 PCs são informativos; o restante é ruído.
Detecção de efeito de lote: se PC1 separa amostras por data de em vez de biologia, você tem um efeito de lote. Isso é visualizado antes de qualquer interpretação biológica.
Para : sempre transforme logaritmicamente as contagens antes do (log2(CPM + 1) ou a transformação estabilizadora de variância do DESeq2). Contagens brutas violam as suposições nas quais o se baseia — altamente expressos dominam a matriz de covariância e obscurecem a estrutura biológica. Também filtre para altamente variáveis; o ruído de expressos de forma estável dilui o sinal.
Interpretando Cargas de PC
Cada PC é uma combinação linear de todos os . As "cargas" (coeficientes de para cada PC) informam quais impulsionam a separação:
- com grandes cargas positivas no PC1 são altamente expressos em amostras com altas pontuações de PC1
- com grandes cargas negativas no PC1 são altamente expressos em amostras com baixas pontuações de PC1
Isso permite interpretação biológica: se PC1 separa amostras de tumor de normais, suas cargas identificam os mais responsáveis por essa separação. Esses são candidatos para investigação adicional.
t-SNE: Visualizando Estrutura Local
O t-SNE (t-Distributed Stochastic Neighbor Embedding) é um método não linear de redução de dimensionalidade projetado especificamente para visualização. Produz embeddings 2D onde pontos similares estão próximos.
O algoritmo:
- Calcular similaridades em pares no espaço de alta dimensão (usando kernels Gaussianos)
- Definir similaridades em pares alvo em 2D (usando distribuição t com caudas pesadas)
- Otimizar coordenadas 2D para minimizar a divergência KL entre as duas distribuições de similaridade
A distribuição t de cauda pesada em 2D é a inovação-chave: previne o aglomeramento (todos os pontos semelhantes colapsando em um ponto) ao permitir que pontos de distância moderada sejam mapeados a maiores distâncias em 2D.
O que o t-SNE preserva: estrutura de vizinhança local. Pontos que estão próximos no espaço de alta dimensão acabam próximos em 2D.
O que o t-SNE NÃO preserva:
- Distâncias globais. distantes no t-SNE podem ou não estar distantes no espaço de expressão
- Tamanhos de . Um grande no t-SNE pode ter menos ou mais do que um pequeno
- Distâncias entre não são interpretáveis
Em um gráfico t-SNE de dados de única, a distância entre o A e o B não diz nada confiável sobre quão diferentes esses tipos celulares são transcriptomicamente. Dois que parecem distantes podem ser mais semelhantes entre si do que dois que parecem adjacentes. Use t-SNE para visualizar pertencimento a , não para quantificar relações.
Parâmetro de perplexidade: controla o número efetivo de vizinhos considerados para cada ponto. Perplexidade baixa (5–10) captura estrutura muito local; perplexidade alta (50–100) captura estrutura mais global. Tente múltiplos valores — o "melhor" t-SNE depende da sua pergunta.
Estocasticidade: t-SNE usa inicialização aleatória e é estocástico. Execute várias vezes com diferentes sementes e use inicialização para reprodutibilidade. Duas execuções de t-SNE dos mesmos dados parecerão diferentes.
Custo computacional: O(n²) ingênuo; a aproximação Barnes-Hut reduz para O(n log n). Ainda lento para >100.000 .
UMAP: Melhor Preservação de Topologia
O UMAP (Uniform Manifold Approximation and Projection) substituiu em grande parte o t-SNE para análise de única. É mais rápido, escala melhor e preserva mais estrutura global.
A matemática: UMAP está fundamentado em análise de dados topológicos e geometria Riemanniana. Modela os dados como estando em uma variedade de baixa dimensão e constrói uma representação topológica difusa, depois otimiza um embedding 2D para corresponder a essa representação.
Vantagens sobre o t-SNE:
- Mais rápido (frequentemente 10–100× para grandes conjuntos de dados)
- Melhor preservação da estrutura global (distâncias entre mais interpretáveis)
- Determinístico com semente aleatória fixa
- Escala para milhões de
Parâmetros-chave:
n_neighbors(15–50): controla o equilíbrio entre estrutura local e global. Valores pequenos → foco em vizinhanças locais. Valores grandes → captura mais topologia globalmin_dist(0,0–1,0): distância mínima no embedding 2D. Valores baixos → mais apertados; valores altos → distribuição mais uniformen_components: dimensionalidade da saída (geralmente 2 para visualização; às vezes 10–30 como representação intermediária)
UMAP ainda é não linear: como o t-SNE, as distâncias UMAP entre distantes não são perfeitamente interpretáveis. Mas dentro e entre próximos, a estrutura é mais confiável do que o t-SNE.
Pipeline de Análise de Célula Única (Scanpy/Seurat)
Matriz de contagens brutas (células × genes)
↓
Filtragem de qualidade (min genes/célula, % mitocondrial máxima)
↓
Normalização + transformação logarítmica
↓
Identificar genes altamente variáveis
↓
PCA (50 PCs)
↓
Correção de lote (se necessário): Harmony em embeddings de PC
↓
Grafo k-NN no espaço de PC (n_neighbors = 15)
↓
UMAP no grafo k-NN
↓
Agrupamento Leiden/Louvain no grafo k-NN
↓
Anotação de tipo celular (genes marcadores, conjuntos de dados de referência)
Um insight-chave: o UMAP é tipicamente calculado a partir do grafo de k-vizinhos-mais-próximos (k-NN), não diretamente da expressão bruta. E o também é calculado a partir do mesmo grafo k-NN — então o layout UMAP e as atribuições de são derivados da mesma estrutura de grafo subjacente.
Métodos de Agrupamento
Agrupamento Hierárquico
O hierárquico constrói uma árvore (dendrograma) mostrando como as amostras se agrupam.
Aglomerativo (de baixo para cima): cada amostra começa como seu próprio ; depois itera fundindo os dois mais similares até restar um.
Métodos de ligação (como a distância entre é definida):
- Ligação completa: distância = distância máxima entre qualquer par de pontos dos dois . Produz compactos de tamanho semelhante.
- Ligação média (UPGMA): distância = distância média entre todos os pares. Equilíbrio balanceado.
- Método de Ward: minimiza a variância intra- em cada fusão. Frequentemente o melhor para dados de .
Métricas de distância: para dados de expressão, tipicamente:
- Distância Euclidiana para log-contagens normalizadas
- 1 − correlação de Pearson para similaridade de padrão de expressão (captura forma relativa, não níveis absolutos)
- Distância baseada em correlação de Spearman para robustez a outliers
O dendrograma: cortar em diferentes alturas dá diferentes números de . A escolha é subjetiva — use conhecimento de domínio e métricas de validação.
Mapas de calor + hierárquico: a visualização canônica para resultados de de em massa. (linhas) e amostras (colunas) agrupados por perfil de expressão. Módulos de co-regulados aparecem como blocos de cor semelhante.
Agrupamento k-Means
k-Means particiona n pontos em k minimizando a soma das distâncias quadradas dentro do ao centroide.
Algoritmo:
- Inicializar k centroïdes (aleatoriamente ou com inicialização inteligente k-means++)
- Atribuir cada ponto ao seu centroide mais próximo
- Recomputar centroïdes como média dos pontos atribuídos
- Repetir até convergência
Limitações:
- Requer especificar k antecipadamente
- Assume esféricos (variância igual em todas as direções) — falha para alongados ou não convexos
- Sensível à inicialização (execute várias vezes, tome o melhor resultado)
- Desempenho ruim com outliers
Escolhendo k: trace a soma das distâncias quadradas dentro do vs. k (método do cotovelo); ou use a pontuação de silhueta (mede quão bem cada ponto se encaixa em seu vs. a alternativa mais próxima).
Agrupamento Baseado em Grafo (Louvain/Leiden)
Para dados de única, os métodos baseados em grafo são padrão:
- Construir um grafo k-NN: conectar cada a seus k vizinhos mais próximos no espaço de
- Pesar arestas por similaridade
- Aplicar detecção de comunidade (algoritmo Louvain ou Leiden) para encontrar comunidades que maximizam a modularidade
Por que isso funciona para scRNA-seq: as formam uma variedade no espaço de expressão. Os grafos k-NN capturam a topologia local dessa variedade melhor do que os métodos baseados em distância global. Os correspondem a estados ou tipos celulares distintos.
Parâmetro de resolução: controla a granularidade. Maior resolução → mais menores. Menor resolução → menos maiores. Não há uma resolução "correta" única — depende da pergunta biológica (grandes linhagens vs. subtipos finos).
Leiden (Traag et al. 2019) é uma versão melhorada do Louvain que garante comunidades bem conectadas e é a recomendação atual para de única. O Louvain pode produzir comunidades internamente desconectadas em alguns casos. Para a maioria dos propósitos práticos, os resultados são semelhantes, mas use Leiden como padrão.
Comparando Métodos de Redução de Dimensionalidade
| Método | Tipo | Preserva | Velocidade | Melhor para |
|---|---|---|---|---|
| PCA | Linear | Variância global | Rápido | QC, detecção de lote, entrada para métodos subsequentes |
| t-SNE | Não linear | Vizinhanças locais | Lento | Visualização (≤100K células) |
| UMAP | Não linear | Local + algum global | Rápido | Visualização + análise subsequente |
| Hierárquico | Agrupamento | Estrutura hierárquica | O(n²) espaço | Mapas de calor, pequenos conjuntos de dados, dendrograma necessário |
| k-means | Agrupamento | Clusters esféricos | Rápido | Grandes conjuntos de dados, clusters bem separados |
| Leiden/Louvain | Comunidade de grafo | Estrutura topológica | Rápido | Agrupamento de célula única |
Avaliando Clusters
O é não supervisionado — não há verdade básica. A avaliação é inerentemente mais difícil do que o aprendizado supervisionado:
Métricas internas (não requerem rótulos):
- Pontuação de silhueta: para cada ponto, mede quão semelhante é ao seu próprio vs. o alternativo mais próximo. Faixa [−1, 1]; maior = melhor separação.
- Índice Davies-Bouldin: razão média do espalhamento intra- para a distância entre . Menor = melhor.
- Índice Calinski-Harabasz: razão de variância entre para intra-. Maior = melhor.
Validação biológica (para scRNA-seq):
- marcadores: os marcadores específicos do correspondem a marcadores conhecidos de tipos celulares?
- Integração de conjunto de dados de referência: os se alinham com conjuntos de dados de referência anotados (CellTypist, Azimuth)?
- Coerência funcional: as em um respondem de forma semelhante a perturbações?
- Análise de trajetória: as relações de formam caminhos de desenvolvimento biologicamente plausíveis?
Correção de Lote Antes da Visualização
Um problema comum: amostras processadas em lotes diferentes agrupam por lote em /UMAP em vez de biologia.
ComBat ( em massa): correção paramétrica de efeito de lote que ajusta para efeitos de lote aditivos e multiplicativos. Execute em log-contagens normalizadas antes do .
Harmony ( única): integra conjuntos de dados de única ajustando iterativamente as coordenadas de PC para remover efeitos de lote enquanto preserva a variação biológica.
scVI (modelo generativo profundo): aprende uma representação latente que leva em conta os efeitos de lote probabilisticamente.
Após correção de lote: UMAP e devem refletir biologia, não fatores técnicos. Sempre verifique com marcadores biológicos conhecidos — a supercorreção pode fundir tipos celulares genuinamente diferentes.
Aplicação: Fluxo de Trabalho de RNA-seq de Célula Única
O fluxo de trabalho padrão Scanpy/Seurat exemplifica como esses métodos se combinam:
- Filtragem de QC: remover com poucos (gotículas vazias), muitos (dupletos) ou alta fração mitocondrial ( danificadas)
- Normalização: normalizar para 10.000 contagens por , depois transformar logaritmicamente
- Seleção de características: manter os 2.000–5.000 altamente variáveis (reduz ruído, acelera a computação)
- : executar em altamente variáveis; manter os 50 principais PCs
- Correção de lote (se necessário): Harmony em embeddings de PC
- Grafo k-NN: k=15 vizinhos no espaço de PC
- : Leiden em múltiplas resoluções; escolher resolução que corresponda ao prior biológico
- UMAP: para visualização; executar no mesmo grafo k-NN
- : entre (identifica marcadores)
- Anotação de tipo celular: combinar marcadores com referência; confirmar com pontuações
Esse pipeline é amplamente automatizado no Scanpy (sc.pp, sc.tl, sc.pl) e Seurat (FindVariableFeatures, RunPCA, FindNeighbors, RunUMAP).
Armadilhas Comuns
Tratar distâncias UMAP como significativas: a interpretação incorreta mais comum. A topologia do no UMAP é informativa; as distâncias inter- não são.
Superagrupamento: muitos dividem tipos celulares reais em sub- arbitrários sem significado biológico. Sempre valide com marcadores.
Subagrupamento: poucos fundem populações celulares distintas. Tipos celulares raros (5% das ) podem não aparecer como seu próprio a menos que a resolução seja alta o suficiente.
em contagens brutas: sempre transforme logaritmicamente primeiro. em contagens brutas é dominada por altamente expressos e fornece resultados enganosos.
Não filtrar altamente variáveis: executar em todos os 30.000 inclui milhares de housekeeping expressos de forma estável que adicionam ruído sem sinal.
Ignorar efeitos de lote: os efeitos de lote podem ser mais fortes do que o sinal biológico. Sempre execute o primeiro e verifique não biológicos.