10. 발현이 비슷한 샘플 찾기
유전자 하나씩 비교하면 샘플 전체가 어떤 조직(tissue)이나 암과 닮았는지 알기 어렵습니다. 수만 개 유전자의 발현 패턴을 함께 비교하면 비슷한 샘플을 찾을 수 있습니다.
이 수업의 질문: 내 샘플의 전체 발현 패턴은 어떤 정상조직·암 샘플과 가까운가?
샘플 하나를 수만 개 숫자로 된 feature vector라고 보면 추천 시스템이나 임베딩 검색과 같은 모양이 됩니다. 벡터가 비슷한 샘플끼리 이웃으로 연결한 뒤, 그 이웃 관계를 사람이 볼 수 있는 2차원 좌표로 압축합니다.
| 단계 | 데이터 shape | 하는 일 |
|---|---|---|
| 입력 | 샘플 × 약 20,000 유전자 | 샘플마다 발현 벡터 구성 |
| feature 선택 | 샘플 × 약 2,000 유전자 | 샘플 차이를 잘 드러내는 유전자 선택 |
| 이웃 계산 | 샘플 × 이웃 목록 | 고차원에서 가까운 샘플 연결 |
| UMAP 출력 | 샘플 × 2 좌표 | 이웃 관계를 2차원에 배치 |
1. UMAP: 전체 발현 패턴이 비슷한 샘플 찾기
섹션 제목: “1. UMAP: 전체 발현 패턴이 비슷한 샘플 찾기”수만 개 유전자의 발현 패턴을 2차원으로 요약해, 발현이 비슷한 샘플끼리 가깝게 배치하는 것이 차원축소입니다. 여기서는 log2(TPM + 1)로 변환한 뒤 변동이 큰 유전자 약 2,000개를 골라 UMAP에 넣었습니다. 거리, PCA·UMAP의 차이와 지도 해석의 한계는 샘플 거리와 차원축소에서 설명합니다.
X = expression.loc[samples, variable_genes] # sample × geneembedding = UMAP().fit_transform(X) # sample × [x, y]이 두 좌표는 원래 유전자 두 개를 뜻하지 않습니다. 디버깅 화면을 위해 만든 손실 압축 좌표입니다. 가까운 점의 국소 관계는 유용하지만, 멀리 떨어진 군집 사이의 화면상 거리와 방향까지 생물학적 양으로 읽으면 안 됩니다.
같은 차원축소 계열인 PCA로 종양·정상 샘플의 전체 패턴과 환자 짝을 점검하는 장면은 GSE251845 DEG 실습의 PCA 단계에서 확인할 수 있습니다.
내 샘플을 대규모 레퍼런스(TCGA·GTEx 등)와 함께 투영하면, 어떤 조직·암 subtype과 가까운지로 생물학적 맥락을 추론할 수 있습니다.
여기서도 전처리는 API 계약과 같습니다. 내 샘플과 레퍼런스의 유전자 ID, 정규화, 로그 변환과 배치가 다르면 알고리즘은 생물학보다 파이프라인 차이를 가장 큰 feature로 잡을 수 있습니다.

9,358 TCGA 종양 + 2,502 GTEx 정상 + 내 샘플 2개를 함께 그린 UMAP. 암종마다 군집을 이루고, 내 osteosarcoma 샘플(Boston·Tempus)이 sarcoma 계열 근처에 위치한다. “내 샘플이 어떤 암과 닮았나”를 한눈에 보는 지도.
UMAP은 수만 개 유전자의 차이를 2차원 좌표로 압축해 비슷한 샘플을 가까이 놓습니다.
샘플별 전체 발현 패턴 → 변동이 큰 유전자 선택 → 차원축소 → 가까운 레퍼런스 집단 확인
가깝다는 것은 발현 패턴이 비슷하다는 뜻이지 같은 암종이라는 진단은 아닙니다. 전처리, 배치와 선택한 유전자에 따라 지도 모양도 달라질 수 있습니다.
다음 여러 샘플의 차등발현 검정에서는 반복 샘플을 이용해 두 그룹의 차이를 통계적으로 검정합니다.