2022년 1월 11일 화요일

Nanopore sequencing - 무식에서 벗어나자!

"무식에서 벗어나자!"는 원래 강기동 박사님("KDK")이 진공관 앰프의 B 전원에 대해서 쓰신 글의 제목이다. 아래에 보인 두 링크의 글 내용은 동일하다. 티스토리 웹사이트의 개설 취지에 대해서는 여기를 참조하면 된다. My Audio Lab은 강기동 박사님이 그 후에 직접 개설하여 운영하는 곳이다.

내가 나노포어 시퀀싱을 처음 접한 것이 아마 2016년도일 것이다. 경험이 흐르는 물처럼 연연히 이어져 와야 되는데, 가물에 콩 나듯 이따금씩 사용하다보니 그 사이에 기술은 저만치 앞서나가고 있다. 그러니 현업에서 열심히 사용하는 분들에게 오히려 물어서 따라잡기를 해야 하는 실정이다. 

그런데 그 궁금한 것들이 결국은 나노포어 커뮤니티 웹사이트를 잘 뒤지면 문서로 정리되어 어딘가 있다는 것이 중요하다. 나에게 스스로 되묻지 않을 수 없다. RTFM! 일단 아주 기본적인 문서부터 읽어라. 단, 나노포어 커뮤니티에 게시된 정보를 읽으려면 로그인이 필요하다.


한번 자리잡은 인식은 수정에 완강히 저항한다. 예를 들어서 MinION 기기는 Mk1B와 Mk1C의 두 가지가 있는데, Mk1B = MinION이라고 처음에 받아들이고 나서는 좀처럼 바뀌지는 않는다. 아래 사진은 MinION Mk1B와 MinION Mk1C이다. 이를 자꾸 MinION과 MinION Mk1C(또는 단순히 Mk1C)라고 생각하는 것이다.


Mk1B와 Mk1C 무엇을 사용하든 flow cell은 동일하다. 이론적인 최대 throughput은 50 Gb라 하는데, typical throughput은 20 Gb 정도일 것이다. 아니, 구입한지 오래 된 flow cell을 쓴다 가정하고 10 Gb를 얻는다고 치자. 시퀀싱과 동시에 local basecall을 한 경우, 시퀀싱이 끝남과 동시에 basecall도 다 끝날까? 물론 그렇지 않다.


Fast model로 basecall을 하는 경우, MinION Mk1C와 MinION CPU(not GPU)와 의 처리 속도는 각각 0.8 및 0.13 Gb/h이다. 하루로 환산하면 19.2 및 3.12 Gb에 해당한다. 만약 이틀 동안시퀀싱을 하여 10 Gb가 생겼다면, MinION Mk1C에서는 basecall이 종료된 상태이지만 CPU 환경에서는 6 Gb 조금 넘게 처리가 된 상태라서 하루 이상을 더 기다려야 한다.

HAC model을 사용한다면 어떨까? 처리 속도는 0.07 Gb/hr(Mk1C) 및 0.014 Gb/hr(MinION CPU)이다. 24시간에 대해 환산하면 1.68 및 0.336 Gb에 그친다. 시퀀싱을 마쳐 놓고 basecall이 끝나기까지 4일을 더 기다려야 한다고 생각해 보라(Mk1C의 경우). 물론 이는 이론에 해당하는 예상치이고 실제로는 더 오래 걸릴 것이다.

따라서 Mk1C라 해도 fast basecall만 쓰는 것이 현실적일 것이다. 결국은 GPU가 달린 성능 좋은 컴퓨터를 구매하는 것이 현명한 선택이 될지도 모른다. Mk1C에 너무 많은 것을 기대했었다. 일루미나 read로 교정을 할 수 있다면, fast model로 충분할 것이다. 그러나 모든 것을 long read로 해결하려면 고민에 빠지게 된다.

아무런 생각 없이 Xeon E5520이 하나 달린 컴퓨터(메모리 12GB)에서 Mk1B를 물리고 시퀀싱을 한 것이 화근이었다. 시퀀싱 개시일은 지난 금요일(1/7) 오후 3시 7분이다. 이제 거의 4일째가 되어 가는데 아직도 basecalling 진행도는 35%에 불과하다. 추산되는 목표량은 8.09 Gb.

같은 연구원에서 나노포어 시퀀싱을 이미 활발하게 진행하는 두 연구팀에 물어보니 NVIDIA사의 GeForece RTX 3090Titan RTX를 장착한 컴퓨터에서 여유 있게 guppy HAC basecalling을 하고 있다고 한다. 부럽다! 

댓글 없음: