15강 / 20강

단일세포 — 구멍 난 데이터에서 살아남기

발현은 무너져도 활성은 버틴다

단일세포 — 구멍 난 데이터에서 살아남기
구멍이 숭숭 뚫린 사진도, 여러 조각을 모아 보면 무엇인지 알 수 있습니다.

단일세포 RNA 시퀀싱은 세포 하나하나를 따로 읽습니다. 놀라운 기술인데, 데이터를 열어 보면 당황스럽습니다 — 대부분이 0 입니다.

세포 하나에서 잡히는 mRNA 분자는 몇천 개뿐이고, 유전자는 2만 개입니다. 어떤 유전자가 실제로 발현되고 있어도 운 나쁘면 한 조각도 안 잡힙니다. 이것을 드롭아웃(dropout)이라고 부릅니다. 데이터의 80~90%가 0 인 것이 보통입니다.

그러면 이 데이터로 "이 세포에서 MYC 가 활성인가"를 물을 수 있을까요? MYC 의 발현량을 보면? 십중팔구 0 이라 아무 말도 못 합니다. 그런데 VIPER 는 답할 수 있습니다.

부하 하나가 사라지는 것은 사고지만, 40명 중 34명이 사라져도 6명이 증언합니다.
Python 브라우저에서 실행

🎮 구멍을 뚫어 보세요

드롭아웃 비율 슬라이더를 올려 보세요. 왼쪽의 발현 히트맵이 점점 검게 변합니다. 오른쪽의 활성 추정이 언제까지 버티는지 지켜보세요. 90%를 넘겨도 활성이 살아 있는 것을 확인할 수 있습니다.

드롭아웃 비율을 올리며 발현과 활성 중 무엇이 먼저 무너지는지 봅니다
불러오는 중…

단일세포 VIPER 의 실전 요령

  • metaVIPER 를 함께 씁니다. 단일세포 데이터로 ARACNe 를 돌리기는 어려우므로, 대량(bulk) 데이터로 만든 네트워크 여러 장을 겹쳐 씁니다.
  • 기준을 세포 전체로 잡습니다. 시그니처의 기준은 보통 "이 실험의 모든 세포"이고, 그러면 "이 세포는 다른 세포들과 무엇이 다른가"를 묻게 됩니다.
  • 결과가 곧 세포 유형입니다. VIPER 활성으로 세포를 군집화하면, 발현으로 군집화한 것보다 훨씬 또렷하게 갈리는 경우가 많습니다. 구멍이 메워졌기 때문입니다.

실제로 단일세포 분야에서 VIPER 는 차원 축소 · 잡음 제거 도구처럼 쓰입니다. 20,000개의 성긴 유전자 벡터를 6,000개의 촘촘한 단백질 활성 벡터로 바꿔 놓는 것이니까요.

🤔 확인 문제
단일세포 데이터에서 VIPER 가 발현량 자체보다 강건한 근본 이유는?
🤔 확인 문제
단일세포 분석에서 metaVIPER 를 함께 쓰는 까닭은?
🤔 확인 문제
단일세포 시그니처를 만들 때 드롭아웃된 0 을 아주 낮은 발현값으로 그냥 취급하면 생기는 문제는?