17강 / 20강
히트맵 — 논문 Fig. 3 의 pheatmap 을 파이썬으로
SI 「we employed the pheatmap package in R to produce heatmaps」
논문은 면역회피 관련 유전자들의 발현을 히트맵으로 보였습니다.
we employed the pheatmap package in R to produce heatmaps. Using this
package, we compared expression patterns across samples, illustrating
normalized expression levels ... through color intensities.
파이썬에서는 plt.imshow 하나면 됩니다.
다만 그리기 전에 정규화를 해야 해요.
왜 정규화가 먼저인가
GAPDH 는 발현량이 200쯤이고 DDX54 는 12쯤입니다. 그대로 색을 칠하면 GAPDH 줄만 빨갛고 나머지는 전부 검게 보여요.
그래서 유전자마다 자기 평균과 흩어짐으로 나눕니다 — z-점수입니다.
z = (값 − 그 유전자의 평균) ÷ 그 유전자의 표준편차
이러면 모든 유전자가 같은 눈금에 놓입니다. 색이 뜻하는 것은 이제 "발현량이 많다" 가 아니라 "이 유전자치고는 높다" 예요.
정규화 전후를 나란히 놓았습니다. 세로선이 두 군의 경계입니다.
Python
브라우저에서 실행
🤔 확인 문제
히트맵을 그리기 전에 유전자마다 z-점수로 바꾸는 이유는?
해설 GAPDH 200 과 DDX54 12 를 같은 색눈금에 놓으면 GAPDH 만 보입니다. z-점수는 모든 유전자를 같은 눈금에 올려 '이 유전자치고는 높다' 를 보여 줘요.