Perface

우리는 데이터 시대에 살고 있다. 영화 평점, 주식, 기후 데이터 등 일반인들도 그 데이터의 특성을 비교적 쉽게 파악 가능한 데이터에서부터 천체 물리, 화학과 같은 좀 더 세분화되고 전문화된 데이터들까지 다양하고 거대한 데이터들을 인터넷을 통해 손쉽게 접근할 수 있다.

유전체 데이터 또한 다양한 연구와 국제 프로젝트를 통해 데이터들이 생산되어 공개적으로 접근이 가능하다. 외국의 경우에는 개인들도 유전자 검사가 가능해짐에 따라 개인의 유전체 정보도 속속 공개가 되고 있는 실정이다. 물론 국내에서도 최근 개인의 유전자검사가 합법화 되면서 직접 자신의 유전체 데이터를 획득할 수 있는 기회가 마련되었다.

개인이 지닌 유전체 데이터는 30억개의 염기쌍으로 구성되어 있으며 A4용지 1장에 12포인트의 폰트로 약 3,000자를 쓴다면 개인의 총 유전체는 A4용지 100만 페이지에 달하는 엄청난 데이터이다. 이 책은 개인 유전체 분석이라는 흥미로운 주제로 유전체 데이터를 취득하는 방법과 데이터를 분석하고 이해하는 다양한 기법들을 다룬다.

이 책의 목표는 자신의 유전체 데이터를 이해하고 분석할 수 있는 기초를 다지는 것이다.

사전지식

이 책에 나오는 예제 코드는 파이썬과 R 코드로 작성되었다. 파이썬이나 R에 친숙한 독자라면 문제없이 진행 진행이 가능하겠지만, 다른 언어를 사용하는 프로그래머도 이해할 수 있도록 모든 알고리즘에 설명을 붙였다. Ruby나 Perl과 같은 프로그래밍 언어를 아는 독자라면 비교적 손쉽게 파이썬이나 R 코드 역시 읽을 수 있을 것이다. 이 책은 프로그래밍 언어를 배우기 위한 책이 아니므로 파이썬과 R에 친숙해지도록 노력을 했으면 한다.

파이썬과 R은 요즘 화두로 떠오르는 데이터 사이언스 분야에서도 매우 핫한 언어들이기 때문에 데이터분석에 관심이 많은 독자라면 필수적으로 습득하기를 권한다. 이 책에서 사용하는 파이썬의 데이터 프레임이나 R의 화려한 그래프 기능에 대해 익숙해진다면 추후 유전체 데이터가 아니더라도 어떠한 데이터가 주어지더라도 어렵지않게 분석이 가능할 것이다. 이 책을 읽기 위해서는 생물학이나 유전체학에 대한 사전지식 없이도 최대한 일반인들도 이해할 수 있도록 구성했다.

예제 코드

예제 코드는 독자가 스스로 해당 분석을 단계별로 만들고 알고리즘의 동작 원리를 이해할 수 있도록 했다. 예제를 통해서 분석을 수행하고 테스트 해보면서 이를 응용하여 여러 사례에 활용할 수 있도록 최대한 준비했다. 또한 예제 코드는 파이썬 주피터(Jupyter)의 노트북 형태로 제공하여 독자들이 손쉽게 활용할 수 있도록 했다. 주피터 노트북은 https://github.com/hongiiv/genome_book 에서 확인할 수 있다.

파이썬 기초

유전체 데이터 분석을 설명하는데 파이썬 만큼이나 훌륭한 언어가 있을까? 파이썬은 유전체 데이터를 분석하기 위한 많은 라이브러리들이 존재한다. 또한 대화식으로 예제를 설명하기 위해 더할 나위 없이 좋은 언어이다.