9강 / 20강

read 를 유전자에 붙이는 두 가지 길

게놈 정렬(STAR)과 유사정렬(salmon) · 왜 브라우저에서도 되는가

read 를 유전자에 붙이는 두 가지 길
read 가 어느 유전자에서 왔는지 알아내는 데 게놈 전체에 줄 세울 필요는 없습니다. '이 조각이 저 전사체 안에 있나' 만 물으면 훨씬 싸게 끝납니다.

이제 본론입니다. 76 글자짜리 조각이 어느 유전자에서 왔는지 어떻게 알아낼까요?

① 게놈에 정렬한다 (STAR · HISAT2)

생쥐 게놈 27억 염기 위에 read 를 얹어 정확한 위치를 찾습니다. 엑손과 엑손 사이를 건너뛴 read 도 처리해야 하죠.

메모리 30GB · 정확한 좌표를 얻는다
② 전사체에 유사정렬한다 (salmon · kallisto)

전사체 1억 염기만 놓고 "어느 전사체에 들어 있나" 만 묻습니다. 좌표는 포기합니다.

메모리 4GB · 수십 배 빠르다

우리는 ② 를 더 줄여서 씁니다. 전사체도 전부가 아니라 발현 상위 300 유전자만 놓습니다(참조에서 이름을 찾은 것이 290개 — 13강). 그러면 참조가 94만 염기가 되고, 브라우저 안에서도 돌아갑니다.

참조가 작으면 색인도 작습니다. 그것이 브라우저에서 도는 유일한 이유예요.
Python 브라우저에서 실행

왜 '유사정렬' 로 충분한가

카운트 표를 만드는 데 필요한 정보는 "어느 유전자" 하나뿐입니다. "3번 염색체 45,678,901 번 자리" 라는 좌표는 카운트에 쓰이지 않습니다.

필요 없는 것을 계산하지 않으면 수십 배 빨라집니다. salmon·kallisto 가 2016~2017년에 판을 뒤집은 이유가 이것입니다.

물론 좌표가 필요한 일도 있습니다 — 새 전사체 찾기, 스플라이싱 분석, 변이 찾기. 그럴 때는 STAR 로 정렬해야 합니다. 목적이 도구를 정합니다.

🎮 참조 탐색기

패널에 어떤 유전자가 들어 있는지, 얼마나 긴지 확인하세요.

참조 탐색기 — 290개 전사체
불러오는 중…
🤔 확인 문제
salmon·kallisto 같은 유사정렬이 STAR 보다 훨씬 빠른 근본적인 이유는?
🤔 확인 문제
이 강의가 전사체 전부가 아니라 290개 패널만 쓰는 이유는?
🤔 확인 문제
게놈 정렬(STAR)이 반드시 필요한 작업은?