Lesson 7 of 20
손으로 만든 TMB, 받아 온 TMB
39 표본을 다시 세어 cBioPortal 값과 맞춰 보기
2강부터 6강까지 정한 것을 모으면 함수 하나가 됩니다.
def compute(sample, mb=30.0, drop=SILENT):
d = mut(sample) # 그 표본의 변이 줄
d = d[~d["type"].isin(drop)] # 단백질 바꾸지 않는 것 빼고
return len(d) / mb # 세서 분모로 나눈다
세 줄입니다. TMB 계산의 전부가 여기 있습니다. 이제 이 함수로 39 표본을 재고, cBioPortal 이 준 값과 맞춰 봅니다.
늘 우리 값이 조금 작습니다. 5강에서 본 그대로 — 저쪽은 Splice_Region 까지 세고 있으니까요. 맨 아래 한 줄만 빼고요.
Python
Runs in your browser
규칙을 맞추면 대부분의 차이가 사라집니다. 딱 하나, 12.8 이나 어긋나는 표본이 남습니다.
Python
Runs in your browser
남은 한 표본을 들여다봅니다. 우리가 센 변이는 392개인데 저쪽 TMB 는 25.87 입니다. 25.87 × 30 = 776 — 우리 표에 있는 변이의 두 배입니다. 어느 쪽이 틀린 걸까요.
변이 개수도 TMB 도 맞습니다. 어긋난 것은 분모입니다 — 이 표본들만 15 Mb 로 나뉘어 있습니다.
Python
Runs in your browser
이제 566명 전부로 갑니다. 변이 줄은 39 표본 것만 실어 두었지만,
표본별 집계(n_mut·n_nonsyn)는 566명 모두 있습니다.
집계만으로도 규칙을 바꿔 가며 TMB 를 만들 수 있습니다.
규칙 네 벌로 같은 566명을 재면 TMB-High 가 180명에서 137명까지 움직입니다.
Python
Runs in your browser
🤔 Check yourself
우리가 다시 센 TMB 가 cBioPortal 값보다 늘 조금 작았던 까닭은?
Answer 규칙을 저쪽과 맞춰 아무것도 빼지 않고 세면 차이가 사라집니다.
🤔 Check yourself
같은 566명을 규칙만 바꿔 다시 쟀더니 TMB-High 인원이 180명에서 137명으로 바뀌었다. 여기서 얻을 교훈은?
Answer 숫자 자체가 아니라 숫자를 만든 규칙이 비교 가능성을 만듭니다.