Skip to content

궤적 분석 고르기: PAGA·MST·Diffusion Pseudotime

This content is not available in your language yet.

궤적 분석은 세포들이 끊어진 집단이 아니라 연속된 과정 위에 놓여 있을 때, 그 과정의 모양과 순서를 데이터에서 추정하는 방법입니다. 줄기세포가 중간 단계를 거쳐 성숙 세포가 되는 분화, 자극을 받은 면역세포가 활성화되는 과정이 대표적입니다.

이 문서는 세 가지 접근을 같은 틀로 비교합니다. 셋은 답하는 질문의 해상도가 다릅니다.

방법답하는 질문입력출력
PAGA어느 군집이 어느 군집과 이어져 있는가kNN 그래프 + 군집 라벨군집×군집 연결 강도 행렬
MST (Slingshot 등)군집들을 잇는 분기 트리는 무엇이고 각 가지의 세포 순서는 어떤가군집 중심점 좌표 + 시작 군집트리 edge 목록, 가지별 세포 순서
Diffusion Pseudotime (DPT)시작 세포에서 각 세포까지 얼마나 진행했는가kNN 그래프 + 시작 세포세포별 0~1 pseudotime

세 방법 모두 방향을 데이터에서 알아내지 못합니다. 어느 쪽이 시작인지는 사람이 생물학 지식으로 지정하거나 RNA velocity 같은 별도 분석으로 정합니다.

군집화는 세포를 끊어진 그룹으로 나눕니다. 그러나 분화 중인 세포는 cluster 2와 cluster 5 사이의 경계에 수백 개씩 걸쳐 있고, 이 세포들을 어느 한쪽에 배정하면 “중간 단계”라는 정보가 사라집니다.

궤적 분석은 이 연속성을 세 수준으로 복원합니다.

  • 위상(topology): 과정이 한 줄인가, 갈라지는가, 합쳐지는가. 군집 수준에서 답합니다.
  • 뼈대(skeleton): 갈라지는 지점과 가지의 경로. 군집 중심점을 잇는 트리로 답합니다.
  • 순서(pseudotime): 각 세포가 시작점에서 얼마나 떨어져 있는가. 세포 수준의 숫자로 답합니다.

pseudotime은 실제 시간이 아닙니다. 한 시점에 채취한 세포들이 서로 다른 진행 단계에 있다고 가정하고, 발현 변화량을 순서로 바꾼 값입니다.

PAGA: 군집 사이의 edge를 세어 연결 지도를 만든다

섹션 제목: “PAGA: 군집 사이의 edge를 세어 연결 지도를 만든다”

PAGA(partition-based graph abstraction)는 kNN 그래프를 군집 단위로 뭉쳐, 군집 사이에 edge가 우연보다 얼마나 많은지를 연결 강도로 요약하는 방법입니다.

Leiden 군집이 20개 나왔을 때, 그중 어느 쌍이 실제로 세포 연속체로 이어져 있고 어느 쌍이 완전히 떨어져 있는지 알고 싶을 때 씁니다. UMAP 그림에서 두 섬이 붙어 보이는 것은 배치의 우연일 수 있지만, PAGA는 그래프에서 직접 셉니다.

또 하나의 쓰임은 UMAP 초기 배치입니다. UMAP을 PAGA 지도의 군집 위치에서 시작하면 전체 구조가 군집 연결을 더 잘 반영합니다.

kNN 그래프와 세포별 군집 번호입니다. 군집 해상도가 바뀌면 PAGA 지도도 바뀝니다.

군집 A와 B 사이에 실제로 있는 edge 수를 세고, 두 군집의 크기와 node들의 edge 수를 고려했을 때 edge가 무작위로 이어졌다면 기대되는 수와 비교합니다. 실제 수가 기대 수보다 훨씬 많으면 연결 강도가 1에 가깝고, 비슷하거나 적으면 0에 가깝습니다.

가상 데이터로 군집 세 개를 보면 다음과 같습니다.

군집 쌍실제 edge 수기대 edge 수연결 강도
A - B8501200.92
B - C310950.71
A - C121100.03

A와 B, B와 C는 이어져 있고 A와 C는 B를 거쳐야만 연결된다고 읽습니다.

위젯의 세포들은 A에서 B를 거쳐 C로 이어지고, D는 C 쪽에 놓인 세포 하나로만 가늘게 이어져 있습니다. 표의 실제 edge 수는 왼쪽 그림의 흰 선을 군집 쌍별로 센 것입니다. 기준값을 0.3까지 올리면 C - D의 약한 연결이 지도에서 사라지고, A - B - C의 연결만 남습니다. “우연으로 기대되는 수”와 비교한다는 생각은 군집화의 modularity와 같습니다.

군집×군집 연결 강도 행렬입니다. 그림에서는 node가 군집, node 크기가 세포 수, edge 굵기가 연결 강도입니다. 연결 강도가 기준보다 약한 edge는 숨기고 그리는 것이 보통입니다.

PAGA는 트리를 강제하지 않습니다. 세포 주기처럼 고리 모양의 과정이면 edge가 고리를 이루고, 서로 무관한 두 세포 종류면 edge가 아예 없습니다. 이 점이 아래 MST와의 가장 큰 차이입니다.

MST: 군집 중심점을 최소 비용 트리로 잇는다

섹션 제목: “MST: 군집 중심점을 최소 비용 트리로 잇는다”

MST(minimum spanning tree, 최소 신장 트리)는 모든 node를 연결하되 edge 가중치의 합이 가장 작고 고리가 없는 트리를 찾는 고전 그래프 알고리즘입니다. Kruskal이나 Prim 알고리즘으로 구합니다. 싱글셀에서는 Slingshot, TSCAN, 초기 Monocle이 군집 중심점을 잇는 궤적 뼈대로 MST를 씁니다.

분화처럼 한 뿌리에서 갈라져 나가는 트리 모양이 생물학적으로 기대될 때, 가지의 경로를 명시적으로 얻고 가지마다 세포 순서를 매기고 싶을 때 씁니다. PAGA가 “A-B와 B-C가 이어져 있다”로 끝나는 반면, MST 기반 방법은 “뿌리 A에서 B를 거쳐 C로 가는 lineage 1, D로 가는 lineage 2”처럼 경로를 줍니다.

군집마다 하나씩 계산한 중심점 좌표(PCA 공간에서 군집에 속한 세포의 평균)와 시작 군집입니다. 중심점 사이의 Euclidean 거리가 edge 가중치가 됩니다.

가상 데이터로 군집 다섯 개의 중심점 거리를 보면 Kruskal 알고리즘은 가장 짧은 edge부터 고리를 만들지 않는 한 차례로 채택합니다.

순서edge거리채택
1A - B2.1채택
2B - C2.4채택
3B - D2.9채택
4C - D3.0거부 (B를 통해 이미 연결, 고리 생성)
5D - E3.3채택

군집 5개를 edge 4개로 잇는 트리가 나옵니다. 시작을 A로 지정하면 뿌리에서 잎까지의 경로가 lineage입니다: A → B → C와 A → B → D → E. Slingshot은 여기에 각 lineage를 따라 세포 구름의 가운데를 지나는 부드러운 곡선(principal curve)을 맞추고, 각 세포를 곡선 위에 투영한 위치를 pseudotime으로 씁니다.

출력내용
트리 edge 목록군집 쌍 (군집 수 - 1개)
lineage 목록뿌리에서 각 잎까지의 군집 경로
lineage별 pseudotime그 lineage에 속한 세포마다 하나의 값 (여러 가지에 걸친 세포는 값이 여러 개)

트리 뼈대는 군집 중심점 사이의 거리 행렬만 있으면 구할 수 있습니다. principal curve와 pseudotime까지 얻으려면 Slingshot 같은 전용 도구를 씁니다.

MST는 반드시 트리를 만듭니다. 서로 무관한 두 세포 종류도 어딘가 edge로 이어지고, 고리 모양의 과정은 한 곳이 끊겨 선처럼 보입니다. 또 중심점 하나가 doublet이나 batch 때문에 조금만 움직여도 edge 선택이 바뀔 수 있어 군집 수와 품질에 민감합니다.

Diffusion Pseudotime: 그래프 위 확산 거리로 세포마다 순서를 매긴다

섹션 제목: “Diffusion Pseudotime: 그래프 위 확산 거리로 세포마다 순서를 매긴다”

DPT(diffusion pseudotime)는 Diffusion Map의 확산 거리를 써서 시작 세포에서 각 세포까지의 진행 정도를 계산하는 방법입니다.

군집 단위가 아니라 세포 하나하나에 순서를 붙이고 싶을 때, 그리고 과정이 한 줄이거나 분기가 한두 번뿐일 때 씁니다. pseudotime을 얻으면 “어떤 유전자가 과정의 앞쪽에서 켜지고 뒤쪽에서 꺼지는가”를 pseudotime에 대한 발현 곡선으로 볼 수 있습니다.

kNN 그래프와 시작 세포 하나입니다. 시작 세포는 보통 가장 미분화된 군집에서 Diffusion Map의 한쪽 끝에 있는 세포를 고릅니다.

kNN 그래프의 edge 가중치를 “한 걸음에 이웃으로 갈 확률”로 바꾼 전이 행렬 위에서, 두 세포가 random walk로 서로 얼마나 쉽게 도달하는지를 확산 거리로 정의합니다. 수많은 경로를 평균하는 거리라서 edge 하나의 잡음에 둔감합니다. 시작 세포에서 각 세포까지의 확산 거리를 0~1로 정규화한 값이 pseudotime입니다.

줄기의 왼쪽 끝을 시작 세포로 고르면 색이 줄기를 따라 밝아지다가 두 가지로 나뉘어 올라갑니다. 가지 끝을 시작 세포로 고르면 순서가 뒤집혀, 방향은 사람이 정해야 한다는 것을 볼 수 있습니다. 줄기에서 시작했을 때 두 가지 끝의 값이 거의 같다는 점도 눈여겨보세요. pseudotime 숫자만으로는 세포가 어느 가지에 있는지 알 수 없습니다.

세포마다 pseudotime 값이 하나씩 붙은 열입니다. 시작 세포가 0, 가장 먼 세포가 1입니다. 시작 세포와 그래프로 연결되지 않은 세포는 값을 정할 수 없어 무한대를 받습니다.

DPT는 분기를 명시적으로 알려 주지 않습니다. 갈라진 두 가지의 세포가 비슷한 pseudotime 값을 받을 수 있으므로, 분기 구조는 PAGA나 Diffusion Map 그림으로 먼저 확인하고 가지별로 따로 계산하는 편이 안전합니다.

데이터·질문의 특성맞는 방법이유
군집 20개 중 어느 것이 이어졌는지만 알고 싶음PAGA군집 수준 연결 강도를 직접 계산
서로 무관한 세포 종류가 섞여 있음PAGA연결이 없으면 edge를 두지 않음, MST는 강제로 이음
세포 주기처럼 고리 모양 과정PAGA트리를 강제하지 않음
한 뿌리에서 갈라지는 분화 트리가 기대됨MST (Slingshot)lineage 경로와 가지별 pseudotime을 명시적으로 줌
가지마다 유전자 발현 곡선을 비교하고 싶음MST (Slingshot) 또는 PAGA + DPT 조합lineage별 pseudotime이 필요
한 줄짜리 연속 과정, 세포별 순서가 필요DPT잡음에 둔감한 세포 단위 순서
세포 수십만 개PAGA, DPT군집 수준 또는 희소 그래프 연산, Slingshot은 느려짐
군집 품질이 불확실함PAGA연결 강도라는 수치로 불확실성을 남김, MST는 edge를 단정
UMAP의 전체 배치를 믿을 만하게 만들고 싶음PAGA군집 연결을 반영한 초기 배치

실무에서는 PAGA로 위상을 확인하고, 분화 트리가 보이면 그 세포들만 떼어 DPT나 Slingshot으로 pseudotime을 계산하는 순서가 흔합니다.

  • 방향이 있다고 믿는다. 세 방법 모두 무방향입니다. 시작 군집을 바꾸면 pseudotime이 뒤집힙니다. 시작점은 알려진 marker(줄기세포 marker 등)나 RNA velocity로 정합니다.
  • 끊어진 세포 종류에 pseudotime을 매긴다. T세포와 상피세포 사이에는 과정이 없습니다. 궤적은 생물학적으로 연속이 기대되는 세포 집단에만 적용하고, 그 집단만 따로 떼어 그래프를 다시 만듭니다.
  • UMAP에서 보이는 다리를 궤적으로 읽는다. doublet이나 batch 때문에 생긴 가느다란 연결이 궤적처럼 보일 수 있습니다. PAGA 연결 강도와 QC 지표로 확인합니다.
  • 군집 해상도를 바꾸지 않고 한 번만 본다. PAGA와 MST는 군집이 입력입니다. resolution을 바꿔도 유지되는 연결만 믿습니다.
  • pseudotime을 시간 단위로 해석한다. 0.3과 0.6의 차이가 “두 배 오래 걸렸다”는 뜻이 아닙니다. 순서만 의미가 있습니다.
  • batch가 궤적을 만든다. donor A의 세포가 모두 앞쪽, donor B가 모두 뒤쪽이면 분화가 아니라 batch입니다. pseudotime을 sample로 색칠해 확인합니다.