8강 / 20강
무릎 그래프 — 남이 이미 내린 결정을 알아본다
barcode rank · raw 와 filtered 의 차이 · 주변 RNA
10x 실험을 그림으로 그리면 이렇습니다. 세포 현탁액과 바코드 구슬을 기름에 흘려 넣어 물방울 수십만 개를 만듭니다. 이상적으로는 방울 하나에 세포 하나 + 구슬 하나. 그런데 실제로는 대부분의 방울이 비어 있습니다.
그러면 CellRanger 는 어떻게 "이 방울엔 세포가 있다" 고 판정할까요? UMI 개수로 줄을 세웁니다. 많이 잡힌 바코드부터 순서대로 늘어놓고 로그-로그 그래프를 그리면 어느 지점에서 뚝 떨어지는 무릎이 나타납니다. 그 앞이 세포, 뒤가 빈 방울이에요.
그런데 이 그림에는 무릎이 없습니다. 왜일까요? — 다음 설명을 보세요.
Python
브라우저에서 실행
물려받은 결정의 목록
GSE268555 를 받는 순간 우리는 이미 다음 결정들을 함께 받았습니다.
✔참조 유전체 — mm10 (더 최신인 GRCm39 가 아니라)
✔정렬·정량 프로그램 — CellRanger (파일 속성에 따르면 7.0.1)
✔세포 판정 — CellRanger 의 EmptyDrops 계열 알고리즘
✔인트론 포함 여부 — 버전마다 기본값이 다르다
✔세포 분리 방법 — Aria Fusion 으로 CD45⁺ 만 선별
마지막 항목이 특히 큽니다. CD45⁺ 만 골라 냈으므로 이 자료에는 암세포가 거의 없습니다. "종양 안에 면역세포 비율이 얼마인가" 같은 질문은 이 자료로는 답할 수 없어요. 분모가 이미 면역세포로 고정되어 있으니까요. 논문이 그 질문에 답하려고 공간전사체(Xenium) 를 따로 쓴 이유가 이것입니다.
Epcam(상피)·Col1a1(섬유아세포)이 0%가 아닙니다. 세포가 터지며 흘러나온 RNA 가 모든 물방울에 조금씩 섞여 들어간 것 — 이것이 주변 RNA 오염입니다.
Python
브라우저에서 실행
🤔 확인 문제
무릎 그래프(barcode rank plot)에서 '무릎'의 왼쪽과 오른쪽은 각각 무엇인가요?
해설 UMI 가 많이 잡힌 바코드부터 줄을 세우면, 세포가 든 방울과 빈 방울 사이에서 급격히 떨어집니다. CellRanger 는 이 지점을 자동으로 찾아 filtered 행렬을 만듭니다.
🤔 확인 문제
우리가 받은 filtered 행렬로 무릎 그래프를 그렸더니 무릎이 안 보였습니다. 왜일까요?
해설 무릎은 세포와 빈 방울의 경계에서 생깁니다. 빈 방울이 이미 잘려 나간 자료에는 경계 자체가 없어요. 진짜 무릎을 보려면
raw_feature_bc_matrix 가 필요합니다.🤔 확인 문제
이 자료가 CD45⁺ 선별을 거쳤다는 사실이 해석에 주는 제약은?
해설 분모가 이미 고정되어 있기 때문입니다. 100개 세포를 뽑았는데 전부 CD45⁺ 라면, 면역세포 비율은 언제나 100%죠. 논문이 침윤 정도를 재려고 공간전사체를 따로 쓴 이유가 여기 있습니다.