# 볼케이노 플롯 읽기

> 차등발현 결과의 log2 fold change와 보정 p-value를 한 화면에서 읽고 후보 유전자를 고르는 방법.

볼케이노 플롯은 차등발현 결과에서 **변화가 크면서 통계적 근거도 강한 유전자**를 빠르게 찾는 그림입니다. 점 하나가 유전자 하나이며, 오른쪽 위와 왼쪽 위의 점이 먼저 살펴볼 후보가 됩니다.

```text
                         통계적 근거가 강함
                               ↑
 Control에서 높음  ←  변화 없음  →  Treatment에서 높음
```

## 두 축은 서로 다른 질문이다

가로축은 `log2FoldChange`입니다. 어느 쪽이 양수인지는 분석의 contrast를 확인해야 합니다.

### log2FoldChange는 몇 배 달라졌는지를 압축한 값이다

비교 방향을 `Treatment / Control`로 정했다고 해봅시다. 어떤 유전자의 대표적인 발현량이 Control에서 100, Treatment에서 200이라면 Treatment가 2배입니다. 2를 밑으로 하는 로그를 취하면 `log2(2) = 1`이므로 `log2FoldChange`는 `+1`입니다.

| Control | Treatment | Treatment / Control | log2FoldChange | 읽는 법 |
| ---: | ---: | ---: | ---: | --- |
| 100 | 100 | 1 | 0 | 변화 없음 |
| 100 | 200 | 2 | +1 | Treatment에서 2배 |
| 100 | 400 | 4 | +2 | Treatment에서 4배 |
| 100 | 50 | 1/2 | -1 | Treatment에서 절반, Control에서 2배 |
| 100 | 25 | 1/4 | -2 | Treatment에서 1/4, Control에서 4배 |

로그를 쓰면 증가와 감소가 0을 중심으로 대칭이 됩니다. 2배 증가는 `+1`, 2배 감소는 `-1`이라서 볼케이노 플롯의 좌우를 같은 눈금으로 비교할 수 있습니다.

차등발현 결과의 `FoldChange`는 샘플 count 두 개를 단순히 나눈 값이 아닙니다. DESeq2나 PyDESeq2 같은 도구는 시퀀싱 깊이를 보정하고 batch나 paired subject 같은 design 항을 반영한 통계 모델에서 조건 효과를 추정합니다. 따라서 원본 표의 숫자 두 개를 직접 나눈 결과와 정확히 같지 않을 수 있습니다.

`log2FoldChange`의 부호는 중요하지만 그 자체로 유의성을 말하지는 않습니다. `+3`이어도 반복 샘플마다 방향이 크게 흔들리면 근거가 약할 수 있고, `+0.3`이어도 많은 반복에서 일관되면 작은 p-value가 나올 수 있습니다.

세로축은 보통 `-log10(padj)`입니다. `padj`가 작을수록 점이 위로 올라갑니다. 예를 들어 `padj=0.01`은 높이 2, `padj=0.0001`은 높이 4가 됩니다. 보정 p-value의 의미는 [통계적 검정과 다중검정](/reference/statistical-testing/)에서 설명합니다.

두 축을 함께 봐야 합니다. 오른쪽에 있지만 낮은 점은 변화량은 크지만 표본 사이에서 일관되지 않을 수 있습니다. 위에 있지만 중앙에 가까운 점은 차이가 일관되지만 변화량은 작을 수 있습니다.

## 사례: GSE251845 결과 읽기

아래 그림은 공개 대장암 RNA-seq 데이터셋 GSE251845에서 같은 환자의 Tumor와 Normal을 비교한 결과입니다. 이 사례의 비교 방향은 `Tumor / Normal`이므로 오른쪽은 Tumor에서 높은 유전자, 왼쪽은 Normal에서 높은 유전자입니다.

![GSE251845 Tumor 대 Normal의 실제 볼케이노 플롯. 기준을 통과한 Tumor-up 유전자는 빨간색, Normal-up 유전자는 파란색이다.](/images/practice/colorectal-deg/volcano-plot.png)

오른쪽 빨간색 점은 Tumor에서 2배 이상 높고 다중검정 뒤에도 유의한 유전자입니다. 왼쪽 파란색 점은 Normal에서 2배 이상 높습니다. 회색 점이 중요하지 않다는 뜻은 아니며, 이 그림에서 정한 두 기준을 동시에 통과하지 않았다는 뜻입니다.

## 선은 발견이 아니라 선택 기준이다

그림에는 흔히 `padj < 0.05`와 `|log2FC| ≥ 1` 위치에 선을 긋습니다. 이 선은 생물학적 진실의 경계가 아니라 **후속 확인에 사용할 후보 수를 정하는 기준**입니다. 표본 수가 많으면 작은 변화도 매우 유의해질 수 있고, 표본 수가 적으면 큰 변화도 유의하지 않을 수 있습니다.

따라서 기준은 다음과 함께 정합니다.

- 연구 질문에서 의미 있는 최소 변화량
- 표본 수와 그룹 안의 변동
- 후속 실험으로 확인할 수 있는 후보 수
- 유전자 하나가 아니라 pathway 수준에서 볼 계획인지

## MA plot과 무엇이 다른가

두 그림의 세로축에는 모두 log2 fold change가 들어가지만, 강조점이 다릅니다.

| 그림 | 나머지 축 | 먼저 확인하는 것 |
| --- | --- | --- |
| MA plot | 평균 발현량 | 낮은 count에서 변화량이 얼마나 흔들리는가 |
| 볼케이노 플롯 | 통계적 유의성 | 변화량과 통계적 근거를 모두 만족하는 후보가 어디 있는가 |

분석 품질과 count 의존성을 보려면 MA plot이 유용하고, 후보 유전자를 전달하고 우선순위를 논의할 때는 볼케이노 플롯이 편리합니다. 둘 중 하나가 다른 하나를 대신하지는 않습니다.

## 해석할 때 피할 결론

- 오른쪽 위의 유전자가 질병의 **원인**이라고 단정하지 않습니다.
- `padj < 0.05`인 점을 모두 중요한 바이오마커라고 부르지 않습니다.
- 점이 많은 쪽만 보고 전체 pathway가 활성화됐다고 결론 내리지 않습니다.
- 유전자 이름 몇 개만 골라 설명하지 말고 전체 결과표와 선택 기준을 함께 보존합니다.

볼케이노 플롯은 후보를 찾는 지도입니다. 원인성, 임상적 가치, 세포 유형의 변화는 독립 데이터와 추가 실험으로 확인해야 합니다. 후보 목록의 공통 기능은 [유전자 목록의 공통 기능 찾기](/lessons/gene-list-enrichment/)로 이어서 분석할 수 있습니다.