Lesson 17 of 20
커버리지 — 평균이 감추는 것
<code>samtools depth</code> · GC 편향 · 코드랩 3단계 끝
10강에서 깊이가 무엇인지 봤습니다. 이 강은 그것을 실제로 재는 이야기입니다.
samtools depth -a tumor.sorted.bam # 자리마다 한 줄: 염색체 · 위치 · 깊이
samtools coverage tumor.sorted.bam # 염색체마다 요약 한 줄
samtools coverage tumor.sorted.bam # 염색체마다 요약 한 줄
-a 가 중요합니다. 없으면 리드가 하나라도 있는 자리만 나옵니다.
깊이 0 인 자리 — 즉 가장 알고 싶은 자리 — 가 표에서 사라집니다.
그래서 보고서에는 평균 대신 "X× 이상으로 덮인 표적의 비율" 을 적습니다.
Python
Runs in your browser
왜 고르지 않은가 — GC 편향
PCR 은 GC 가 아주 높거나 아주 낮은 조각을 잘 못 늘립니다. GC 가 높으면 가닥이 잘 안 풀리고, 낮으면 프라이머가 잘 안 붙습니다.
결과는 종 모양입니다 — GC 40~50% 근처는 잘 덮이고, 양 끝은 얕아집니다.
여기서 6강의 이야기가 돌아옵니다. Dog10K 조립이 CanFam3.1 대비 특히 많이 채운 것이 GC 가 높은 구간이었습니다. 그 구간에 프로모터와 첫 exon 이 몰려 있습니다.
읽기도 어렵고, 참조에도 없었다
두 어려움이 같은 자리에 겹칩니다.
가장 중요한 자리가 가장 얕습니다. 그래서 GC 가 높은 표적을 노리는 패널은 별도의 프로토콜을 씁니다.
Python
Runs in your browser
노트북에서 커버리지를 보는 자리
코드랩 3단계 끝에서 samtools depth 로 위치별 깊이를 그립니다.
종양이 정상보다 두 배쯤 두껍게 나오는 것이 보입니다.
여기서 눈으로 확인할 것 두 가지입니다.
가장자리 효과 때문에 변이가 창의 끝에 있으면 놓칩니다. 노트북이 드라이버를 창 가운데에 심는 이유입니다.
그래서 표적 구간을 잡을 때 양쪽에 여유(padding) 를 100~200 bp 붙입니다.
Python
Runs in your browser
🤔 Check yourself
samtools depth 를 -a 없이 돌리면 무엇이 빠집니까?Answer
-a 없이는 리드가 하나라도 있는 자리만 출력됩니다. 안 덮인 자리가 표에서 사라지므로, 평균만 계산하면 실제보다 좋아 보입니다. 임상 보고서에 0× 구간 목록을 따로 붙이는 이유도 같습니다.🤔 Check yourself
평균 깊이 60× 인 두 시료 가운데 어느 쪽이 더 쓸 만한지 가리려면 무엇을 봐야 합니까?
Answer 평균은 극단값에 흔들리고 분포를 감춥니다. 같은 평균 60× 라도 균일한 자료와 GC 편향이 심한 자료는 쓸 수 있는 자리가 전혀 다릅니다. 실무 지표는 C10·C20·C30 과 중앙값, 그리고 0× 구간입니다.
🤔 Check yourself
GC 편향이 특히 아픈 이유를 개 유전체 맥락에서 고르면?
Answer PCR 이 GC 극단을 잘 못 늘려 그 구간이 얕게 읽히고, 동시에 CanFam3.1 이 GC-rich 구간에서 구멍이 많았습니다(Dog10K 가 그것을 크게 채웠습니다). 읽기도 어렵고 참조에도 없던 두 어려움이 같은 자리에 겹칩니다.