6강 / 20강

정규화 ① — 그릇의 크기를 맞춘다 (CPM)

counts / lib * 1e6, 한 줄에 담긴 공정함

정규화 ① — 그릇의 크기를 맞춘다 (CPM)
국자 크기가 다른 두 사람이 건진 건더기 수를 그냥 비교할 수는 없습니다. 국물 100 mL당 몇 개로 바꿔야 공평해요.

지난 강 끝에서 문제를 하나 남겨 두었습니다. 샘플마다 읽어 들인 RNA 총량(라이브러리 크기)이 25%나 다릅니다.

원시 개수로 비교 😵
WT_1: Ddx54 1,475개
      (총 1,867만 개 중)
KD_1: Ddx54   769개
      (총 1,636만 개 중)
그릇 크기가 다른데 건더기 수만 셌다
CPM 으로 비교 😊
WT_1: 79.0 CPM
KD_1: 47.0 CPM
"100만 개 중 몇 개" 로 환산 — 공평

CPM = Counts Per Million, "읽은 것 100만 개당 몇 개". 계산은 놀랄 만큼 단순합니다.

CPM = 그 유전자 개수 ÷ 그 샘플 총 개수 × 1,000,000

왜 하필 100만을 곱할까요? 그냥 나누기만 하면 값이 0.000079 처럼 너무 작아 읽기 힘들기 때문입니다. 100만을 곱하면 79.0 처럼 사람이 다루기 좋은 크기가 됩니다. 비율은 그대로이고 눈금만 바뀝니다.

정규화의 정의를 검산까지 해 봅니다. 열 합이 정확히 1,000,000.
Python 브라우저에서 실행

🎮 라이브러리 크기를 직접 흔들어 보기

샘플의 시퀀싱 양을 슬라이더로 바꿔 보세요. 원시 개수는 출렁이지만 CPM 은 꿈쩍도 하지 않는 장면이 정규화의 전부입니다.

CPM 실험실 — 그릇을 키워도 농도는 그대로
불러오는 중…
🤔 확인 문제
CPM 계산에서 * 1e6 을 빼면 어떻게 되나요?
🤔 확인 문제
어떤 샘플의 모든 유전자 CPM 을 더하면?
🤔 확인 문제
CPM 정규화가 해결하지 못하는 문제는?