메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

디지털라이프

생명정보학 시작하기

한빛미디어

|

2002-03-20

|

by HANBIT

13,356

저자: 제임스 티스달, 역 정직한

생물학 연구에 컴퓨터를 이용하는 생명정보학은 지난 10 년간 인간 게놈 프로젝트가 시작되었을 때부터 시작해 작년 인간 DNA 전체 서열의 "초안" 을 내놓을 때까지 그 중요성이 증대되어 왔다.

생물학에서 프로그래밍 중요성이 부각된 것은 90년대 이전으로 거슬러 올라간다. 프로그래밍은 이제 의료와 기초 생물학연구의 여러 분야에서 중요한 부분으로 인식되고 있으며 앞으로는 그 중요성이 더 커질 것이다. 펄 프로그래머들은 자신들이 사용하고 있는 펄 언어가 생명정보학에서 가장 인기있는 언어, 내지는 적어도 가장 널리 사용되는 언어들 중 하나라는 사실을 알고 놀랄 지도 모르겠다.

오라일리에서 출간된 필자의 책 『펄로 시작하는 바이오인포매틱스』는 펄 프로그래밍을 배우고 싶어하는 생물학자들의 요구 사항을 다루고 있다. 이 글에서 필자는 같은 주제를 다른, 실제로는 거의 정반대의 측면에서 접근하려고 한다. 생물학과 생명정보학을 배우고 싶어하는 펄 프로그래머들의 요구사항을 정확히 지목하려고 한다.

먼저 펄 프로그래머가 "생명정보학자(bioinformatician)"로 되는 길에 대해서 이야기 해보겠다. 필자 자신의 경험에 대해서 서술한 후 생명정보학으로의 도약에 대한 아이디어를 제시할 것이다. 그리고는 유전체 서열 분석에 사용되는 기술 몇 가지에 대해 이야기하는 것으로 현대 생물학의 맛을 보여줄 생각이다.

필자의 경험

생명정보학자들은 일반적으로 생물학이나 프로그래밍에 대한 배경을 가지고 있는 상태에서 다른 분야를 추가로 훈련 받는다. 흔히 말하길 생물학자들이 프로그래밍을 배우는 것이 프로그래머가 생물학을 배우는 경우보다 쉽다고 말한다. 그렇지만 물론 이것은 개인에 따라 다르다. 예를 들어 통신회사에서 일하면서 업무와 관련된 기술들을 습득하는 것과 같은 이치라고 보면된다. 그렇다면 생물학과 관련된 프로그래밍을 하려면 그 기량들을 어떻게 익혀야 하겠는가?

필자는 뉴저지의 머레이 힐 (Murray Hill) 에 있는 벨 랩스의 음성연구부서에서 근무했다. 필자의 첫번째 프로그래밍 직업이었다. 컴퓨터 음향을 다루어야 했고, 음성과학과 언어학에 대해서도 배워야 했다. 또 취미로 환상적이라고 생각해왔던 컴퓨터 음악도 손대고 있었다. 컴퓨터 과학의 이론에 흥미를 느끼게 되었고, 학교에 들어가 몇 년 동안 전업 학생 생활을 했다.

펄로 시작하는 바이오인포매틱스
다시 정규 샐러리맨 생활로 되돌아가려 했을 때, 필자의 모교에서는 인간 게놈 프로젝트로 인해 생명정보학 연구실이 막 생겨났다. 학부 때 분자생물학을 1년간 수강하기는 했으나 그것은 PCR 기술이 이 분야에 혁명을 일으키기 전이었다. 당시 필자는 왓슨이 집필한 이제는 거의 고전이 되어버린 『유전자의 분자생물학 (The Molecular Biology of the Gene)』 을 읽어서 DNA의 어렴풋한 개념을 알고 있었고, 아마 그 덕택에 이 분야를 좋아하게 된 것 같다. 나는 생물정보학 연구실의 감독관을 찾아가 유닉스와 C에 대한 지식, 그리고 벨 랩스에서의 경력을 선전해 시스템 매니저로 취직했다. (PCR이란 polymerase chain reaction 의 약자로, DNA 조각을 충분히 복제해 그 조각에 대한 실험을 수행할 수 있게 해 주는 방법이다. DNA에 대한 기본 지식을 쌓은 후- 꾸준히 책을 읽을 것! - 분자생물학에 대해 배우려면 PCR은 아주 훌륭한 출발점이 될 것이다. 어떻게 할 것인지에 대해 조금 설명하겠다.)

새 일자리에서 필자는 생명정보학 소프트웨어를 지원하거나 작성하는 일부터 시작했다. 그 이전까지는 복잡성 이론과 병렬 알고리즘에 집중하느라 실질적인 프로그래밍을 해본적이 없었다. 드디어 이제 프로그래밍의 세계속에 푹 빠져버린 것이다. C, 프롤로그, 유닉스 셸과 포트란을 주로 사용했다. 내가 일을 시작하던 그 당시, 대학에 있던 친구 하나가 『Perl 프로그래밍(Programming Perl)』이라는 책을 내 손에 쥐어주었다. 그때 필자는 아주 강렬한 인상을 받아, 곧 내가 하는 대부분의 프로그래밍 작업을 펄로 하게 되었다.

필자는 또 게놈 프로젝트에 참여하고 있는 사람들과도 어울리기 시작했다. 인간유전학과 분자생물학의 대학원 과정을 청강하였고 내 주위 사람들이 무엇을 하고 있는지 이해하는데 많은 도움이 되었다.

몇 년 후, 모교에서 게놈 프로젝트가 종료되었을 때 필자는 생명정보학을 하는 다른 기관으로 자리를 옮겼다. 바이오테크 스타트업(biotech startup)에서 국립 암 연구소 산하 종합 암 센터, 그리고 지금은 생물학 연구자들을 위한 컨설팅을 하고 있다. 여기까지가 프로그래밍에서 생물정보학으로 옮겨간 행로, 그러니까 간추린 내 이야기다.

생물학에 프로그래밍을 더하기

생명정보학이 중요한 분야로 간주되는 지금, 많은 생물학 연구자들이 기금 제안서와 연구 프로그램의 일부분으로 생명정보학을 추가해 넣고 있다. 따라서 필자가 걸어온 것과 같은 경로를 지금 누군가가 걷고 있다면 그때보다 훨씬 더 쉬우리라고 생각된다. 이렇게 생각하는 이유는 간단한데, 생명정보학에 필요한 기금과 스태프에 대한 수요가 많아졌기 때문이다. 프로그래머를 찾는 생물학 연구기관에 가서 거기서 필요로하는 프로그래밍 기술을 가지고 있으며 생물학에 대한 관심도 있다고 말해 당신이 그들의 작업에 꼭 필요한 자산이라고 생각하게 만들면 된다.

공식적인 교육을 받는 것은 어떤가? 전산학과 생물학 양쪽의 학위를 모두 가진 사람이 물론 가장 이상적인 생명정보학자라는 것은 말할 필요도 없다. 하지만 실제로 그런 사람은 극소수이다. 이 분야에서 일하고 있는 사람 대부분은 컴퓨터와 생물학의 기술을 둘 다 잘 활용할 줄 알지만 그들 대개 어느 한 쪽의 학위만 가지고 있다. 물론, 컴퓨터 프로그래머가 생명정보학에 입문 하기 전, 혹은 일을 하면서 동시에 생물학 쪽의 공식적인 교육을 받는 것이 생명정보학을 배우는 좋은 방법이긴 하다.

또 하나의 학위를 더 받겠다고 결심하기가 쉽지 않다는 것도 필자는 이해할 수 있다. (필자의 경우, 가족을 부양하기 위해 일과 학업을 병행하면서 학위를 받았기 때문에 때로는 상당한 스트레스에 시달려야 했다.) 만일 생물학 분야에서 일을 할 계획이라면 학위를 가지고 있는 것이 가장 좋다. 석사학위도 괜찮긴 하지만 가장 좋은 프로젝트는 박사학위를 가지고 있는 사람들에게 돌아간다. 그렇지만 박사학위자도 넘쳐나기 때문에 종종 여러 해 동안 머물러야 하는 포스트닥터와 같이 상대적으로 적은 보수를 받게 될지도 모른다. 따라서 공식적인 생물학 트레이닝을 받는 것은 컴퓨터 전문가가 벌어들이는 수입과 비교해 보면 경제적으로 그리 이로운 일은 아니다. 하지만 현재 생명정보학 분야는 보수가 괜찮다.

반면에 정말로 생물학 분야의 일을 하고싶다면 정식 교육을 받는 것이 좋다. 생물학은 심오한 주제인 데다가 전산학이나 전기공학 등과 같은 공학분야와는 여러 가지 면에서 다르다. 생물학에서는 경이감을 느낄만한 것들이 많이 있다. 실험실에서 손에 물을 묻혀가면서 실험을 하여 얻는 접근방식은 책을 통해서는 얻기 힘든 것이기 때문이다.

현대생물학 연구를 배우려고 하는 펄 프로그래머가 독학으로 공부할 때 추천할 만한 주옥같은 책이 하나 있다. 『재조합 DNA (Recombinant DNA)』라는 책으로 DNA 공동발견자 중 한 명인 제임스 왓슨(James Watson)과 길먼(Gilman), 위트코우스키(Witkowski), 졸러(Zoller)가 공저한 것이다. 이 책은 수많은 독자들을 위해 세심하게 쓰여졌기 때문에 독자는 생물학에서 가장 중요한 두 가지 분자인 DNA와 단백질이 대체 무엇인지에 대한 설명부터 접하게 될 것이다. 그러나 이 책은 거기에서 그치지 않고 우리가 지금 경험하고 있는 생물학의 황금시대와 혁명의 기초를 형성하는 분자생물학의 실험실 테크닉을 포함한 생물학 연구의 기초가 되는 광범위한 주제들까지 소개한다. 특히 개인적으로는 생물학의 테크닉을 설명하기 위해 대단히 뛰어난 삽화를 이용하는 것이 마음에 든다. 생명정보학 관리자로 일하면서 필자는 프로그래머들에게 이 책을 주위에 놓아두고 필요할 때마다 자주 들여다 볼 것을 강력하게 추천해왔다.

하지만 이 책에도 한 가지 단점이 있다. 출간 년도가 1992년 이라는 점이다. 10년이란 기간은 컴퓨터 기술에서만큼 생물학에서도 긴 시간이다. 따라서 이 책에서는 미세배열 (microarray)이나 SNP 와 같은 새로운 것에 대해서는 다루지 않는다. (『Recombinant DNA: A Short Course)는 더 오래된 책이니 구입하지 말 것 - 사려면 1992 년 판을 사기 바람) 하지만 이 책은 독자에게 현대 분자생물학의 기초가 되는 테크닉을 깊이 이해할 수 있는 기회를 제공한다. 또한 펄 프로그래밍 기술을 생물학 연구에 접목시키고 싶다면 이 책은 전반적인 아이디어를 이해하기 위한 훌륭한 출발점이 되어줄 것이다.

이미 생명정보학 분야와 관련된 괜찮은 책들이 몇 권 나와있고 내년에는 더 많은 책들이 출간될 예정이다. 참고로 워터맨(Waterman), 페브즈너(Pevzner), 마운트(Mount), 이웬스(Ewens)를 비롯한 베이스바니스(Basevanis)의 책이 인기가 많다(다른 책들보다 더 이론적임). 필자가 쓴 책은 초보 프로그래머를 위한 것이긴 하지만 뒤쪽의 몇 챕터에서는 기본적인 생물학적 자료를 비롯한 프로그램에 대한 아이디어를 얻을 수 있게 도움을 주기위해 썼다. 기버스(Gibas)와 잼벡(Jambeck)이 저술한 『바이오인포매틱스 (Developing Bioinformatics Computer Skills)』는 생명정보학에서 사용되는 다양한 소프트웨어와 일반적인 전산학적(computational) 접근법에 대한 개관을 잘 설명하고 있다. 하지만 노련한 프로그래머에게는 적합하지 않은 기초적인 주제도 조금 들어있다.

배우고 싶은 다양한 생명정보학 프로그램들 중 펄 프로그래머라면 자연히 바이오펄(bioperl) 프로젝트에 이끌리게 될 것이다. 바이오펄은 오픈 소스이자 국제 협력을 통해 유용한 펄 생명정보학 모듈을 작성하려는 노력이며 지난 몇 년간 매우 유용하게 되는 지점에 도달하였다. 버전 1.0은 독자들이 이 기사를 읽고 있는 시점이면 출시될 것이다. http://www.bioperl.org 에서 관련 소프트웨어를 한 번씩 살펴볼 것을 추천한다. 약점이라면 기본적인 생물학적 개념을 가르치는 곳이 아니기 때문에 자습할 만한 내용이 많지 않다는 것이다. 하지만 바이오펄을 샅샅이 뒤져보면 사용할 만한 괜찮은 프로그램들을 많이 찾을 수 있을 것이다. 펄을 사용하는 생물정보학자라면 반드시 알고 있어야 할 곳이다.

독학 외의 다른 방법으로는 세미나 참석이나 지역 대학 및 바이오테크 회사의 독서그룹에 참여하여 사람들을 만나정보를 교류하는 것이다. 만일 직업을 구하고 있다면 대학 생물학과장에게 가서 자신을 소개하고 그 사람에게 당신이 생명정보학과 관련된 일자리를 찾고 있으며 일반적인 프로그래밍과 웹 프로그래밍 지식은 물론이고 컴퓨터를 사용해 적은 돈으로 많은 것을 뽑아내는데 도사라는 것을 알려주라. 하지만 급여가 작더라도 충격 받지 말기 바란다. 아마 지금은 좀 나아졌겠지만 생물학자들은 프로그래머에게 시장가치의 절반 정도만 주려는 것을 종종 목격할 것이다. 다시 한 번 더 강조하지만 급여 수준은 컴퓨터 프로그래밍보다 낮다. 지금까지 필자의 말을 귀담아 듣고 급여 이야기를 할 때, 아이들의 양육비를 충당하고 싶다면 비정하리만치 실무적인 모습을 보여주어야 한다는 것을 눈치챘을 것이다.

생물학을 배우는데 관심 있는 프로그래머를 위한 특별한 책이나 트레이닝 프로그램이 있는지 모르겠다. 어쨌든, 많은 수의 대학들이 생명정보학 과정과 트레이닝 프로그램을 비롯한 학부과정을 개설하기 시작했고, 그 중 일부는 경력 프로그래머를 위해 개설된 것이다. 생명정보학을 토론하는 주요 학회에 참가할 생각이 있다면 곧 개최될 오라일리 바이오인포매틱스 컨퍼런스에 프로그래머를 위한 튜토리얼을 참고하기 바란다. - 분명 이 컨퍼런스의 주된 초점은 생물학적 측면보다 프로그래밍적 측면에 맞춰져 있다.

오라일리 컨퍼런스 말고도 생명정보학 분야에서는 규모가 가장 큰 ISBM 컨퍼런스도 있다. 올 여름에 캘거리에서 열리는 이 컨퍼런스는 관련분야 사람들을 만나고 배울 수 있는 좋은 기회다. 또한 이 컨퍼런스에서는 바이오펄의 연례 미팅도 같이 열린다. ISBM 또는 RECOMB 컨퍼런스의 발표자들을 점검해 보면 생물학과 관련된 문제를 주로 다루는 컴퓨터 과학자들을 볼 수 있을 것이고, 그들 중 많은 수는 스태프를 지원해줄 것이다.

생물학은 실로 매우 방대한 분야다. 많은 연구자들은 특정 시스템(예를 들어 파리의 신경계 발달 조절)에 대한 소유권을 주장하고 그 안에서 일한다. 따라서 실제 직업에서 맞닥뜨릴 특정 생물학을 제대로 준비하기는 힘들다. 『재조합 DNA (Recombinant DNA)』는 대부분의 연구실에서 일상적으로 사용되는 중요한 테크닉에 대한 개관적인 설명을 해줄 것이다.

분자생물학 맛보기

지금까지는 펄 프로그래머가 생물학 연구로 옮겨가려면 어떻게 해야 하는지에 대한 일반적인 이야기를 했다. 이제부터는 생물학 연구, 예를 들면 인간 게놈 프로젝트 같은 것에 기초가 되는 두 가지 기본적인 분자생물학 테크닉으로 주제를 옮겨보려고 한다. 이 두 가지는 제한효소와 PCR 복제이다.

우선, 생물학적으로 중요한 두 가지 분자인 DNA와 단백질은 모두 작은 분자 블럭들이 연쇄적으로 모여 만들어진 중합체라는 점을 지적해야겠다. DNA는 핵산 또는 "염기" 라고 불리는 네 개의 블럭으로 구성되어 있다. 단백질은 20개의 아미노산으로 구성되어 있다. DNA는 규칙적인 구조, 일반적으로 서로 꼬여있는 두 개의 상보적인 줄이 이루고 있는 유명한 이중나선으로 되어 있다. 단백질은 세포 안에서 일어나는 역할에 중요한 영향을 끼치는 매우 다양한 방법으로 접혀있다. DNA는 다음세대로 특성을 전달하는 가장 중요한 유전물질이다. DNA는 단백질이 만들어지는 암호화된 템플릿을 담고 있다. 세포의 기능 중 상당부분은 단백질이 담당하고 있다.

또하나의 중요한 단백질로는 효소를 들 수 있다. 효소는 세포 내의 특정 화학반응을 촉진시킨다. 1993년에 리차드 로버츠 (Richard Roberts)는 제한효소의 발견으로 노벨상을 받았다. 제한효소는 제한 위치(restriction sites)라고 불리는 특정 위치에서 DNA를 잘라내는 유용한 성질을 가지고 있다. 이 성질은 몇 가지 중요한 방법으로 이용된다. 이것은 법 의학(forensic science)에서 개인 인식으로 사용하는 것 같이 DNA 핑거프린팅(fingerprinting)에 없어서는 안될 기술이다. DNA 내의 알려진 위치이며 유전자의 자리를 조준하는데 사용되고, DNA 전체 염기 서열을 결정하는 기나긴 프로세스에서 기준점 역할을 하는 물리적인 지도(physical map)를 개발에 도구 역할을 한다.

제한효소는 현대생물학 연구에 기초이다. 이에 대한 더 자세한 정보를 알고 싶다면 모든 기존 제한효소에 대한 상세정보를 모아놓은 http://www.neb.com/rebase에 있는 제한효소 데이터베이스 REBASE를 방문해보기 바란다. 이들 중 다수는 연구 용도로 공급업체에서 쉽게 주문할 수 있다.

가장 흔한 제한효소 중에 EcoRI라고 불리는 것이 있다. 이 효소는 DNA 줄기에서 GCATGC의 여섯 염기를 찾아낼 경우에만 DNA를 잘라준다.

다음에 소개하고자 하는 또 하나의 주요 테크닉은 이미 앞에서 언급한 적이 있다. PCR, 즉 폴리머라아제 연쇄반응이라는 것이다. PCR은 DNA 샘플이 복제, 사본을 만드는 가장 중요한 방법이다. PCR은 매우 강력하다. 짧은 시간 안에 DNA 한 조각에서 다른 분자생물학 실험, 예를 들어 DNA의 염기배열이 정확히 어떻게 되는지 알아내는 실험을 수행할 수 있도록 수백만 개의 복사본을 충분히 만들어 낼 수 있다. (인간 게놈 프로젝트에서 인간에 대해서는 이것이 완성되었다)

PCR 발명자는 꿈속에서 생각해낸 이 아이디어로 노벨상을 받았다. 기본 아이디어는 아주 간단하다. DNA 이중나선에 꼬여있는 두 줄기의 실이 상보적이라는 이야기를 했다. 그 두 줄은 서로 다르지만 한 가닥의 줄을 가지면 나머지 한 줄이 어떤 것인지 알 수 있다. 염기가 항상 특정한 방식으로 한 쌍을 이루기 때문이다. PCR은 이 성질을 잘 활용한다.

동기부여

단편 기사에서 생물학과 같은 기초 과학을 소개한다는 것은 물론 불가능한 일이다. 하지만 폭발적으로 발전하고 있는 과학을 공부하고 생명현상과 질병치료를 목적으로 이 분야를 이해하고자 하는 펄 프로그래머들에게 필요한 기술을 익히는데 이 기사가 적당한 시작점이 되었으면 한다.

생물학 분야에서 10년간 일하면서 이 분야가 정말로 재미있으며 대단한 지적 자극을 주는 분야라는 것을 알게 되었다. 게다가 암과 치매를 비롯한 기타 다른 질병 치료에 도움이 되는 일을 한다는 것은 개인적로도 대단히 만족스러운 일이다.

이 분야에 용감히 뛰어든 여러분들에게 항상 큰 행운이 함께하기를 바란다. 만약 오라일리 컨퍼런스에 참가하면 부디 필자를 찾아보길!
TAG :
댓글 입력
자료실