10강 / 20강

k-mer 색인을 직접 짓는다

31 글자로 자르고 사전에 담는다 · 왜 하필 31인가

k-mer 색인을 직접 짓는다
책에서 문장을 찾을 때 처음부터 읽지 않습니다. 색인을 봅니다. 유전체도 같아요 — 짧은 조각을 미리 사전에 담아 두면 찾기는 한 번에 끝납니다.

발상은 단순합니다.

참조 전사체를 31 글자씩 잘라 사전에 담는다.
사전의 열쇠는 31 글자, 값은 그 조각이 나온 유전자 이름.

그러면 read 하나가 왔을 때, read 안의 31 글자를 하나 떼어 사전에서 찾아보기만 하면 됩니다. 사전 조회는 즉시 끝납니다.

TTTGCA 는 두 유전자에 다 들어 있습니다 — 13강의 문제가 벌써 보이네요.
Python 브라우저에서 실행
실제 색인입니다. 8칸마다 담아도 76bp read 는 여러 번 걸립니다.
Python 브라우저에서 실행
숫자로 보면 왜 작은 k 가 쓸모없는지 바로 보입니다.
Python 브라우저에서 실행
read 안 오류 하나의 파급 범위를 세어 봅니다.
Python 브라우저에서 실행

🎮 k-mer 실험실

k 를 바꿔 가며 색인 크기와 충돌을 확인하세요.

k-mer 실험실 — k 를 바꿔 본다
불러오는 중…
🤔 확인 문제
k 가 너무 작으면 생기는 문제는?
🤔 확인 문제
read 한가운데 염기 하나가 틀렸을 때 31-mer 는 몇 개가 깨지는가?
🤔 확인 문제
색인을 8칸마다 만들어도 되는 이유는?