공부해 봅시다/R-Project

GSEA

Anonymous Pathologist 2015. 3. 27. 10:57

사실 이쪽 항목으로 분류되는 것은 아닌데...

예전에는 분명 R script 로 되어 있는 GSEA 를 R에서 실행하는 것이 가능했다. 그런데 최근에 R이 버젼이 올라가면서 생긴 문제로 생각되는데, R에서 GSEA가 안돌아가고 있다. 원인을 도저히 찾을 수 없어서 R 이 아닌 다른 방식으로 접근을 하기로 했다. Java 로 제작된 프로그램이기도 하고 command line 으로 실행하는데 성공하면 메모리가 빵빵한 Ubuntu 컴퓨터에서 R을 사용하여 실행이 가능할 것이라고 생각해서 Java 이용하는 쪽으로 해결책을 찾기로 했다.

우선 Ubuntu 에 Java를 설치해야 한다. 그런데 Java 홈페이지에 가면 유독 Ubuntu 가 분리되어 안내되어 있다. 그래서 그 곳(https://help.ubuntu.com/community/Java)에 들어가면 여러가지 설치 옵션이 있는 것을 알 수 있는데 가장 무난하게 생긴 Oracle Java 8 항목 부분에 있는 링크(http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html)  에 쓰여있는데로 실행하면 어려움 없이 설치가 가능하다.

그 다음 문제인데 command line 으로 GSEA를 실행하려면 정말 복잡한 명령어를 입력해야 한다. 물론 이걸 직접 입력하는 것은 귀찮으니까 같은 자료 파일을 Java 기반의 프로그램에서 불러온 다음 하단 메뉴에 있는 Command 항목에 있는 것을 참조해서 수정하면 된다. 그리고 실행하면 끝.

난 GSEA 분석에 사용되는 gene sets 을 따로따로 실행하는 것을 선호하니까 그 파일들을 한 군데에 몰아 넣은 후 다음과 같은 식으로 계속 실행하도록 했다.

실행하면서 확인한 것으로 이렇게 Java 기반으로 실행을 할 경우 multicore 를 지원하는 것 같다. R에서 다중코어를 지원하도록 하는 것이 대단히 어려워서 그 동안 Hyperthreadiing 을 끈 i3 CPU 를 사용하고 있었는데 HT를 다시 켜야 할 지 조금 고민된다.

gct.location = "/home/rstudio/TCGA/GSEA/20150326.gct"
cls.location = "/home/rstudio/TCGA/GSEA/20150326.cls"
gs.number = length(grep("*.gmt", dir()))

for (X in 1:gs.number){
        gs.location = dir()[grep("*.gmt", dir())][X]
        gsea.command = paste("java -cp /home/rstudio/TCGA/GSEA/gsea2_2_2_0.jar xtools.gsea.Gsea -res ", gct.location, " -cls ", cls.location,  "#MUT_versus_WILD -gmx ", gs.location, " -collapse false -mode Max_probe -norm meandiv -nperm 1000 -permute phenotype -rnd_type no_balance -scoring_scheme weighted -rpt_label my_analysis -metric Signal2Noise -sort real -order descending -include_only_symbols true -make_sets true -median false -num 100 -plot_top_x 20 -rnd_seed timestamp -save_rnd_lists false -set_max 500 -set_min 15 -zip_report false -out /home/rstudio/TCGA/GSEA/ -gui false", sep="")
        system(gsea.command)
       
        rm(gs.location, gsea.command)
       
}

'공부해 봅시다 > R-Project' 카테고리의 다른 글

RStudio 다중 사용자  (0) 2015.08.06
CoxPH 와 model selection  (0) 2015.07.14
layout  (0) 2014.11.29
약물 반응 곡선  (0) 2014.10.12
날짜, 시간 출력  (0) 2014.10.04