생물 분야 연구자가 생물정보학을 시작하려면

 

원세연 (http://www.bioinformatics.pe.kr)

생물정보연구소

2006. 9. 15

(아래 글은 원래는 누가 보낸 질문에 답을 한 것입니다. 글투가 조금 가벼운 점을 양해하고 읽기를 바랍니다.)

우선, 공부 해야 할 대상이 되는 것은 크게 나누어서 다음 세 가지인데요. 하나는 (1) bioinformatics tool들에 대한 공부이고, 그 다음은 (2) 컴퓨터 사용법이고, 그리고 마지막으로 (3) 통계학입니다.

(1)은 분야에 따라 워낙 다양하죠. 결론부터 적으면, 자신이 하고자 하는 분야에서 가장 널리 쓰이는 tool들을 최대한 익혀야죠. 항상 그렇듯이, 가장 좋은 접근법은 무조건 사용을 해보는 것이고요. 이때, 내부의 원리까지 다 공부를 하려면 너무 분량이 많아지고 또 기초 공부가 워낙 필요해서 힘들다는 점이 있고, 일단은 사용을 해가면서 하나 씩 경험으로 익혀 나가는 식으로 해야죠. 요즘은 이런 경우를 위해서 나온 책이나 코스 material 등도 상당히 흔하고요.

(2)는 Unix, shell programming, perl programming, MySQL 등을 배우는 것을 뜻합니다. 이게 왜 필요한지는 알고 있는지요? (1)만 생각하면 대개는 그냥 웹 브라우저에서 마우스 클릭만 해도 됩니다. 그런데, "요즘 생물 분야 연구용 bioinformatics"는 뭔가를 수천 수만 번 반복을 해주어야 하는 경우가 일반적이죠. 이걸 해내는데 필요한 컴퓨터 도구들이 이 (2)번입니다. 그리고는 누군가에 의해 웹 서비스 상의 클릭 가능한 버튼으로 만들어둔 것을 그대로 사용하지 않은 방식으로 어떤 DB나 software를 사용하고자 할 때에도 (2)가 필요합니다. 무슨 뜻인지 이해가 되는지요? 여러 차례 반복을 해야 하는 경우가 아니더라도, 누군가가 만들어 놓은 웹 서비스만 사용을 해서는, 결국 그 서비스가 제공해주는 방식으로만 사용을 할 수가 있잖아요. 이걸 벗어나고 싶을 경우이죠. (2)를 갖추면 어떻게 되는지 이해가 되죠?  한 마디로, "자유"를 얻게 됩니다.  자유를, 그것도 무한대의 자유를!  음, 제가 지나치게 흥분을 했군요. ^^;

(3)은, (1)과 (2)를 통해서 뭔가를 하면 그걸 가지고서 뭔가 결론을 정리를 해주어야 하잖아요. (그래야 paper에 figure나 table로도 들어갈 수가 있고, 때로는 다음 실험을 무엇을 할 것인지에 대해서 정량적인 근거가 있는 결정도 내릴 수가 있으니...) 이때 필요한 기초인 것이죠. 물론 (1)의 tool들 상당수가 통계학을 기반으로 하는 것이기도 하고요.

여기까지가 뭘 공부를 해야 하는가 하는 것을 적었고요. 이제 어떻게 공부를 해야 하는가를 적을 차례이군요. (3) 통계학은 다른 방법은 없을 겁니다. 교과서를 하나 구해서 보거나 대학에서 강의를 수강을 하는 수밖에는... 이건 이미 오랜 세월에 걸쳐 잘 정립된 교과서와 강의 등이 있다는 점에서 여러 모로 훨씬 단순한 문제가 됩니다. 물론, 수학적인 것과는 거의 담을 쌓고 살았는데 갑자기 통계학이라니 하는 생각에 몸서리가 쳐지는 경우가 많겠지만... ^^; 어쨌든 통계학은 어떻게든 해야 합니다. 그리고, 무슨 특별한 방법이 있는 것도 아니고, 무조건 공부를 해야죠.

(2)는 사실 그리 어렵지가 않습니다. 굳이 머리가 좋아야만 할 수 있거나 하는 종류의 일이 아니죠. 그냥 몸으로 때우면서 야금야금 익혀 나가면 됩니다. 어려운 것은 오히려 (3)으로 무엇을 하려고 (2)로써 어떤 작업을 하는가 하는 학문적인 결정을 하는 일이죠. 즉, 진짜로 머리를 쓸 일은 (2)번 일 그 자체가 아니라는 것입니다. 물론 사람에 따라서 배우는 속도나 performance등에 차이야 있겠지만, 하여간 (2)번 일은 그냥 누구나 시간만 들이면 할 수 있는 일입니다. 다만 충분히 시간과 노력을 들이지 않아서 그렇지, (2)번 일이 결국에도 문제가 되는 사람은 거의 없을 것입니다.

(1)번은, 해당 분야에 대해서 요즘 나와 있는 책들 중에서 하나를 택해서 읽으면서, 손수 해보는 것이 중요할 터이고요. 요즘은 굳이 주변에 잘 아는 사람에게 주워듣거나 할 필요도 없죠. 여러 분야에 대해서 워낙 책들도 많고, 또 인터넷 상에도 자료들이 넘쳐나니...

이렇게 적으니 거의 별로 어려운 문제도 아닌 것처럼 적었군요. 지금 하고 있는 이야기는, BLAST 같은 것을 새로 만든다거나 DNA chip 데이터 분석 방법을 새로 개발을 한다거나 하는 일과는 전혀 다른 일이라는 것은 알고 있죠? 기존에 나와 있는 생물정보학 도구들을 생물 분야 연구에 잘 사용하려면 필요한 것이 무엇인가를 적은 것이죠. 안 적어도 되는 소리였군요. (역시 안 적어도 되는 소리지만, 지금 적고 있는 이야기는 실험 없이 컴퓨터 분석으로만 뭘 하는 것에 대한 이야기도 아닙니다. 이런 일은 극히 드물기 때문에 언급할 가치도 거의 없습니다. 즉, 그냥 실험을 열심히 하는 보통의 생물 분야 연구자들의 일에 관한 이야기인 것입니다.) 위에 적은 것처럼, 이를 위한 공부는 그리 어렵지가 않습니다. 학문적인 수준의 것은 겨우 통계학 하나로군요. 그것도 일단 학부 기초 통계학 수준만 가지고서도 필요한 것의 거의 90%는 cover가 됩니다. 뭐, 모자라는 10%는 시간을 두고 더 공부를 하거나 아예 안 해도 그만이죠. 욕심을 조금 줄이면 되니 말입니다. 반복해서 적게 되지만, (2)에 해당하는 것은 그야말로 저능아만 아니면 누구나 손에 잡고 하기만 하면 되는 성질의 것이고, (1)은 자기 분야의 데이터에 대한 tool들이니 어떻게든 경험으로 익혀 나가면 되는 것이고요.

음, 너무 좀 낙관적으로만 적은 것 같긴 하지만, 물론 틀린 말은 없습니다. 문제는 해보질 않아서 생기는 것이죠. 해보면 됩니다. ^^;

그리고, 질문에서 "처음에 어떻게 접근하고" 부분에 대해서 답을 해봅니다. 생물 분야 연구자라면 웹 브라우저로 bioinformatics tool들 쓰는 것은 대개는 잘 해내고 있을 겁니다. 결국 질문은 여기에서 한 단계 도약을 하려면 어떻게 시작을 해야 하는가 하는 것이 되겠죠. 위의 (2)번을 일단 시작을 해야 합니다. 웹 브라우저만 사용하던 사람들은 (2)번이 뭔지 전혀 감을 잡질 못합니다. 같은 컴퓨터 상에서 뭘 하는 것이지만 전혀 다른 세계이죠. http://jura.wi.mit.edu/bio/education/bioinfo-all/에 있는 MIT의 "Bioinformatics for Biologists" 코스를 한 번 살펴보기 바랍니다. 여기에서 Mini-course 1과 4가 (2)에 해당하는 것이죠. Mini-course 6은 (3)에 해당하는 것이고, Mini-course 2, 3, 그리고 5는 (1)에 해당하는 것이고. 일단 Mini-course 1에 해당하는 내용부터 시작을 해보기를 바랍니다. 여기에 해당하는 내용을 약간만 할 수 있게 되어도, 갑자기 슈퍼맨 또는 슈퍼우먼이 됩니다. 크, 조금 과장된 표현이긴 한데, 왜 이런 표현을 사용했는지 나중에 되고 나면 이해가 될 것입니다. 웹 브라우저만 사용하던 것으로는 꿈도 꾸기 힘들었던 온갖 일들이 아무 것도 아닌 일이 됩니다.

물론 (2)는 (1)을 돌리고자 존재하는 것이니, (1)에 대한 공부도 해야 합니다. 그리고는, 그냥 많이만 돌린다고 되는 것이 아니고 "학문적인 수준의 정리"를 해야 하는 것이니 이때 (3)번이 쓰이는 것이고요. 그렇지만, 출발은 일단 (2)번입니다. 즉, 위의 MIT 코스에서 Mini-course 1에 해당하는 내용부터 일단 손에 잡아보기 바랍니다. (2)번이 되어야 뭔가를 해볼 거리가 손에 쥐어지게 되는 것이고, 이게 되고 나면 관성에 의해서라도 다른 것도 어떻게든 진행이 되고 할 것입니다.

여기까지 읽고 나니 느낌이 어떤가요? "별 것도 아닌 것 같은데, 왜들 그렇게 어려워 하는 것이지?"인가요, 아니면 "내가 해낼 수 있는 수준의 일이 아니구먼"인가요? 아마도 전자이리라 생각이...  하여간, 하면 됩니다. 그러니, 선진국들에서는 다들 해내고들 있는 것이잖아요. 우리가 못 해낼리야 만무하겠죠. 국내의 현재의 상황은 뭔가 제대로 도화선에 불이 붙질 않는 것 같아 보이는군요. 크...  몇 해를 생물정보학 가르친답시고 하던 사람이니, 제 책임도 크겠군요.

아참, 전산학이 왜 빠졌는가 하는 의문을 가질 사람도 있겠군요. 전산학은 전혀 중요하지 않습니다. 그리고 (2)번은 전산학이 아닙니다.  (2)번을 전산학이라고 하면 전산학과 학생들이 배꼽을 잡고 웃을 것입니다. 그냥 컴퓨터 사용법인 것이죠. 과학자용 컴퓨터 사용법...  예를 들어 BLAST 같은 것을 새로 만들어볼 사람이 아니라면 전산학은 그냥 교양 수준으로만 알고 있으면 됩니다. 한 마디로, 전산학은 시간이 남아돌면 공부도 좀 하기 바랍니다. 알아두면 당연히 도움이 되는 것이니 말입니다. 결론은, 생물 분야 연구자 입장에서는 "학문" 수준의 것으로는 통계학만 어느 정도 확실하게 이해를 하고 있으면 됩니다.

질문에서 "얼마나 강도있게" 부분은 이미 답들이 꽤 된 것 같군요. 통계학은 일단 이공계 분야 학부 기초 통계학부터 수강을 하거나, 교과서를 한 권 떼기 바랍니다. 제가 종종 권하는 책은 "Introduction to the Practice of Statistics, Fifth Edition, David S. Moore, George P. McCabe, 2005, Freeman"이고, 영어 듣기가 되는 경우에는 http://webcast.berkeley.edu/courses/archive.php?seriesid=1906978362에 딱 우리 목적에 맞는 수준의 UC 버클리 코스의 동영상도 있습니다. 너무 낙관적으로만 적고 있는 것 같기는 하지만, 통계학 역시 해보면 되는 것입니다. 우리가 통계학자가 되려는 것도 아니고, 그냥 도구로써 잘 사용만 하면 되는 것이니 말입니다.

(2)는 결국 "과학자용 컴퓨터 사용법 모음"이니 한 권의 책이 될 수 있는 성질의 것이 아니라서 책 소개 하기가 좀 복잡하군요.

Unix
http://www.ee.surrey.ac.uk/Teaching/Unix/

shell programming
http://steve-parker.org/sh/sh.shtml

perl programming
http://perldoc.perl.org/perlintro.html

MySQL
http://www.devshed.com/c/a/MySQL/Beginning-MySQL-Tutorial/

Bioperl
http://www.bioperl.org/Core/Latest/bptutorial.html

등이 출발용으로 괜찮은 문서들이고, perl과 MySQL은 인쇄된 책들도 좀 구해서 읽어보기 바랍니다. Unix와 shell programming은 처음부터 너무 제대로 다 공부를 하려고 하지 말고, 그냥 사용해 가면서 차츰 익혀 나가면 됩니다. perl이 꽤 핵심적인 역할을 하게 되는데, 공부에 최대한 시간 투자를 많이 하게 되기를 바랍니다. 한 마디로, perl로 잘 엮는 기술만 가지게 되면 "생물 분야 연구용 bioinformatics work"의 거의 대부분을 척척 해낼 수 있는 사람이 됩니다. (그나저나, 제가 지금 왜 굳이 "생물 분야 연구용"이란 표현을 쓰는 것인지... 크...  하도 국내에서는 bioinformatics가 생물 분야와는 별 상관도 없는 것처럼 분위기가 되어 있는 점도 있고, 또 막상 생물 분야에서는 bioinformatics가 자신들이 해야 하는 것이라는 점을 영 느끼지를 못하는 경우도 있고 해서 저도 모르게 강조를 하는 표현을 쓰게 되어버렸군요. 윽, 딴소리였군요.)

(2)를 어느 정도 해낼 수 있게 되는 데는, 사람에 따라 많이 다를 터이지만, 몇 달 정도는 투자를 해야 할 것입니다. 물론 재주가 좋은 사람은 몇 주, 심지어는 며칠 만에도 되겠지만...

아참, 만약 (3)은 없이 (2)만 갖추면 어떻게 될까요?  그래도 할 수 있는 일은 상당히 있게 됩니다. 그렇지만, 조금 심각한 한계들에 계속 부딪치게 된다는 결정적인 단점이 있게 됩니다. 따라서, 하는 김에 통계학도 반드시 해치워 버리기 바랍니다. 음, 당장의 실용적인 면만을 따질 때의 순서가 이해가 되죠? 즉, (2)번이 최우선입니다.

(1)은 책을 소개하기가 더욱 복잡하군요. 일단 주로 sequence analysis 위주로는,

Bioinformatics for Dummies, Jean-Michel Claverie, Cedric Notredame, 2003, John Wiley & Sons

Bioinformatics and Functional Genomics, Jonathan Pevsner, 2003, Wiley

등이 꽤 인기가 좋은 책들입니다. 앞의 것은 막 신판이 나오려는 참이더군요. 음, 다른 분야까지 지금 다 소개를 하기는 좀 그렇군요.

결론 삼아 적어보면, 위의 (2)번을 먼저 좀 갖추려고 노력을 하고, 자기가 하고자 하는 분야의 (1)번에 대해서 경험을 쌓아 나가고, 그리고는 (3)번을 좀 진지하게 공부를 하면 되는군요. 한 문장에 적을 수 있을 정도로 간단한 일이었군요! 크, 물론 말이 쉽지 실제로는 어렵다는 것을 저도 잘 압니다. 하지만 불가능한 일인 것은 전혀 아닙니다. 그럴 리가 없죠. 그리고, 하도 흔하게 봐온 것이라 적는 것인데, 위에 언급한 것들은 공통적으로 필수적인 것들이니, 자꾸만 "이건 이래서 내가 굳이 할 필요는 없지. 안 그래도 바쁜데..."의 자기 합리화를 통한 회피의 함정에 빠지지 않게 되기를 바랍니다. 이런 식으로 자기 합리화를 하는 사람들에게 해줄 수 있는 말이 하나 있군요. 그래서 "남은 것이 뭐가 있는가"하는 것입니다. 몇 해가 지나도 생물정보학은 거의 못 하는 사람으로 그대로 남아 있잖아요. 생물 분야 주요 저널의 paper들을 보면 점점 더 중요해져 가고 있는데 말입니다. 앞으로도 계속 같은 소리로 자기 합리화를 하며 회피를 하는 것이 현명할까요, 아니면 고생을 좀 해버리는 것이 현명할까요? 그리고, 위에 적은 것들은 선진국의 생물 분야 연구자들에게 현재 일어나고 있는 그대로입니다. 국내에서는 아직은 거의 일어나지 않았지만, 같은 저널을 보고 있으니 우리에게도 어차피 일어나게 될 일입니다. 단지 이번에도 다시 여러 해 뒤쳐지고 있는 것뿐입니다.

그럼 위의 글이 제대로 도움이 되기를 바라며...

 

Bioinformatics Information      Up

 

 

 

Last update: 9/16/2006