10강 / 20강

히트맵 — 표에 색을 칠하기 전에 정해야 할 것들

논문 Fig. 3A·6A · 행 정규화와 줄 세우기

히트맵 — 표에 색을 칠하기 전에 정해야 할 것들
히트맵은 표를 색으로 바꾼 것뿐입니다. 그런데 행을 정규화할지와 어떤 순서로 놓을지가 그림을 통째로 바꿉니다.

히트맵은 단순합니다. 표의 칸마다 값에 따라 색을 칠한다. 그게 전부예요.

그런데 그 앞에 결정이 셋 있습니다. 셋 다 그림을 통째로 바꿉니다.

📏
1. 행을 정규화할까
유전자마다 발현량 규모가 다르다. 안 맞추면 많이 나오는 유전자만 보인다
🔀
2. 어떤 순서로 놓을까
군집화? 값 순서? 유전자 이름 순? 순서가 패턴을 만든다
🎨
3. 어떤 색표를 쓸까
z점수면 발산, 원값이면 순차. 6강에서 본 그대로
왼쪽은 어떤 유전자가 많이 나오나를 보여 주고, 오른쪽은 어떤 유전자가 조건에 따라 변하나를 보여 줍니다. 논문이 알고 싶은 것은 오른쪽입니다.
Python 브라우저에서 실행
정규화·정렬·색표·범위를 하나씩 바꿔 보세요. 같은 표가 어떻게 다른 이야기를 하는지.
불러오는 중…

두 번째 결정 — 줄 세우기는 생각보다 큽니다.

군집화 (clustering)
비슷한 행끼리 모은다. 몰랐던 무리를 발견할 수 있다. 대신 나무(dendrogram)의 가지를 어디서 돌리느냐에 따라 그림이 달라진다
값 순서
변화가 큰 것부터. 정직하고 재현된다. 대신 무리 구조는 안 보인다

중요한 사실 하나 — 군집화된 히트맵은 언제나 아름답습니다. 난수를 넣어도 아름다워요. 비슷한 것끼리 모아 놨으니 당연히 덩어리가 생기니까요. 그러니 "히트맵에 블록이 보인다" 는 것 자체는 증거가 아닙니다.

군집화는 무엇이든 정돈된 것처럼 보이게 만듭니다. 히트맵의 블록을 결론의 근거로 삼으면 안 되는 이유입니다.
Python 브라우저에서 실행
🤔 확인 문제
유전자마다 발현량 규모가 크게 다릅니다. 행 z점수를 쓰지 않으면?
🤔 확인 문제
난수 행렬을 군집화해 히트맵으로 그리면?
🤔 확인 문제
논문 Fig. 6A 설명의 'normalized expression' 이라는 한 마디가 왜 중요한가요?