NGS 분석이 필요하세요? 분석은 쎌프

아래 글은 Hmmer의 제작자로 유명한 계산생물학자 Sean Eddy가 “High throughput sequencing for neuroscience”라는 미팅에서 한 이야기를 “대충” 번역한 것임.  보다 자세하고 정확한 내용은 링크를 참조하세염

(참고로 Sean Eddy는 원래는 분자생물학자로 출발한 사람으로써 Ph.D때는 이런 논문으로 학위를 한 사람임)

(서론은 좀 생략. 역시 직접 읽으세염)

낮은 인풋, 하이 쓰루풋, 아웃풋

이전에 시드니 브레너 영감님은 지노믹 연구가 수행되는 방식을 이런 식으로 디스하곤 했습니다. 즉 지노믹 연구는 “낮은 인풋, 하이 쓰루풋, 노 아웃풋” 과학이라구요.

어떤 사람들은 지노믹스를 단순히 지노믹을 한다는 그 자체만으로 사용한다는 것을 생각하면 시드니 브레너 옹의 이야기는 아주 맞는 이야기입니다. 이번주에 제가 Reddit의 바이오인포매틱 질답 게시판에 가니까 어떤 박사과정 학생이 써 놨데요.

우리 보스님은 그냥 우리가 샘플 (여기서는 조직샘플) RNA-Seq 보내면 바로 자기 이름이 붙은 네이처 논문이 나올것이라고 생각하더군요. 아직 가설이 무엇인지, 무슨 콘트롤을 쓸지, 무슨 분석을 할지도 결정하지 않았는데도 말이죠. 그냥 샘플을 보내서 얻는 데이터를 가지고 뭔가의 익스프레션이 올라갔는지 내려갔는지만 알면 된다고 생각하는것 같아요

아마 그 “낮은 인풋, 하이 쓰루풋, 노 아웃풋” 의 좋은 예가 아마 위와 같은 케이스일 것입니다.

시퀀싱은 그저 도구일 뿐

네, 그렇지만 한번 봅시다. 시퀀싱 테크놀로지는 그저 도구일 뿐입니다. 옛날 옛적에 우리는 ‘젤’ 이라는 걸 썼어요. 아가로스 혹은 아크릴아마이드 젤은 고분자 물질을 사이즈에 따라서 분리할 수 있는 성질을 가졌죠. 우리가 이렇게 사이즈에 따라서 DNA  혹은 단백질을 분리할 수 있다는 것을 깨닫은 다음에 이걸 가지고 수많은 종류의 아주 강력한 어세이를 개발해 냈습니다. 즉 전기영동 젤을 내려서 사이즈에 따라서 분리를 하는 성질을 이용해서 아주 창의적인 실험들을 했었죠. 즉 써던, 노던, 웨스턴이 다 이걸 이용한 거죠. 혹은 DNA-단백질의 특이적인 결합을 위해서 젤 쉬프트 어세이를 하기도 했었습니다. 마이크로어레이는 하이브리다이제션 슬랏 블랏의 응용인데, 이것은 바로 노던의 응용이죠. DNA 시퀀싱 자체도, 생거나 막삼 길버트 메소드 모두 동일하게 젤을 이용하여 고분자를 크기별로 분류하는 것을 기본 원리로 합니다.

이렇게 젤을 이용해서 사이즈별로 분류하는 기술이 엄청나게 유용했고 벼라별 변형이 나왔지만 제 기억에는 “Gels for neuroscience” 따위의 미팅은 없었던 것 같아요.  “우리가 젤이 필요한가?” 같은 제목의 강연도 들은 적 없었구요. 그냥 젤은 그냥 툴이라는 것은 명확했던 것 같아요. 만약 어떤 사람이 “우리가 젤을 내리는게 필요한가” 라는 강연을 했다면 아마 벙쪘을 것 같고 이렇게 답했을 겁니다. “뭐 너가 꼭 젤 안내려도 되는데, 있는거 안 쓸 이유가 뭐 있냐? ㅋ”

그런데 지금 여기의 미팅 이름은  “High throughput sequencing for neuroscience” 이고, 지금 이걸 비웃자는 것은 아닙니다. 여기에 훌륭한 과학자들이 많이 오셨고, 좋은 강연과 훌륭한 포스터들이 발표되고 있습니다. 만약 그렇지 않았다면 여기 오지 않았겠죠. 제가 말하고 싶은 요점은 우리가 젤에 대해서 생각할때와는 달리 하이쓰루풋 시퀀싱에 대해서는 뭔가 특별한 것이 있다라는 이야기입니다.

왜 하이쓰루풋 시퀀싱은 다른 테크닉과 틀릴까요? 왜 젤이나 PCR, 현미경과 같은 다른 것을 대하듯 하이쓰루풋 시퀀싱에 대해서는 이야기하지 않을까요?

여기에는 세 가지 이유가 있다고 생각합니다. 하나는 우리가 하이스루풋 시퀀싱을 “빅 사이언스” 와 동일시했다는 것이고, 두번째는 하이스루풋 시퀀싱을 “가설 기반 과학” (Hypothesis-driven science)과는 상반된 “발견 기반 과학” (discovery-based science) 라고 생각했기 때문이고, 세번째는 시퀀싱이 “빅 데이터” 를 생산하고, 이것을 분석하는데는 특별한 기술을 가진 바이오인포매티션에게 아웃소싱을 해야한다고 생각했기 때문입니다. 제 생각은 이 세가지 생각은 다 잘못되었다고 생각하구요, 그냥 생물학계에서 가지고 있는 미신이라고 생각합니다.

시퀀싱은 사이언스가 아니다.

먼저 “빅 사이언스” 에 대한 이야기부터 해 봅시다.

분명히 휴먼 지놈 프로젝트는 현대과학과 DNA 시퀸싱 테크놀로지에서 하나의 이정표였습니다. 휴먼 지놈 프로젝트는 우리가 하이쓰루풋 시퀀싱에 대해서 생각하는 것에 대한 일종의 고정 관념을 형성한 셈이죠. 그렇지만 휴먼 지놈 프로젝트는 그 자체로 독특한 것에는 여러가지 이유가 있습니다.

휴먼 지놈 프로젝트는 하나의 과학적 실험이 아닙니다. 휴먼 지놈 프로젝트의 목표는 간단하게 말해서 하나의 “지도” 를 만드는 것이었어요. 즉 연구 커뮤니티를 구성하는 많은 사람들이 계속해서 오랜 시간에 걸치 이용할 수 있는 안정된 인프라스트럭쳐를 만드는 게 바로 휴먼 지놈 프로젝트였습니다.

휴먼 지놈 프로젝트가 지도 구축이라는 사실은 이 프로젝트는 과학적인 의문이나 가설에 의해서 이리저리 우왕좌왕하지 않았다는 말입니다. 보통 과학적인 의문을 가지게 된다면 이 과학적인 의문이라는 것은 의도하지 않은 방향으로 우리를 인도하여 새로운 발견을 하게 하곤 하죠. 그렇지만 휴먼 지놈 프로젝트는 그 시작부터 아주 잘 정의되고 확실한 목표가 있던 프로젝트라는겁니다. 즉 휴먼 지놈 안에 있는 32억 베이스페어의 염기서열을 결정하는 것과 같이 말이죠.  우리는 지놈시퀀싱을 완성하기 위해서 합리적인 계획을 세우고, 그 계획을 실천하면 되었습니다. 이것을 이룩하는 것은 어떻게시퀀싱을 많이 효율적으로 할 수 있느냐의 문제였을 뿐입니다. 반면에 우리가 과학적인 의문을 추구할 때는 ‘이것을 언제까지 완성할 것인가’ 와 같은 계획을 세울 수가 없죠.

우리가 휴먼 지놈 프로젝트를 수행한 것은 이렇게 과학계의 공동 노력에 의해서 휴먼지놈 시퀀싱을 할 수 있을 가장 이른 시기였습니다. 즉, 각각의 개별 랩이 조금씩 시퀀싱을 하는 것보다 한꺼번에 공동 노력에 의해서 시퀀싱을 하는 것이 시간과 노력에서 우월할 때였죠. 즉, 그 이야기는 휴먼 지놈 프로젝트가 수행될때는 간신히 기술적으로 이게 가능할 때, 아주 많은 돈을 들여서, 많은 사람들의 노력에 의해서만 이것이 완수될 수 있었다는 이야기죠. 즉, 아시다시피 휴먼 지놈 프로젝트는 NIH와 Wellcome Trust, Department of Energy, 그리고 민간기업인 Celera Genomics에 의한 합동 노력이었습니다.

우리가 휴먼 지놈 프로젝트를 수행할 때는 포지티브 컨트롤이나 네가티브 콘트롤 따위는 생각할 필요는 없었어요. 그냥 얼마나 정확하게 시퀀싱을 하느냐의 문제였죠. 즉 휴먼 지놈 프로젝트는 일종의 공학적인 성취이고 과학적인 성취라고 보기는 힘들어요.

생물학에서 가치가 있을 유일한 “빅 사이언스” 프로젝트에는 휴먼 지놈 프로젝트만 있는 것은 아닙니다. 우리가 소위 말하는 “지도” 와 같은 리소스를 구축해서 잘 쓰고 싶은 것들이 있겠죠. 가령 브레인 아틀라스 프로젝트라든가, 커넥톰이라든가 등등..

그렇지만 저는 생물학에서 지도 혹은 인프라스트럭쳐에 해당하는 리소스를 만드는 게 아닌 특별한 가설을 검증하는 목적의 “빅 사이언스”  실험은 잘 생각이 나지 않네요. 아마 가장 유사한 것이라면 약물의 임상시험 정도?

지금 이 미팅에서 이야기되는 하이스루풋 시퀀싱은 지놈 프로젝트와는 성격이 많이 틀린 것입니다. 그럼에도 불구하고, 우리는 일하는 것을 마치 옛날에 지놈프로젝트를 하는 것처럼 일하는 경향이 있다고 생각해요. 우리가 분석하기도 전에 원시데이터를 공개해야 하는가? 우리가 데이터를 배포할 웹사이트를 만들어야 하나? 우리가 지놈브라우저같은 비주얼라이제이션 툴을 갖추어야 하는가? 우리가 여러가지 데이터를 시스템적으로 모아서, 그 다음에 바이오인포매티션들을 불러서 뭔가 특이한 게 있나 보여주어야 하나 등등? 사실 이런 건 중요한 것이 아닙니다.

시퀀싱은 어세이이다

우리가 지금 하고 있는 많은 과학에서 우리는 하이스루풋 시퀀싱을 그냥 일종의 어세이 (assay)로 생각해야 된다고 생각해요. 이제 시퀀싱 비용이  떨어지면 질수록, 우리는 시퀀싱을 마치 젤 내리듯 사용하게 됩니다.

아마 이 방에 계신 분이라면 이걸 다 알고 계시죠. 우리가 이 미팅에서 이야기하는 것들은 시퀀싱 테크놀로지를 이용하여 뉴로사이언스에서 여러가지 가설에 기반한 의문들을 풀 수 있는 수많은 방법들에 대한 이야기입니다. 이 점에 대해서 조금 더 이야기해보도록 하죠.

물론 분명히 아직도 지노믹적인 관점에서 “가설 없는, 발견 기반” (Hypothesis-free, Discovery-based)으로 연구할 부분이 남아 있죠. 가령 세포 특이적인 트랜스크립톰을 확립한다든지, 특정한 생물의 지놈시퀀싱을 완료한다든지, 메타지놈과 관련된 것을 한다든지 등등..

그렇지만 우리가 시퀀싱을 실험에서 어세이로 사용되는 경우는 점점 증가하고 있어요. 가령 유전자 발현의 차이를 보기 위해 하는 RNA-Seq 이라는 건 결국 고해상도, 병렬화된 노던 블랏과 마찬가지죠. ChIP-Seq 이라는 것은 역시 고해상도, 병렬화된 젤 쉬프트 어세이인 셈이죠. 새로운 뮤턴트를 찾기 위한 지놈 시퀀싱은 그냥 이전에 하던 뮤턴트의 유전자 매핑 작업인 셈입니다.

우리가 소규모로 하고 있던 거의 모든 분자생물학 어세이가 시퀀싱 기반으로 바뀌고 있는 것, 그리고 이것이 지놈 레벨에서 고해상도로 진행되는 것을 보는 것은 매우 놀랍습니다. 우리는 이제 어떤 DNA 나 RNA 샘플이건 시퀀싱해서 이들의 지놈 혹은 트랜스크립톰을 볼 수 있죠. 혹은 조직이나 배양된 세포를 이용해서 세포특이적인 트랜스크립톰을 보거나, 혹은 세포 내의 다른 위치에서 서로 다른 RNA의 분포를 보거나 할수도 있구요, 혹은 여러가지 ChIP-Seq 혹은 CLIP, RIP-Seq과 같은 방법으로 우리가 풀다운을 하는 단백질에 붙어나오는 RNA 혹은 DNA가 어떤 것인지도 살펴볼 수도 있어요. 우리가 모든 젤을 가지고 하는 분자생물학 실험을 어떻게 시퀀싱으로 바꿀지 아이디어만 있다면 거의 모든 분자생물학 실험은 시퀀싱 기반의 실험으로 바꿀 수 있습니다. 아마 시퀀싱으로 할 수 있는 실험은 이미 거의 100가지가 넘을 겁니다.

자연적으로 존재하는 핵산만 대상으로 실험할 수 있는 것도 아닙니다. 합성생물학을 이용하여 DNA 혹은 RNA 바코드를 합성하여 실험한다든지 할 수도 있고……등등등 (중간 생략 -.- 직접 읽으삼)

여튼 이런 기술을 이용하여 테스트할 수 있는 생물학적인 의문은 무궁무진합니다. 시퀀싱은 이제 지놈 센터에서 생물의 지놈 시퀀스를 만드는 시대에서 완전히 탈피했습니다. 시퀀싱은 이제 그냥 일반적인 어세이입니다. 아니 이제 어세이 자체도 아닌 젤과 같이 생물학 실험의 기본이 되는 뭔가가 “거의” 된 셈입니다.

생물학자는 자신의 데이터 분석을 알아야 한다.

여기서 시퀀싱이 생물학 실험의 기본이 “거의” 됐다고 했어요. 왜 “거의” 라고 했냐면 우리 생물학자가 여기서 극복할 장애물이 하나 있거든요. 그것은 우리가 왜 하이스루풋 시퀀싱을 젤이나 현미경처럼 친숙하게 못 여기느냐에 관련된 것입니다. 그 이유는 우리가 우리 자신의 데이터를 분석하는 능력에 확신이 없거든요. 생물학자들은 시퀀싱에서 나오는 데이터의 양과 복잡합을 다루는데 어려움을 겪고 있어요. 그래서 지금까지는 이러한 분석을 바이오인포매티션에게 아웃소싱하곤 했죠.

만약 우리가 지금 해야하는 일이 어떤 생물의 지놈 시퀀스를 결정하는 것처럼 해야할 일이 확실하게 정해진 리소스를 구축하는 것이라면 이 문제 자체는 과학적인 문제라기보다는 공학적인 문제입니다. 이 경우에는 이런 문제를 그냥 해당 문제를 해결하는데 익숙한 바이오인포매티션에게 아웃소싱 해 버리면 간단합니다. 그러나 만약 당신이 생물학자이고 가설에 기반한 생물학 문제를 연구하고 있고, 시퀀싱에 기반한 어세이를 이용하여 문제를 풀려고 하면서 이 분석을 시퀀싱 코어에 있는 바이오인포매티션에게 그 문제를 풀어달라고 하는 것은 마치 우리가 젤을 가지고 실험을 하면서 무슨 지하실에서 자와 라이트박스를 가지고 젤을 자로 잘 재는 테크니션에게 그 분석을 맡기는 것과 마찬가지라고 생각해요.

데이터 분석이라는 것은 일반적일 수가 없어요. 우리가 생물학적인 어세이에서 나온 데이터를 분석할 때는 일단 우리가 무슨 문제를 묻고 있는지를 이해해야 하고, 우리가 하는 어세이 자체를 이해해야 하고, 문제를 기대하는 충분한 직관이 있어야 하고, 특이한 비정상적인 현상이 있을때 그것을 인지할 수 있어야 하고, 적절한 콘트롤을 디자인할 수 있어야 해요. 만약 젤을 가지고 실험할 때라면 이것은 확실하죠. 우리가 노던블랏을 할때 이것을 웨스턴과 같이 분석하지는 않죠. 우리가 웨스턴이나 노던을 분석할때 타인에게 젤 분석해달라고 하지는 않죠. 그렇지만 우리가 시퀀싱 데이터는 지금 이런 식으로 다루고 있다는 거 아시나요?

물론 시퀀싱 자체가 무지무지 많은 데이터를 만들어 내는 것은 맞고, 이런 데이터를 다루는 스킬은 어느정도 전문적이고 (생물학자 중에서) 잘 하는 사람이 그닥 없는 것은 사실이예요.그렇지만 제가 지금 하고 싶은 말은, 이런 데이터 분석기술은 생물학자 쉽게 습득할 수 있고, 그래야만 하고, 앞으로 그럴 것입니다. 우리는 지금 현재 생물정보학을 하는 것에 대해서 다시한번 생각할 때가 되었습니다.

스크립팅은 파이펫질과 마찬가지로 필수기술이다.

지금 제가 말하는 것에서 명심해야 할 가장 중요한 것은 펄 혹은 파이썬으로 스크립트를 작성하는 것은 필수적이며, 솔직히 그닥 어렵지 않은 것이라는 것입니다. 그냥 파이펫질 하는 것과 같아요. 스크립트를 작성하는 것은 소프트웨어를 작성하라는 게 아닙니다. 스크립트를 작성하는데는 무슨 전산학 과목이나 컴퓨터엔지니어링 코스를 들을 필요는 없어요. 생물학자라면 펄 혹은 파이썬 스크립트를 작성할 수 있어요. 펄 혹은 파이썬 스크립트를 작성하는 것을 어렵게 생각하는데, 이것은 그냥 여러분들이 실험 프로토콜을 실험노트에 작성하는 것과 크게 다름이 없어요. 아마 여러분들이 입문하는 방법이라면 아마 다른 사람들로부터 이미 작동하는 스크립트를 받은 다음에 필요한 만큼 고치면서 배우는 것일것입니다. 그러다 보면 자신이 필요한 스크립트를 처음부터 짤 수 있을 것입니다. 만약 여러분들이 시퀀스 데이터를 다루면서 스크립트를 짤 수 없다면 몇 시간 정도 시간을 투자할 생각을 하세요.

그러나 중요한 것은 대규모의 생물학적인 데이터는 생물 그 자체만큼이나 복잡하다는 것입니다. 우리가 크고 복잡한 데이터를 가지고 뭔가 알아보려고 하는 것은 그 자체가 실험과 같습니다. 우리는 실험 데이터를 한번에 볼 수가 없어요. 우리는 무엇을 볼 지를 먼저 정하고, 약간만 원하는 내용만을 살펴볼 수 있어요. 우리가 데이터를 가지고 제대로 된 물음, 즉 ‘무엇을 볼 지’를 결정하는 데는 시간이 필요해요. 마치 우리가 살아있는 생물을 가지고 실험을 하는데 익숙해지려면 시간이 걸리는 것처럼 말이이죠. 일단 ‘무엇을 묻고자 하는지’ 를 생각하고 우리가 포지티브 및 네가티브 콘트롤을 어떻게 해야 하는지를 데이터를 대상으로 ‘실험’ 을 할 때도 신중히 생각해야 됩니다. 당신이 작성하는 스크립트는 일종의 실험 프로토콜입니다. 이렇게 여러가지 실험과 콘트롤에 대해서 생각하는 시간은 아마 당신이 펄이나 파이썬을 배우는 시간보다 훨씬 더 오래 걸릴 것입니다.

예를 하나 드릴께요. 시작하는데 아주 좋은 예이고 배워둘 가치가 있는 예입니다. 만약 펄로 이걸 여러분이 구현해서 – 아마 한나절이면 펄 몇줄 짜서 만들 수 있을 것입니다 – 돌아가게 하면 아마 여러분은 슈퍼맨 망토를 걸친 슈퍼맨처럼 아주 큰 데이터셋을 어마어마한 효율로 살펴볼 수 있어요.

아주 간단한 건데, 랜덤 샘플링입니다. 만약 누군가 여러분한테 수억만줄이 있는 데이터를 준다고 해요, 그게 일루미나 시퀀싱 데이터일수도 있고, 테이블 형태의 데이터일 수도 있습니다. 그게 여러분 자신의 데이터이건, 혹은 누군가의 논문 데이터인데 여러분이 지금 리뷰하고 있는 것일수도 있어요. 여튼 제일 먼저 해야 할 것은 이 수억만줄의 데이터 중에서 아주 약간을 취해서 살펴보는 것일 것입니다. 만약 이렇게 10개를 골라서 봤는데 9개가 아티팩트더라~ 그러면 수억만줄 일일히 볼것도 없이 전체 데이터의 90% 는 아티팩트라는 것을 알 수 있겠죠. 이런 것이 전산학자나 혹은 바이오인포매티션에 비해서 생물학자인 여러분에게 중요한 이유라면, 여러분 생물학자들은 몇 개의 예를 주고 이것을 관찰하면 이것이 말이 되는지 안 되는지를 직관적으로 알아볼 수 있기 때문이예요.

그렇다고 아주 큰 데이터 파일의 처음 몇 줄을 보는 것은 좋지 않아요. 그 이유는 파일이 가끔 특정한 순서대로 되어 있거나 해서 매우 치우친 결과를 얻을 수도 있기 때문이죠. 가령 첫번째 염색체에 있는 텔로머라든가 말이죠. 그래서 우리는 이런 큰 데이터 파일 중에서 어떻게 랜덤으로 일부를 샘플링해서 보는지를 알아야 합니다. 물론 이렇게 하는데는 여러가지 잡스러운 방법이 있지만, 만약 여러분이 뭔가를 좀 제대로 배워보고 싶으면 어떻게 간단한 알고리즘이 저 일을 제대로 할 수 있는지를 알아야 해요. 이 알고리즘은 N개의 데이터가 있는 빅 데이터셋에서 k개의 랜덤 샘플을 균일하게 취하는데, 그걸 데이터셋을 한번만 오가면서 메모리에서 k 개 이상을 차지하지 않고서요. 이 알고리즘은 “Reservior Sampling” 이라고 하는데 위키피댜에서 한번 찾아보세요. 보면 알겠지만 이거 짜는데 한시간이면 될겁니다. 만약 이런 것을 할 줄 안다면 여러분이 다루는 모든 데이터셋에서 일부만 취해서 살펴볼 수 있어요. 만약 여러분이 이걸 할 줄 알게 되면 데이터를 가지고 여러분의 직관으로 다른 사람들을 놀라게 할 수 있다는 것을 알게 될겁니다. 아마 대부분의 사람들은 여러분이 저렇게 큰 데이터셋을 들여다볼줄 모른다고 생각할 거잖아요? 아마 대단한 통계처리나 비주얼라이제션을 해야지만 데이터셋을 들여다볼 수 있다고 생각하지..흔히 일어나는 일인데 생물학자들이 개개의 데이터를 살펴봄으로써 쉽게 직관적으로 파악할 수 있는 아티팩트들을 생물학적인 훈련이 되어 있지 않은 사람은 눈치채지 못하는 경우가 참 많아요.

이제 여러분이 스크립트를 써서 여러분의 데이터를 여러가지 방식으로 들여다보게 되면 여러분은 바로 여러분의 데이터를 가지고 ‘실험’ 을 하게 될 것이고 자연스럽게 콘트롤 실험에 대해서 생각하게 되고 아주 강력한 것을 깨닫게 됩니다.  즉 여러분들이 그동안 하던 교과서적인 통계테스트가 제대로 된 것인지를 체크할 수 있는 콘트롤 실험을 디자인할 수 있습니다. 요즘은 컴퓨터라는 게 대부분의 통계테스트가 개발되었을때보다 훨씬 빨라져서 수행속도가 문제가 되지는 않아요. 즉 스크립트를 짜서, 여러분들이 생각하는 포지티브 및 네가티브 콘트롤 데이터를 만들고, 그것을  검정할 수 있어요. 이렇게 만든 콘트롤을 이용하면 여러분이 테스트하려고 하는 가설을 보다 확실하게 할 수 있죠. 만약 우리가 얼마나 많은 거짓 포지티브 데이터가 나올지를 알고 싶다면 그렇게 콘트롤 데이터를 만들어서 테스트하면 되죠.

여튼 , 여러분이 데이터를 가지고 해볼 수 있는 ‘실험’ 은 무한정이므로 여러분이 무슨 단추 하나만 누르면 원하는 분석이 쫙 되는 웹툴 같은 게 나오기를 기대하는 것은 어리석은 이야기입니다. 할 수 있는 모든 웻 랩 실험을 한번에 할 수 있는 만능 키트 같은 것이 나오길 기대하기는 힘든 것처럼요. 누군가가 여러분이 분석할 수 있는 모든 것을 알아서 해주는 ‘유저 프랜들리’ 한 소프트웨어를 만들어줘서 우리가 직접 스크립트나 커맨드 라인에서 데이터를 분석해 주기를 바라는 것은 마치 모든 웻 랩 실험을 다 해주는 로봇을 만들어서 여러분이 파이펫을 전혀 안 잡고 실험을 하기를 바라는 것과 마찬가지입니다.

근데 한가지 말해두자면, 뭐 키트를 쓰는게 나쁘다는 것이 아닙니다. 만약 어떤 특정한 일을 여러 사람들이 반복적으로 하게 된다면, 이것을 키트형태로 패키징해두면 뭐 좋은 거죠. 생물정보를 전문으로 하는 바이오인포매티션들은 아마도 이렇게 웻 랩에서 흔히 사용하는 키트와 비슷하게 이용될 “생물정보키트”를 만드는데 좀 더 관심을 기울여야 합니다. 즉 아주 잘 작동하고 테스트가 잘된 파이프라인이나 스크립트를 만들어서 생물학자들이 이것을 이리저리 조합해서 그들의 ‘실험’ 에 사용하도록 하게 해야 한다는거죠 그러나 이때 생물학자가 어떤 키트를 실험 및 그들의 콘트롤에서 사용할지는 그들 자신이 알아서 결정할 수 있게 해야 한다는 거죠. 웻 랩 실험이나 컴퓨터를 가지고 하는 실험에서나 공히 말이죠.

피펫과 키트에 관한 비유를 조금 더 해보도록 합시다. 만약 생물학자가 스크립트를 마치 피펫처럼 이용하여 컴퓨터를 이용한 ‘실험’ 을 한다고 하고, 바이오인포매티션은 생물학자들이 이용할 파이프라인 및 구성요소들을 마치 키트처럼 구성하는 일을 한다면, 바로 저처럼 계산생물학을 연구하는 사람은 아마 효소공학을 하는 사람과 비슷할 것입니다. 즉, 저나 제가 이끄는 계산생물학자가 하는 일들은 알고리즘을 디자인하고, 통계계산을 어떻게 할지, 그리고 어떻게 하이퍼포먼스 컴퓨팅을 할지, 그리고 소프트웨어를 최적화할지 등을 고민합니다. 즉 우리는 아주 잘 정의된 입력과 아주 잘 정의된 아웃풋이 있는 일반적인 분석 문제들을 확인하고, 이들을 제대로 수행할 코드를 작성합니다. 마치 효소공학자가 기질과 산물을 최적화하여 보다 성능이 좋은 효소를 만들어내는 것처럼요. 이렇게 만든 우리의 소프트웨어는 바이오인포매티션이 자신들의 파이프라인과 ‘생물정보키트’ 에 사용되게 되고, 결국 생물학자들은 우리가 만든 소프트웨어를 간접적으로 사용하게 되겠죠. 물론 이런 계산생물학 부분은 또 다른 이야기거리가 있지만, 여기에 대해서는 나중에 이야기하도록 하겠습니다.

여기서 제가 말하고 싶은 요점을 정리해 보죠. 만약 여러분이 지금 여러분 랩에서 시퀀싱 데이터를 분석하려고 “바이오인포매틱하는 포닥” 을 고용하려고 생각한다면 다시 한번 생각해 보세요. 여러분은 여러분이 내릴 젤 밴드를 측정해줄 포닥을 고용할 수 없습니다. 만약 여러분이 방대한 지놈 시퀀싱 레벨의 리소스를 구축하고 있거나, 많은 생물학자들이 사용할 생물정보학 툴을 개발한다든지 한다면 아마도 생물정보학만을 하는 사람을 고용할 필요가 있겠지요. 그렇지만 제 생각엔 만약 여러분들이 뉴로사이언티스트로써 뉴로사이언스의 의문을 찾고자 한다면, 여러분은 여러분이 가지고 있는 생물학적 의문에 관심이 있는 사람을 찾아서, 그 사람 스스로 데이터를 분석하고, 그사람이 가지고 있는 생물학적인 직관을 통해서 문제를 해결하도록 만들어야 돼요. 아님 니가 하던가 스크립트를 짜거나, 커맨드 라인을 쓰는 것은 일반적으로 그동안 생물학에서 해오지 않은 것이기 때문에 처음에는 겁날 수 있습니다. 그렇지만 아마도 여러분이 생각하는 것보다는 쉬워요. 그리고 로는 이게 여러분이 하는 파이펫질만큼 일반적인 것이 될 것이기 때문에 지금부터 시작해야 합니다.

 

6 thoughts on “NGS 분석이 필요하세요? 분석은 쎌프

  1. 한가지 부연을 하자면 저 이야기는 Sean Eddy아저씨의 의견이고, 원론적으로는 동의하지만 생물학을 현재 하는 사람중에서 어떻게 해도 스크립트나 커맨드 환경에 익숙해지기 힘든 사람은 어느 정도 비율은 있을수 밖에 없다고 생각합니다. 분자생물학에서 Comp.Biol로 전환하여 두 분야 모두 뛰어난 실적을 낸 Sean Eddy아저씨야 님은 엄친아인거고…뭐 사실 아무리 해도 안되는 분들은 있는거죠.

    그러나 그런 분들은 NGS 데이터의 분석이라든가 등등은 무조건 ‘남에게 맡겨야 하는가’ 라고 생각하지는 않아요. 일단은 아쉬운 대로라도 할 수 있는 것이라도 해야 된다고 생각합니다. 가령 Galaxy (https://usegalaxy.org/)와 같이 파이프라인 형식으로 분석을 구성할 수 있는 웹툴이라도 활용을 한다든지..굳이 NGS 데이터가 아니더라도 스크립팅이 필요한 환경은 많은데 (가령 R 등을 이용한 통계처리) 이런 경우 기존의 스크립트를 불러쓰는 노력이라도 하는 게 그 시작인 것 같습니다.

    P.S. 위의 이야기는 박사학위 취득 이상인 양반들 대상임다. 지금 원생 혹은 학부생인 분들은 학생시절에 준비 단디 하시고…

    • 선생님 여기 wordpress에 올라오는 글 정말 재미있게 잘 보고 있습니다. 제가 내년에 이제 분자생물학 분야로 대학원 학위 공부를 시작하는데요, 요즈음에는 참 컴퓨터 관련 coding이라던지 tool을 잘 다루는 것도 생물학에 있어서 중요하다는 생각이 많이 듭니다. 개인적으로 경험이 없어서 그러는데요, 저는 프로그래밍을 메인으로 하려는 생각은 없지만 그래도 한두가지 정도는 알고 친숙해져야 웨스턴이나 PCR처럼 소위 기본적인 소양을 갖추고 시퀀싱 데이터를 볼 때 해석하고 discussion이 될 정도로 배우고자 하는데, 어떤 프로그램을 조금 추천하시는지, 살짝 알려주셨으면 해서요. 의욕이 있어서 그런지 요즘 프로그래밍 언어에 좀 꽂혀있습니다. 시간이 많지 않아 한두가지 좀 배워보고자 하는데 혹시 지혜나 조언을 좀 주셨으면 합니다.

      물론 연구방향이나 주제, 기법에 따라 써야할 툴은 다르지만 일반적으로 Python, R, MATLAB 등이 많이 쓰이는 정도로 알고 있습니다.

      새해 복 많이 받으시고 올해도 즐거운 이야기 많이 연재해주세요. 고맙습니다.

      • 일반적으로 프로그래밍 경험이 없는 상태에서 배우는 것이라면 Python 정도가 적합하리라고 생각합니다. R의 경우에는 일반적인 프로그래밍 용도라기 보다는 통계패키지의 개념으로 사용하게 되는 경우가 많습니다.

        일단 여러가지를 배우기 보다는 하나 정도의 언어를 잘 익혀두면, 나중에 필요할 때 다른 것도 배우기가 그리 어렵지는 않습니다. Python 을 추천합니다.

  2. 박사 4학기 학생에겐 너무 어려운 얘기군요. 그렇지만 뭐랄까 어렵게만 늦겨졌던 NGS/-Omics 테크놀러지에 대한 공포가 없어지는 좋은 글이었습니다. (무식하면 용감한거 같습니다ㅋㅋ) 감사합니다.

  3. 좋은 말씀 감사합니다.
    저도 대학교 1학년때 배우고 말았던 프로그래밍 스킬을
    포닥3년차때 꺼내서, 몇년째 계속 유용하게 잘 쓰고 있네요…
    앞으로 생공학자들은 다들 여기에 익숙해 져야한다고 생각합니다.
    말씀대로 스크립트 몇줄 못짜면
    파이펫질 제대로 못하는것처럼
    심각하게 실험에서
    제대로 데이터를 못 뽑아내는 경우가 허다하더군요.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s