물론 내가 아주 정확한 예를 든 것은 아니다. 모집단과 샘플의 크기, 그리고 복원 추출이냐 아니냐 등의 문제를 언급하지 않았기 때문이다. 일단 대충 넘어가도록 하자^^
다시 (gen)omics의 영역으로 넘어오자. 연구 대상이 되는 생명체의 전체 유전자에 대한 functional classification이 아주 잘 되어있는 모델 생명체는 이런 분석을 하기에 매우 적합하다. 단지 gene ID만 있으면 DEG set에 어떤 기능이 특출나게 더 존재하는지를 알려주는 도구가 많이 있기 때문이다. 여기서는 대조군에 대해서 발현량이 더 많거나 적은지 자체가 중요하지 않다. 오직 '차이'가 있는 유전자 전체를 뭉뜽그려서 하는 이야기이다.
그런데 세균 유전체를 다루는 나 같은 사람에게는 이 분석 작업이 오히려 불편하다. 전체 gene set에 대한 functional classification을 스스로 해결해야 하기 때문이다. Blast2GO가 이런 용도로는 매우 편리하다. 그리고 일단 각 유전자에 대한 GO term이 확정되면, Blast2GO(How to perform a gene set enrichment analysis with Blast2GO 링크) 혹은 CLC Genomics Workbench에서 DEG set이 더 많이 갖고 있는 기능들에 대한 통계적 분석을 할 수 있다.
오늘 발견한 R package는 clusterProfiler라는 것이다. 잘 알려진 모델 생명체가 아니더라도 KEGG에 등록된 유전체라면 functional enrichment analysis가 가능하게 만드는 패키지이다. 참조한 사례는 R-Bloggers.com에 패키지 저자들이 올린 포스팅이다.
KEGG enrichment analysis with latest online data using clusterProfiler
업무용 컴퓨터에 설치된 기존 R 버전(3.1.2)에서는 지원이 되지 않아서 최신 버전(3.3.2)를 깔고 DOSE와 clusterProfiler 패키지를 설치하여 사용하였다. 너무 오랫만에 R을 쓰려니 텍스트 파일에 수록된 gene list를 scan() 함수를 입력하는 것도 힘들다. 입력하려는 데이터가 숫자가 아니라고 불평을 하는 것 아닌가? 해결책은 다음과 같았다.
> gene = scan("gene_list.txt", what="string")
나오는 결과는 대충 다음과 같다.
패키지의 저자인 Guangchuang Yu와 Li-Gen Wang에게 감사를! 남은 숙제는 갖가지 기능으로 장식된 Blast2GO Pro 최신 버전을 더욱 알뜰하게 활용하는 것이다.
댓글 없음:
댓글 쓰기