자료를 찾는 과정에서 PLoS One 에서 멋진 ACGH 그래프를 봐서 나도 따라해 보고 싶었다. Heatmap 함수로도 비슷하게는 만들 수 있는데 image 함수가 기본적으로 가로로 그려준다는 점이 편해서 좋았다. 특정 범위에 해당하는 값은 특정 색상으로만 보이기 할 수 있다면 더 편할텐데 방법을 찾지는 못했다. 분명히 있을텐데..ㅋㅋ
Category: R
-
GSEA in R & 멀티코어
시대의 흐름인 multicore CPU 를 사용하게 하는 방법이 있는것 같기는 하지만, 쉬운 방법이 아닌듯하여 다른 방법을 찾아보다가 이런 방법을 시도해 보았다. 우선 3-4시간 정도 실행해보고 문제 없으면 다시 조절할 예정이다.
전제 1. 분할할 작업은 서로 독립적이다. 하나의 연산이 시간이 오래걸리는 것은 어떻게 할 방법이 없지만, 독립적인 연산이 여러개 있으면 분할 작업을 시도할 수 있다.
준비 1. 동시에 진행할 수 있는 부분 직전까지는 우선 실행시킨 다음 Workspace 로 저장한다.
준비 2. 균등하게 작업을 분배한다. 내 컴퓨터에서는 Swap 이 발생하면 굉장히 속도가 느려지므로, 이를 방지하기 위하여 적절하게 조절했다. 하고 나서 보니 메모리 점유가 생각처럼 높지 않아서 4개로 나눠도 될 것 같다는 생각이 들었지만, 번갈아가면서 잠깐씩 쉬라는 인간애를 발휘하여 3개로 일을 나눴다. 앞서 저장한 Workspace 를 불러와서 바로 작업이 가능하도록 script 를 짜두면 Ctrl + A -> Ctrol + C -> Ctrl + V 로 한 큐에 해결된다.
실행 1. 똑같은 것을 실행하지 않도록 주의해서 실행하면 끝!
개선점. 분명히 script 를 불러와서 실행하는 방법이 있을 것이므로 찾아보기.
-
Plot을 그림 파일로 보내기
분명히 다른 사람들은 알고 있을 사용방법이기는 한데, 내가 있는 곳은 사용자가 전무한 곳이라 직접 찾아내야 한다. 여러개의 그래프를 그리거나 그것을 확인해야 하는 경우에 사용할 수 있는 방법은 여러가지가 있다.
1. 하나의 화면에 N개의 그래프를 그려야 하는 경우
par(ask=F, mfrow=c(가로, 세로))
나는 for 구문을 사용해서 반복적으로 실행하는 경우가 많은데, 그 전환 과정을 순간적으로 확인하는 것은 당연히 불가능하다. ask 에서 T(rue) 를 지정해주면, 다음 입력(보통은 터미널 창에서 엔터키)이 있을 때 까지 화면이 정지된다. 가만히 두면, 다음번에도 그대로 인정되기 때문에 변경을 해주는 것이 필요함.2. 그래프를 그림 파일로 출력해야 할 경우
사실, 하나나 두 개 정도면 그냥 클립보드에 저장을 한 다음 불러오는게 더 편하다. 이 방법은 역시 내가 주로 사용하는 for 구문에서 필요한 방법이다. PNG 방식이 그림 파일 용량을 적게 만들 수 있기 때문에 사용했다.이 과정중에는 결과 plot 이 화면으로 보이지 않게 된다.
par 명령어보다 png 명령어가 먼저 입력이 되어야 한다.png(filename = paste(rownames(A)[X],”.png”, sep=””), width=800, height=600, unit=”px”)
반복 시행 구문이기 때문에 파일명이 바뀌지 않으면 같은 파일에 다른 그림이 계속 반복 저장되는 일이 생긴다. 지속적으로 파일명이 바뀌어지도록 해야한다. paste 명령과 sep=”” 옵션을 사용하면 밀착(?) 파일명을 만들 수 있다.
par(ask=F, mfrow=c(1,A[X,1]))
boxplot(G570C[c[Y],], col=”red”, main=paste(rownames(A)[X],rownames(ANNO)[c[Y]]))하나의 그래프의 반복이 끝나면
dev.off()을 사용하여 끝난다고 지정해주어야 한다고 함.
-
RStudio
R은 기능이 다양하지만, 프롬프트로 시작하는 극악의 인터페이스를 자랑하고 있다. 그 동안은 R에서 제공하는 거의 없는 것과 마찬가지는 스크립트 에디터를 사용하고 있었는데, 괄호 입력에 지친 나머지 스크립트 에디터를 찾아보다가 RStudio 를 알게 되었다.띄어쓰기가 있는 상태를 인식한다는 것과, 자동으로 괄호를 완성해 주고, 닫힌 괄호에 커서를 놓으면 해당하는 열린 괄호의 위치를 보여주는 기능이 있다. 우측에 보이는 화면을 설정해 줄 수도 있고, 기본 작업 디렉토리를 설정할 수도 있다.
남들이 사용하는 것은 역시 그만한 이유가 있었는데, 깡으로 하고 있었던 것을 진심으로 후회하고 있다. -_-;;
유일한 사용상의 결점이 있다면, 사용자 폴더명이 2byte 문자, 그러니깐 한국에서는 한국어로 지정이 된 경우에는 plot 과 관련된 기능을 사용할 수 없는 것이다. 해결책을 찾기 위해 구글 검색을 하다가 어디선가 발견한 힌트 덕분에 예전에 만들어둔 영문 계정으로 하니깐 문제 없이 사용할 수 있었다. 하긴, 병원에서는 snuh 라는 영문 사용자명이 기본이었지. OTL