8강 / 20강
농축 — 부하들이 위쪽에 몰려 있나
줄 세운 목록에서 한 무리가 쏠린 정도를 재는 법
유전자 20,000개를 시그니처 순으로 줄 세웠습니다. 맨 앞은 가장 많이 올라간 유전자, 맨 뒤는 가장 많이 내려간 유전자입니다.
이제 이 줄 위에 MYC 의 부하 50명을 형광펜으로 칠해 봅니다. 그 50개가 줄 전체에 고루 흩어져 있다면? 아무 일도 없는 것입니다. 그런데 50개 중 40개가 맨 앞쪽 500등 안에 몰려 있다면? 우연이라고 하기 어렵습니다. MYC 가 뭔가 하고 있는 거예요.
이 "몰림"을 숫자로 재는 것이 농축(enrichment) 입니다. 유전자 세트 분석에서 가장 널리 쓰이는 방법이 GSEA 이고, VIPER 의 aREA 는 그 아이디어를 이어받아 더 빠르고 정교하게 만든 것입니다.
누적 걸음 — GSEA 의 핵심 그림
줄의 앞에서 뒤로 한 칸씩 걸어가면서 이렇게 합니다.
- 지금 밟은 유전자가 우리 부하면 → 위로 한 걸음 (부하 수가 적을수록 큰 걸음)
- 우리 부하가 아니면 → 아래로 아주 조금 (전체가 많으므로 작은 걸음)
부하들이 앞쪽에 몰려 있으면 초반에 계속 위로 올라가다가 산 하나가 생깁니다. 그 산봉우리의 높이가 농축 점수(Enrichment Score, ES)입니다. 부하가 고루 흩어져 있으면 오르내리다 0 근처를 맴돌 뿐 산이 안 생깁니다.
왼쪽 ■ 이 부하입니다. 앞쪽에 몰릴수록 산이 높아집니다.
Python
브라우저에서 실행
🎮 부하를 줄 위에서 옮겨 보세요
아래 줄에서 부하(색칠된 칸)를 클릭해 자리를 옮길 수 있습니다. 앞쪽으로 모으면 산이 높아지고, 흩뿌리면 산이 사라집니다. 뒤쪽으로 모으면 어떻게 되는지도 꼭 해 보세요 — 산이 아래로 파입니다. 그것은 "부하들이 전부 내려갔다"는 뜻이고, MoR 이 양수라면 상사가 잠잠하다는 증거가 됩니다.
농축 점수의 부호는 '어느 쪽 끝에 몰렸나'를 말합니다.
Python
브라우저에서 실행
🤔 확인 문제
농축 점수(ES)가 큰 음수로 나왔습니다. 무슨 뜻입니까?
해설 누적 걸음이 아래로 파였다는 뜻이므로, 부하들이 가장 많이 내려간 쪽에 모여 있습니다. MoR 이 양수인 부하들이라면 상사가 잠잠하다는 증거입니다.
🤔 확인 문제
GSEA 의 누적 걸음에서, 부하를 밟았을 때의 걸음 폭이 부하 수가 적을수록 커지는 까닭은?
해설 부하가 5개면 한 걸음이 1/5, 50개면 1/50 입니다. 이렇게 해야 전부 앞에 몰렸을 때의 최대 높이가 레귤론 크기와 무관하게 1 이 됩니다.
🤔 확인 문제
VIPER 가 GSEA 를 그대로 쓰지 않고 aREA 를 만든 이유로 옳은 것을 모두 담은 것은?
해설 속도와 정보 활용, 두 가지 모두가 이유입니다. aREA 는 순열 대신 수식으로 p 값을 내고, MoR 과 likelihood 를 계산에 직접 넣습니다.