펄로 시작하는 바이오인포매틱스
펄은 생물학 자료 분석을 위한 가장 이상적인 언어이다. 이 책은 펄을 이용해 프로그래밍을 해본 적이 없는 생물학자가 펄을 사용해서 생물학 데이터를 처리할 수 있는 프로그램을 스스로 만들 수 있도록 하는 데 목적이 있다. 각 장은 특정 문제나 클래스 문제 해결에 중점을 두어 설명하며 프로그램을 조금씩 확장 수정해가며 완전한 프로그램으로 만들어간다. 각 장의 마지막에는 연습문제를 두어 실제로 특정 과제를 해결할 수 있는 프로그램을 작성해 볼 수 있도록 했
- 저자 : 제임스 티스달
- 번역 : 박현석
- 출간 : 2002-03-13
생물학과 컴퓨터를 전공하는 분야의 사람들이라면 바이오인포매틱스라는 새로운 분야에 대하여 이야기를 들어왔을 것이라 생각한다. 실제로 현재 많은 생물학 연구에서 컴퓨터를 사용하는 것은 너무나 당연한 수순이 되었다. 예를 들면, 새로운 염기 서열을 해독하였을 때 이미 알려진 어떤 유전자와 상동성을 검색하는 것이나, 클로닝을 위한 적당한 제한 효소를 선택하는 일들은 컴퓨터를 이용해 데이터베이스를 검색하고 소프트웨어를 사용하는 예일 것이다.
하지만 이것은 단지 시작일 뿐 인간 유전체 해독과 같은 대형 프로젝트들이 진행되면서 대량의 결과들이 나오기 시작하고, 그것들을 다룰 수 있는 툴의 개발과 적절한 이용은 목표 달성에 있어 중요한 요소가 되었다. 이러한 툴을 개발하고 이를 적절히 활용하는 것은 시간과 자원을 절약할 수 있을 뿐만 아니라 연구를 올바른 방향으로 이끌 수 있는 필수적인 요소가 될 것이다.
십 수년 전만해도 분자 생물학, 유전공학, 클로닝과 같은 용어들이 화두였던 데 반해 이제는 마이크로어래이(microarray), 게노믹스(genomics), 프로테오믹스(proteomics)라는 용어들이 그 자리를 대체해 가고 있다. 그 만큼 연구 분야 및 방법론에 있어서 따라갈 수 없을 만큼 진보의 속도가 빨라지고 있는 것이 현실이다. 이러한 연구 방법론의 진보에 발을 맞추고, 바이오인포매틱스라는 분야에서 경쟁력을 갖추기 위해서는 새로운 지식을 빨리 습득하고 이를 교육 현장에 적용하는 것이 중요한 과제임을 늘 생각해오고 있었다.
그러한 이유로 필자는 바이오인포매틱스를 시작할 수 있는 실습서를 찾던 차에 프로그래밍 예제를 설명해 주면서 프로그래밍 실습 측면을 강조한 이 책을 접하게 되었다. 이 책은 ‘펄로 시작하는 바이오인포매틱스"이지만 좀더 엄밀히 말하자면 프로그래밍을 한번도 접해 보지 않은 사람에게 펄이라는 새로운 언어를 가르칠 뿐 아니라 생물학을 잘 모르는 사람에게 바이오인포매틱스, 심지어 생물학의 기초까지도 모두 가르쳐주는 책이다. 생물학자뿐 아니라 바이오인포매틱스에 관심 있는 전산학도, 화학도, 물리학도, 수학도 등이 충분히 소화해 낼 수 있는 난이도로 구성되어 있다.
이 책은 저자가 서문에서도 밝히고 있듯이 생물학과 관련된 어려운 내용은 될 수 있으면 생략하고 생물학 과제를 해결할 수 있는 프로그램을 실제로 익혀가며 조금씩 생물학적 지식에 접근해 갈 수 있도록 구성되었다. 이러한 접근 방식은 프로그래밍 언어를 가르치는 방법에도 적용되었다고 볼 수 있다. 생물학자에게 생소할 수도 있는 펄이라는 프로그래밍 언어를 프로그래밍에 대한 복잡한 개념의 이해 없이도 습득할 수 있도록 지식을 점차 확장시켜 나가는 방식을 취하고 있다. 필자의 문체 역시 보기 드물게 세련되고 기술적으로 쓰여졌다. 앞에서 설명했다시피 생물학과 프로그래밍이 접목되어 있는 전문서적임에도 불구하고 전개방식이 독특하다. 원서의 문체 역시 딱딱하지 않게 독자와 대화하듯이 기술되고 있다.
가끔 전문 용어를 자세히 설명하지 않고 뒤에 가서 좀더 자세히 부연 설명을 하는 경우가 있는 데, 이 역시 입문자를 위한 저자의 꼼꼼한 배려로 보인다. 너무 어려운 전산학 개념은 언급만 하고 넘어감으로써 책 전체의 내용이 너무 기술적인 내용을 설명하는 데 할애되지 않도록 한 점도 장점이라고 할 수 있다. 일단 용어에 의문을 갖고 어느 정도 실습 예제를 통해 맛을 보게 한 다음 뒷부분에서 구체적으로 설명하고 있다.
가끔 까다로운 내용들이 있는데 모든 것을 기초부터 전부 설명하려고 욕심을 내지는 않았다. 기본적인 주제를 아주 빨리 전개하는 저자의 기술이 탁월하다. 무엇보다도 뛰어난 점은 독자가 여러 바이오인포매틱스 실습문제를 통해 실제적인 지식을 익힐 수 있도록 했다는 것이다. 바이오인포매틱스를 가르치고자 하는 사람에게도 이론만 강의를 해야 하는 책보다 훨씬 활용하기 편한 교재라고 생각한다.
바이오인포매틱스 분야서는 펄 외에도 파이썬, C, 자바 등의 언어를 쓰기도 하고 이런 언어들 간의 장단점을 비교하기도 하지만 바이오인포매틱스에 관한 한 펄만큼 라이브러리가 많고 역사가 긴 언어는 없다. 그리고 그것이 현 시점에서는 가장 중요한 것이라 생각한다. 즉 공부를 하는 사람 입장에서는 전 세계에 있는 다른 전문가들이 만들어 놓은 소스코드를 읽고 개념을 이해하는 일이 가장 중요한 것이고 바로 그렇게 하는 것이 바이오인포매틱스를 시작하는 가장 좋은 출발점이라고 생각한다.
요약하자면 “펄로 시작하는 바이오인매틱스”는 이론과 실습을 병행하며 바이오인포매틱스에 대한 개념을 정립할 수 있을 뿐만 아니라 실제 연구 단계에서 활용할 수 있는 프로그래밍 기술을 익힐 수 있는 책이다. 이 책을 통해 웹을 뒤지면서 주석이 제대로 되어 있지 않은 다른 사람의 소스코드를 보면서 힘들게 공부해야 했을 많은 시간을 절약할 수 있을 것이다.