20강 / 20강

R 패키지 diggit — 직접 돌려 보기와 한계

결과를 믿기 전에 확인할 것들

R 패키지 diggit — 직접 돌려 보기와 한계
도구를 손에 쥐었다면, 이제 도구가 언제 틀리는지를 알아야 합니다.

DIGGIT 은 Bioconductor 의 R 패키지 diggit 으로 공개되어 있습니다. 무료이고, 논문의 GBM 예제 자료가 패키지 안에 들어 있어 그대로 따라 해 볼 수 있습니다.

# Bioconductor 설치 if (!require("BiocManager")) install.packages("BiocManager") BiocManager::install("diggit") library(diggit) browseVignettes("diggit") # 이 문서가 가장 정확한 안내서입니다

함께 쓰는 짝 패키지들입니다.

패키지역할이 강의
viper단백질 활성 추론 · 레귤론 다루기8·10강
aracne.networksTCGA 조직별로 미리 만들어 둔 ARACNe 레귤론7강
diggitaQTL · 조건부 분석 · 통합11~17강

aracne.networks 가 특히 고맙습니다. ARACNe 를 직접 돌리려면 시료 수백 개와 상당한 계산이 필요한데, TCGA 주요 암종의 레귤론이 이미 만들어져 들어 있습니다.

🎮 파이프라인을 조립해 보세요

단계를 순서대로 놓아 보면서 각 단계가 무엇을 받고 무엇을 내놓는지 확인해 보세요.

각 단계의 입력과 출력을 맞춰 보면 파이프라인이 손에 잡힙니다
불러오는 중…

파이프라인의 모양

library(diggit) # ── 1. 자료 준비 ───────────────────────────── # 발현 행렬 (유전자 × 환자) # 복제수 행렬 (유전자 × 환자) ← 같은 환자여야 한다 # 레귤론 (ARACNe 결과) # 표현형 라벨 (중간엽 / 나머지) # ── 2. 마스터 레귤레이터 ──────────────────── # 표현형 시그니처를 만들고 VIPER 로 조절자 활성을 계산해 # 상위 MR 을 고른다 (9·10강) # ── 3. aQTL ────────────────────────────────── # 환자별 MR 활성 ↔ 환자별 변이 를 연관 검정 (11강) # ── 4. 조건부 분석 ────────────────────────── # 후보가 MR 의 레귤론을 흔드는지 확인 (15·16강) # ── 5. 통합 · 순위 ────────────────────────── # 두 증거를 합쳐 후보를 줄 세운다 (17·18강)

이 다섯 토막이 이 강의의 뼈대입니다. 어떤 언어로 구현하든, 순서가 이러면 그것이 DIGGIT 입니다.

아래 위젯에서는 1번 "자료 준비" 를 자료 맞추기와 레귤론 만들기 둘로 떼어 일곱 단계로 폅니다 — 같은 파이프라인을 더 잘게 썬 것뿐입니다. 바로 다음 파이썬 셀의 뼈대는 레귤론을 이미 받은 것으로 두고 여섯 단계를 찍습니다. 셋 다 같은 순서이고, 어디서 자르느냐만 다릅니다.

코드로 적어 보면 '무엇이 무엇의 입력인가' 가 분명해집니다.
Python 브라우저에서 실행

DIGGIT 이 못 하는 것

도구를 쓸 자격은 그 한계를 아는 데서 옵니다. 정직하게 적어 둡니다.

① 레귤론이 틀리면 다 틀린다

지도가 잘못되면 모든 추론이 잘못됩니다. 조직·맥락이 맞는 레귤론인지 반드시 확인해야 합니다.

② 짝지어진 자료가 필요하다

같은 환자의 발현 + 변이. 이 조건 때문에 쓸 수 있는 코호트가 크게 제한됩니다.

③ 드문 변이는 못 잡는다

빈도가 낮으면 검정력이 없습니다. 환자 몇 명에게만 있는 강력한 드라이버는 이 방법의 사각지대입니다.

④ 여전히 관찰 자료다

네트워크를 끼워 넣어 그럴듯함을 크게 높였을 뿐, 인과의 최종 증명은 조작 실험이 합니다.

⑤ 같은 구역 이웃을 못 가른다

F-CNV 로 상당히 줄지만 완전히는 못 가릅니다. 최종 판정은 실험입니다.

⑥ 증거가 완전히 독립은 아니다

aQTL 과 조건부 분석이 같은 발현 자료를 씁니다. 결합 p값은 순위용으로 보는 편이 안전합니다. (17강)

이 목록을 분석 노트 맨 앞에 붙여 두면 나중에 자신을 구합니다.
Python 브라우저에서 실행
🤔 확인 문제
DIGGIT 분석 결과를 해석할 때 가장 조심해야 할 한계는 무엇인가요?
🤔 확인 문제
DIGGIT 이 특히 잡아내기 어려운 종류의 드라이버는?
🤔 확인 문제
ARACNe 를 직접 돌리지 않고도 TCGA 조직별 레귤론을 얻을 수 있는 방법은?