19강 / 20강
실습 종합 — 코드랩 4~7단계를 줄 단위로
<code>rosie_mct_mrna_vaccine_codelab.ipynb</code> · 3시간 워크숍의 뒤 절반
I 권 19강에서 0~3단계를 읽었습니다. 이제 4~7단계입니다.
| 단계 | 하는 일 | 이 권 |
|---|---|---|
| 4 | 체세포 변이발굴 — bcftools 로 부르고, 뺄셈으로 드라이버 복원 | 2~11강 |
| 5 | 네오항원 선별 — 타일링 · DLA-88 PWM · 차등 아그레토프 | 14~17강 |
| 6 | mRNA 백신 서열 조립 — IgE · GPGPG · MITD · UTR · polyA | /mrna 13강 |
| 7 | 코돈 최적화 + m1Ψ | 18강 |
6단계는 이 권의 범위 밖입니다 — 서열 설계는 유전체가 아니라 분자생물학입니다. /mrna 13~14강이 그 몫을 합니다.
4단계 — 뺄셈이 실제로 적힌 곳
def call(sample):
sh(f"{bt} mpileup -f kit_locus.fa -a FORMAT/AD,FORMAT/DP -Q15 -q10 {sample}.sorted.bam "
f"| {bt} call -m -v -Ov -o {sample}.vcf")
out = {}
for ln in open(f"{sample}.vcf"):
…
ad = d.get("AD", "0,0").split(","); dp = int(d.get("DP", "0") or 0)
sh(f"{bt} mpileup -f kit_locus.fa -a FORMAT/AD,FORMAT/DP -Q15 -q10 {sample}.sorted.bam "
f"| {bt} call -m -v -Ov -o {sample}.vcf")
out = {}
for ln in open(f"{sample}.vcf"):
…
ad = d.get("AD", "0,0").split(","); dp = int(d.get("DP", "0") or 0)
두 시료에 각각 call() 을 돌리고, 그다음이 뺄셈입니다.
6강에서 손으로 한 것과 같은 논리입니다.
여기서 확인할 것은 하나입니다 — 심어 둔 드라이버가 VAF 0.85 근처로 되돌아왔는가.
기대값을 먼저 적어 두고 돌리는 것. I 권 19강과 같은 습관입니다.
Python
브라우저에서 실행
5단계 — 어디에 눈길을 두어야 하나
recovered = {r for r in ["KIT"] if drv} # 학생이 직접 복원한 유전자
candidates = []
for e in CLINICAL_PANEL:
midx = mut_index(e["wt_window"], e["mut_window"])
…
candidates = []
for e in CLINICAL_PANEL:
midx = mut_index(e["wt_window"], e["mut_window"])
…
첫 줄이 눈여겨볼 대목입니다. KIT 은 학생이 복원했고, TP53 과 NRAS 는 주어졌습니다.
노트북이 정직하게 적어 둔 것입니다 —
CLINICAL_PANEL 의 "recovered": True/False 가 그 표시입니다.
20 kb 창 안에는 KIT 만 있으므로 나머지 둘은 임상 패널에서 가져온 것입니다.
워크숍에서 이 구분을 넘어가면, 학생은 자기가 세 유전자를 다 찾아낸 줄 압니다.
이 열 줄이 워크숍 뒤 90분의 요약입니다.
Python
브라우저에서 실행
워크숍 진행 — 뒤 90분
| 시간 | 무엇 | 참고 강 |
|---|---|---|
| 90~110분 | 4단계 — VCF 를 열어 본다. 여덟 열과 FORMAT | 2~5강 |
| 110~125분 | 뺄셈 · 드라이버 복원 · VAF 0.847 이 왜 0.5 가 아닌가 | 6~9강 |
| 125~135분 | 문턱을 옮겨 본다 — 커버리지를 20× 로 낮추면? | 11강 |
| 135~155분 | 5단계 — 타일링 · DLA-88 · 차등 아그레토프 | 14~17강 |
| 155~170분 | 6~7단계 — 서열 조립 · 코돈 최적화 | 18강 · /mrna |
| 170~180분 | 10단계 재현 판정 + 말할 수 있는 것과 없는 것 | 20강 |
마지막 10분을 반드시 남기세요. 20강이 그 10분을 위한 것입니다.
🤔 확인 문제
4단계 뒤에 드라이버 VAF 가 0.50 근처로 나왔습니다. 가장 먼저 의심할 것은?
해설 심은 값은 0.847 이고 60× 에서 95% 범위가 약 0.75~0.93 입니다. 0.50 은 그 밖입니다. 파일이 바뀌었다면 정상 쪽에서도 변이가 나오므로 그것을 먼저 확인합니다. 기대값을 미리 적어 두었기 때문에 이 진단이 가능합니다.
🤔 확인 문제
노트북의
CLINICAL_PANEL 에서 KIT 만 "recovered": True 인 이유는?해설 노트북이 정직하게 적어 둔 표시입니다. 워크숍에서 이 구분을 넘어가면 학생은 자기가 세 유전자를 다 찾아낸 줄 압니다. 어디까지가 내 결과이고 어디부터가 주어진 것인가를 가르는 것이 이 강의의 태도입니다.