국자 크기가 다른 두 사람이 건진 건더기 수를 그냥 비교할 수는 없습니다. 국물 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.
🎮 라이브러리 크기를 직접 흔들어 보기
샘플의 시퀀싱 양을 슬라이더로 바꿔 보세요. 원시 개수는 출렁이지만
CPM 은 꿈쩍도 하지 않는 장면이 정규화의 전부입니다.
🤔 확인 문제
CPM 계산에서 * 1e6 을 빼면 어떻게 되나요?
해설 보정은 나눗셈이 이미 다 했습니다. 1e6 은 사람이 읽기 좋은 눈금으로 바꿔 주는 것뿐이라, 곱하지 않아도 대소 관계는 똑같습니다.
🤔 확인 문제
어떤 샘플의 모든 유전자 CPM 을 더하면?
해설 정의상 정확히 1,000,000 입니다. 각 값을 총합으로 나눈 뒤 100만을 곱했으니까요. 이 성질은 코드가 맞게 돌아갔는지 검산하는 데 아주 유용합니다.
🤔 확인 문제
CPM 정규화가 해결하지 못하는 문제는?
해설 CPM 은 총합만 맞춥니다. 특정 유전자가 전체 비중을 크게 차지하면 나머지가 상대적으로 눌리는 조성(composition) 문제는 남아 있어, 이때는 TMM 같은 방법이 필요합니다.