RPKM·FPKM·TPM 계산기 쉽게 이해하기 — 개념과 원리
RNA-seq의 리드 수는 유전자 길이와 시퀀싱 깊이에 영향을 받습니다. 발현량이 같아도 긴 유전자는 짧은 유전자보다 리드가 더 많이 붙고, 라이브러리를 깊게 읽으면 모든 유전자의 리드 수가 늘어납니다. RPKM(페어드엔드 단편 기준이면 FPKM)과 TPM은 이 두 요인을 보정한 값입니다. 이 계산기는 한 유전자의 원시 리드 수를 RPKM/FPKM과 TPM으로 바꿔, 표본 안이나 표본 사이에서 발현량을 비교할 수 있게 해 줍니다.
계산 방법
- RPKM/FPKM = 리드 수 ÷ (유전자 길이(kb) × 매핑된 전체 리드 수(백만))
- RPK = 리드 수 ÷ 유전자 길이(kb)
- TPM = RPK ÷ ΣRPK × 10⁶ (ΣRPK는 표본 내 모든 유전자의 RPK 합계, 백만 단위로 입력)
FPKM은 리드 대신 단편(리드 쌍)을 셀 뿐 계산 방법은 같습니다.
원리
두 값 모두 길이와 깊이로 나누지만 순서가 다릅니다. RPKM은 먼저 라이브러리 크기로, 그다음 길이로 나눕니다. TPM은 먼저 모든 유전자를 길이로 나눈 뒤, 표본 안 전체 합이 100만이 되도록 맞춥니다. TPM의 합은 언제나 10⁶이므로 TPM은 '전사체 100만 개 가운데 이 유전자 전사체가 몇 개인가'라는 비율로 읽을 수 있습니다. 반면 RPKM은 표본마다 합계가 달라 표본 간 비율로 해석하기 어렵습니다.
예제 풀이
- 입력값: 리드 500개, 유전자 길이 2 kb, 매핑 리드 2,000만 개, ΣRPK = 800만
- RPKM = 500 ÷ (2 × 20) = 12.5
- RPK = 500 ÷ 2 = 250
- TPM = 250 ÷ 8,000,000 × 1,000,000 = 31.25
| 유전자 길이 (kb) | RPKM / FPKM |
|---|---|
| 0.5 | 50 |
| 1 | 25 |
| 1.5 | 16.66666667 |
| 2 | 12.5 |
| 2.5 | 10 |
| 3 | 8.333333333 |
| 4 | 6.25 |
결과 해석
TPM 31.25는 표본 속 전사체 100만 개 중 약 31개가 이 유전자의 것, 즉 약 0.003%라는 뜻입니다. 대략 1 미만이면 발현이 낮거나 없다고 보는 경우가 많지만, 기준은 조직, 깊이, 분석 파이프라인에 따라 다릅니다. 조건 간 차등 발현 분석은 RPKM이나 TPM이 아니라 원시 리드 수에 자체 정규화를 적용하는 통계 도구(DESeq2, edgeR 등)로 하는 것이 일반적입니다.
흔한 실수
- 유전자 길이를 kb가 아닌 염기 수로 입력하는 경우
- 매핑된 리드 대신 전체 리드 수를 쓰거나, 다른 표본의 ΣRPK를 쓰는 경우
- 구성이 크게 다른 표본끼리 TPM을 그대로 비교하는 경우(소수의 고발현 유전자가 나머지 값을 모두 끌어내립니다)
자주 묻는 질문
TPM과 FPKM 중 무엇을 써야 하나요?
표본 내 비율을 나타내거나 결과를 보고할 때는 합이 일정한 TPM을 더 많이 권합니다.
FPKM을 TPM으로 바꿀 수 있나요?
같은 표본 안에서 TPMᵢ = FPKMᵢ ÷ ΣFPKM × 10⁶으로 바꿀 수 있습니다.
CPM은 무엇인가요?
백만 리드당 리드 수로, 리드 수 ÷ 매핑된 전체 리드 수 × 10⁶이며 길이 보정은 하지 않습니다.
출처: A. Mortazavi et al., "Mapping and quantifying mammalian transcriptomes by RNA-Seq", Nature Methods 5, 621–628 (2008) · G. P. Wagner, K. Kin and V. J. Lynch, "Measurement of mRNA abundance using RNA-seq data", Theory in Biosciences 131, 281–285 (2012)