20강 / 20강
말할 수 있는 것과 없는 것 — 그리고 진짜 API 로
정리 · http://192.168.219.45:8500
말할 수 있는 것
| 주장 | 근거 |
|---|---|
| 건강한 CD4+ T세포는 파이프라인 암 표적 대부분 없이도 산다 | 13개 중 11개가 DE 두 자릿수 이하 · 세포·녹다운 충분(7·8강) |
| 같은 표적도 세포 상태에 따라 결과가 뒤집힌다 | LAT Rest 4 → Stim8hr 5,536 (10강) |
| TCR 신호전달 부품은 이 세포의 급소다 | CD3E · LAT · ZAP70 · PLCG1 전부 DE 5,000+ (4·9강) |
| ZAP70 클러스터는 자가면역 7종과 이어진다 | 클러스터 89 · OR 2.4~4.0 · p_adj < 0.05 (15강) |
| 가장 크게 흔드는 표적이 가장 좋은 표적은 아니다 | TADA2B 선택성 1.3배 대 ZAP70 60배 (16강) |
말할 수 없는 것
| 말할 수 없는 것 | 왜 |
|---|---|
| "WRN·TNIK·ENPP1 은 나쁜 표적이다" | 암 표적을 T세포에서 시험했을 뿐입니다(1·9강) |
| "ZAP70 을 막으면 다발경화증이 낫는다" | 연관은 인과가 아닙니다. 방향도 안전성도 미지수(15강) |
| "이 표적은 사람에게 듣는다" | 접시 위 1차 세포이지 사람이 아닙니다 |
| "DE 0 이면 효과가 없다" | 0 에는 세 종류가 있습니다(8강) |
| "이 자료로 암 표적을 판단할 수 있다" | 세포가 암이 아닙니다. /wrn 이 그 자료를 다룹니다 |
진짜 API 로 넘어가기
이 강의의 pseq 꾸러미는 진짜 API 응답을 2026-08-30 에 떠 온 것입니다.
표적 135개만 들어 있고요. 사설망 안에 있다면 진짜 API 를 그대로 부를 수 있습니다 —
유전자 11,526개 전부에 대해서요.
함수 이름도 인자도 돌려주는 모양도 같습니다. `requests.get(...).json()` 으로 바꾸기만 하면 됩니다.
Python
브라우저에서 실행
# 사설망 안에서 (파이썬)
import requests
B = "http://192.168.219.45:8500"
r = requests.get(f"{B}/api/perturb/ZAP70").json()
if "error" in r: # 5강 — 없는 유전자도 200 입니다
print(r["suggestions"])
else:
print(r["summary"])
# 명령줄에서
curl -s "http://192.168.219.45:8500/api/top-hits?condition=Stim48hr&n=10"
curl -s "http://192.168.219.45:8500/api/compare?genes=ZAP70,LAT,CD3E"
이 강의에서 쓴 여섯 함수가 그대로 여섯 엔드포인트입니다.
pseq.perturb(g) → GET /api/perturb/<g> 처럼요.
다음에 볼 것
두 줄이 이 강의의 요약입니다.
Python
브라우저에서 실행
🤔 확인 문제
이 자료만으로 말할 수 있는 것은?
해설 자료가 답한 질문은 "이 세포가 이 유전자 없이 사는가" 하나입니다.
다른 세포에서의 값어치, 사람에서의 효과, 치료 가능성은
전부 이 자료 밖에 있습니다.
🤔 확인 문제
이 강의가 가르친 '순서' 의 첫 단계는?
해설 1강에서 본 실수가 정확히 이 단계를 건너뛴 것이었습니다.
자료와 질문이 맞지 않으면 뒤의 모든 계산이 정교한 헛수고가 됩니다.