# 07. 유전자 조합으로 세포 종류 이름 붙이기

> 싱글셀 군집마다 상대적으로 높고 낮은 유전자 조합과 이미 이름이 붙은 참조 데이터를 확인해 세포 종류 이름을 붙이는 방법.

군집 분석은 발현이 비슷한 세포를 묶고 각 묶음에 cluster 0, 1, 2 같은 임시 번호를 붙입니다. Cluster 3도 분석 알고리즘이 만든 번호일 뿐입니다. 어떤 세포 집단에서 다른 집단보다 높거나 낮아 그 집단을 식별하는 데 쓰는 유전자를 **marker gene**이라고 합니다. 이 군집을 T세포나 섬유아세포라고 부르려면 여러 marker의 발현 패턴과 조직(tissue) 맥락, 이미 이름이 붙은 참조 데이터를 함께 확인해야 합니다.

> **이 수업의 질문**: 숫자 cluster에 세포 종류 이름을 붙이려면 어떤 근거가 필요한가?

## marker 하나보다 조합을 본다

다음은 설명을 위한 단순한 예입니다.

| cluster | 상대적으로 높은 유전자 | 1차 후보 label |
| --- | --- | --- |
| 0 | `CD3D`, `CD3E`, `TRBC1` | T cell |
| 1 | `MS4A1`, `CD79A`, `CD37` | B cell |
| 2 | `COL1A1`, `COL1A2`, `DCN` | fibroblast |
| 3 | `EPCAM`, `KRT8`, `KRT18` | epithelial cell |

`CD3D` 하나가 검출됐다는 이유만으로 T세포라고 부르지는 않습니다. 여러 양성 marker가 함께 높고, 다른 계통의 핵심 marker는 낮은지 확인합니다. 용액에 떠다니는 RNA인 ambient RNA와 한 방울에 두 세포가 들어간 doublet 때문에 한두 유전자가 엉뚱한 군집에 나타날 수 있기 때문입니다.

**양성 marker**는 그 label에서 기대하는 유전자이고, **음성 marker**는 그 label이라면 강하지 않아야 하는 유전자입니다. 둘을 함께 쓰면 비슷한 세포 종류를 구분하고 doublet 가능성을 찾기 쉬워집니다.

## 세포 종류와 일시적 상태를 구분한다

T세포, B세포와 fibroblast는 비교적 안정적인 세포 정체성인 **cell type**입니다. 증식 중, interferon 반응, 스트레스 반응과 기능이 약해진 탈진(exhaustion)은 여러 cell type에서 나타날 수 있는 일시적 상태인 **cell state**입니다.

증식 유전자가 강한 군집을 새로운 세포 종류로 이름 붙이면 같은 계통의 활성 상태를 별도 계통으로 오해할 수 있습니다. label을 두 열로 나누면 이 혼동을 줄일 수 있습니다.

```text
cell_type = T cell
cell_state = proliferating
```

조직 분리 과정에서 유도된 heat-shock·immediate-early gene도 state처럼 보일 수 있습니다. 생물학적 반응과 실험 과정에서 생긴 인공 신호인 전처리 artifact를 구분하려면 샘플별 분포와 실험 조건을 함께 확인합니다.

## cluster marker는 정의상 차이가 난다

cluster marker는 해당 군집과 나머지 군집의 발현을 비교해 찾습니다. 같은 데이터로 군집을 만들고 다시 그 군집 사이의 차이를 검사했으므로, 차이가 없다는 가정에서 지금만큼 극단적인 결과를 볼 확률인 [marker p-value](/reference/statistical-testing/)를 독립적인 조건 효과의 증거로 해석할 수 없습니다.

marker 순위는 이름을 붙일 후보를 찾는 도구입니다. 치료군과 대조군의 차이를 검정하는 결과와 목적이 다릅니다.

다음 항목을 함께 봅니다.

- marker의 효과 크기와 발현 세포 비율
- 알려진 양성·음성 marker 조합
- 각 sample이 군집에 고르게 기여하는지
- doublet score와 품질 관리(QC) 지표
- 가까운 군집 사이에 연속적인 상태가 있는지

## 이름이 붙은 참조 데이터와 비교한다

여러 조직과 세포의 발현을 모아 이름을 붙인 참조 지도인 **cell atlas**가 있다면, 이름을 붙이려는 query 세포를 reference 세포와 비교해 가장 비슷한 label을 가져올 수 있습니다. 이 작업을 **reference mapping**이라고 합니다. 자동 주석 도구는 수만 세포를 빠르게 일관된 기준으로 분류하는 데 유용합니다.

reference에 없는 질환 상태나 희귀 세포는 가장 가까운 잘못된 label을 받을 수 있습니다. 조직, 종, assay와 세포 상태가 query에 맞는 reference인지 먼저 확인하고 marker 패턴과 대조합니다.

다음 세 결과가 합의하는지 보는 방식이 안전합니다.

1. 데이터 안에서 찾은 cluster marker
2. 알려진 marker 조합과 조직 지식
3. 적절한 reference의 label transfer

합의하지 않으면 억지로 세밀한 이름을 붙이지 않습니다. `T cell`처럼 넓은 상위 label을 쓰거나 `unresolved`로 남기고 필요한 검증을 기록합니다.

## label에도 근거와 변경 이력을 남긴다

최종 metadata에는 이름만 넣지 않고, 어디서 나온 해석인지 추적하는 정보인 provenance를 함께 남깁니다.

| 필드 | 예시 |
| --- | --- |
| `cluster` | `3` |
| `cell_type` | `CD8 T cell` |
| `cell_state` | `cycling` |
| `annotation_method` | marker review + reference mapping |
| `reference` | atlas 이름·버전 |
| `marker_evidence` | `CD3D`, `CD8A`, `CCL5` |
| `confidence` | high / medium / unresolved |

세포 이름은 원시 측정값이 아니라 분석자가 추가한 해석입니다. label이 바뀌어도 count와 cluster를 다시 연결할 수 있어야 합니다.

## 정리

세포 유형 주석은 marker 하나를 찾아 이름을 복사하는 단계가 아닙니다. 양성·음성 marker, cell type과 state, sample 기여, reference mapping을 함께 확인하고 근거와 불확실성을 metadata에 남깁니다.

다음 [조건별 세포 구성과 발현 비교하기](/lessons/single-cell-comparison/)에서는 이 label을 이용해 어떤 세포가 늘었는지와 같은 세포 종류 안에서 무엇이 달라졌는지를 나눠 검정합니다.

---

### 출처

- 수동·자동 cell type annotation 지침: [Pasquini et al., *Nature Protocols* (2021)](https://www.nature.com/articles/s41596-021-00534-0)
- reference mapping과 marker 기반 주석의 역할: [Heumos et al., *Nature Reviews Genetics* (2023)](https://www.nature.com/articles/s41576-023-00586-w)
- Scanpy PBMC marker 예시: [Scanpy preprocessing and clustering](https://scanpy.readthedocs.io/en/stable/tutorials/basics/clustering.html)