Bioinformatics 비전공자를 위한, Bioinformatics 어떻게 공부하는게 효과적일까?

지난 포스팅에 이어서, 주변에 계시는 분들께 종종 받는 질문에 대한 포스팅입니다. 가끔 주변의 선생님들로부터 아래와 같은 질문을 심심치 않게 듣습니다.

“Bioinformatics나 머신 러닝에 대해서 공부하고 싶은데, 너무 막막해요. 무슨 교재를 보고 어떻게 공부하는게 좋나요?”

저는 BioinformaticsComputational Biology 전공자도 아닐 뿐 더러, 코딩을 잘하는 것도 아닙니다. 다만 연구자로써 그 때 그때 필요한 Bioinformatics 도구들을 많이 사용한 경험이 있고, 구글링을 잘 활용할 뿐 입니다. 물론 컴퓨터 언어를 전혀 모른다면 문제겠지만, 프로그래밍 언어 자체를 배우는데 시간을 낭비할 필요는 없습니다. (원래 인생은 바로 실전 아니겠습니까?)

unnamed

책을 사서 프로그래밍 언어 자체를 독학을 하는 것은 시간적으로 효율도 나쁠 뿐 더러, 실전에는 별로 도움이 안되는 (=별로 쓰이지 않는) 내용들이 많습니다. 논문을 쓸 때, 통계 기법을 사용하는 것도 분석을 하고 해석을 통해 결과를 도출하기 위해서이지, 그것을 위해 우리 모두가 통계학 책을 꺼내서 처음부터 정독할 필요는 없습니다. 그런 의미에서 대부분의 사람들에게는 Bioinformatics tool 이나 머신 러닝 기법도 통계 기법과 같이, 데이터를 다루는 도구일 뿐이며, 우리는 이러한 도구들을 적당히 이용해서 데이터를 해석하고, 결과를 만들면 됩니다. (즉, 어떤 칼을 사용하던지 생선 손질만 하면 되는 것 아니겠습니까)

 

r-bioconductor-training_1

python_ml_header

R? Python? 머신러닝을 위한 Tensor Flow? 어떤 프로그래밍 언어를 먼저 배워야하는지, 어떤 교재를 봐야할지 고민할 시간에, 일단 아무거라도 시작해 보세요. 프로그램을 설치해보고, 데이터를 로딩해보고, 요리 조리 만지다 보면, 점점 뭐가 필요한지 깨닫게 됩니다. (개인적으로 R과 Python은 좀 더 쓰기 친숙한 Interface를 제공하는 R studio와 Anaconda를 설치해서 사용하기를 추천합니다.) 아래는 제가 생각하는 비전공자들이 BI tool의 사용법을 가장 효율적으로 습득하는 방법입니다.

 

1. 나만의 Real dataset을 가지고, 논문을 써보자

데이터는 직접 만지고, 조작을 해봐야 하는데, 자신이 분석하고자 하는 데이터셋이 있는 경우가 가장 좋습니다. 내가 가장 친숙한 데이터셋일 뿐 더러, 남의 깨끗하게 정제된 데이터가 아니라, 날 것 (?) 자체의 데이터 (Raw data)를 가공하는 과정에서 많은 것들을 배우게 됩니다. 이를 이용해서 논문을 한번 써보면 금상첨화 입니다.

비슷한 특성의 데이터셋을 이용해서 이미 분석해서 출판한 선행 논문을 참고 삼아서, 그 논문에서 이용한 분석 방법론을 그대로 나의 데이터셋에 적용해보세요. 그러다보면 자연스럽게 방법론을 습득하게 되고, 그 과정에서 어떤 프로그래밍 Tool이 필요한지, 어떤 분석 방법들을 다룰 수 있어야하는지를 알게 됩니다. 조금더 나아가 이런 방법을 응용하거나 확장하면 나만의 논문을 쓸 수 있을 정도의 데이터 분석 수준에 도달하게 됩니다. (사실 대부분의 Bioinformatics 전문가들도, 이러한 과정을 통해서 박사 학위를 마치고, 전문가가 됩니다.)

 

2. 검색을 최대한 활용하자: Google knows everything!

위에서 언급한 대로 일단 나의 데이터셋을 가지고 시작을 하면, 얼마 지나지 않아 바로 문제에 봉착하게 됩니다.

“아 설치하는데 왜 안되는 거야? 파일 로딩을 어떻게 하는거지… 프로그램을 잘 돌아가는데, 에러는 왜 발생하는 거야..?” 등등

google_god_hero

여기서 재밌는 점은 내가 봉착한 문제는 대부분 다른 사람들도 다 겪었다는 점입니다. 다른 말로하면 구글에 검색해보면 똑같은 문제를 질문한 사람이 꼭 있습니다. (없다면 검색을 제대로 못한 것..)

그렇게 그들의 질문과 다른 전문가들의 답변을 따라서 하나씩 문제를 해결해 가다 보면, 대부분의 문제들은 해결됩니다. 그리고 이러한 과정이 실력을 쌓아가는 과정이기도 합니다. (물론, 이런 시행 착오 과정을 단축 시켜줄 전문가가 옆에 있다면 매우 좋겠지만, 독학하는 사람에게는 구글이 슨상님입니다..) 이러한 방법의 장점은 교재가 필요없고, 돈도 들어가지 않으며 (= 온라인 교재, 무료), 단 시간에 가장 핵심적으로 실무에 필요한 기술만 습득할 수 있다는 점입니다.

 

3. Community Forum, Github tutorial 및 온라인 강의 (Youtube) 활용

마지막으로 위와 같은 과정으로 대충 어떤 스킬이 필요한지, 조금은 감이 왔다면 조금은 더 advanced 된 과정을 배우고 싶은 생각이 들기도 합니다. 이제 관심사와 처지가 비슷한 사람들이 모여있는 커뮤니티에 들어가서 눈팅을하고 질문을 합시다. 요새는 다양한 Bioinformatics 관련 커뮤니티가 활성화되어 있어서, 질문을 올리고 전문가의 답변을 얻기가 훨씬 용이해졌습니다.

maxresdefault

대표적으로 R과 관련한 다양한 블로그 및 포럼, Kaggle과 같은 Machine Learning 포럼, 유전체 분석 관련 Biostar, Bioinformatics Stack Exchange 등등의 커뮤니티들이 있으며, Software 제작자들이 Github에 친절하게 tutorial을 만들어주기도 합니다. 최근에는 유튜브가 활성화되어서, 친절하게 Step-by-step으로 분석 방법을 알려주는 영상도 많이 업로드되고 있으며, Coursera 온라인 강의도 접근이 쉽습니다.

이제는 정보의 홍수 속에서 얼마나 더 효율적으로 원하는 정보를 찾고, 활용하는지가 중요한 시대가 온 것 같습니다. 저런 정보들만 잘 활용한다면, Bioinformatics 도구를 활용하는데 큰 걸림돌은 없을 것이라고 믿어 의심치 않습니다.

이번 포스팅은 여기까지 입니다. 혹시라도 더 좋은 팁이 있다면 알려주세요^^

 

 

광고