Category: R

  • CoxPH 와 model selection

    CoxPH 와 model selection

    없을리가 없다고 생각했지만 그 동안 R에서 못썼던 기능 중 하나는 Cox PH 분석에서 forward 혹은 backward 방식의 model selection 이다. 너무 쉽게 찾아낸 방법은 step() 함수이다.

    step() 괄호 안에 coxph 명령어를 넣고 실행하면 SPSS 랑 똑같이 나온다. 다만, forward 순서는 조금 다르게 나오는 듯함. 내가 잘못 사용하고 있는지도 모르겠다.

    SPSS 에서는 결측값이 있는 항목이 들어갈 경우 자동으로 그 부분을 인식하지만, R에서는 에러가 나기 때문에 결측값이 없는 자료만을 입력해야 한다.

    trace=0 을 사용하면 최종 결과만을 확인할 수 있다.

  • GSEA

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

    예전에는 분명 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)
           
    }

  • layout

    layout

     

     

     

     

    사용방법에는 여러가지가 있는 것으로 보여지만, 내가 필요한 기능은 이런거다. mfrow 나 mfcol 로 화면을 나누면 일정한 비율로 밖에 나누어지지 않지만, layout 이라는 명령어를 사용하면 이렇게 비대칭적으로 나누어진 화면을 볼 수가 있다. 사용방법도 어렵지 않고 꽤 쉬움. layout 으로 지정하고, layout.show() 라는 명령을 사용하면, 어떻게 화면이 나뉘는지 보여줌.

    layout(matrix(data=c(1, 1, 2, 3), nrow=2))
    layout.show(3)
  • 약물 반응 곡선

    약물 반응 곡선

    2014/09/29 – [공부해 봅시다/Pathology] – Drug inhibition analysis

    그 동안의 여러번의 실수를 통해서 이번에 수행한 약물 농도에 따른 성장 억제 곡선을 그려 보았다. 몇몇 이상한 부분이 있는데 이 부분은 도대체 어떻게 해석을 해야하는지는 모르겠다. 월요일에 남은 2개의 결과를 더 확인해보면 어떤 결론을 내려야 할지 알 수 있을 듯 함.