티스토리 툴바



'R-Project'에 해당되는 글 30건

  1. 2012/02/12 Plot을 그림 파일로 보내기
  2. 2012/02/12 RStudio (2)
  3. 2011/12/27 내 맘대로 Chromosome 17
  4. 2011/12/04 Calibration
  5. 2011/11/16 Barplot
  6. 2011/11/14 3 개를 1개로..
  7. 2011/10/08 Local Southern sizing algorithm
  8. 2011/10/08 CSV 로 파일 내보내기
  9. 2011/04/25 Quantile Normalization
  10. 2011/04/22 R (64bit) on Ubuntu 10.10 (2)
2012/02/12 00:40

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()

을 사용하여 끝난다고 지정해주어야 한다고 함.
저작자 표시 비영리 동일 조건 변경 허락

'R-Project' 카테고리의 다른 글

Plot을 그림 파일로 보내기  (0) 2012/02/12
RStudio  (2) 2012/02/12
내 맘대로 Chromosome 17  (0) 2011/12/27
Calibration  (0) 2011/12/04
Barplot  (0) 2011/11/16
3 개를 1개로..  (0) 2011/11/14
Trackback 0 Comment 0
2012/02/12 00:23

RStudio


R은 기능이 다양하지만, 프롬프트로 시작하는 극악의 인터페이스를 자랑하고 있다. 그 동안은 R에서 제공하는 거의 없는 것과 마찬가지는 스크립트 에디터를 사용하고 있었는데, 괄호 입력에 지친 나머지 스크립트 에디터를 찾아보다가 RStudio 를 알게 되었다.

띄어쓰기가 있는 상태를 인식한다는 것과, 자동으로 괄호를 완성해 주고, 닫힌 괄호에 커서를 놓으면 해당하는 열린 괄호의 위치를 보여주는 기능이 있다. 우측에 보이는 화면을 설정해 줄 수도 있고, 기본 작업 디렉토리를 설정할 수도 있다.

남들이 사용하는 것은 역시 그만한 이유가 있었는데, 깡으로 하고 있었던 것을 진심으로 후회하고 있다. -_-;;

유일한 사용상의 결점이 있다면, 사용자 폴더명이 2byte 문자, 그러니깐 한국에서는 한국어로 지정이 된 경우에는 plot 과 관련된 기능을 사용할 수 없는 것이다. 해결책을 찾기 위해 구글 검색을 하다가 어디선가 발견한 힌트 덕분에 예전에 만들어둔 영문 계정으로 하니깐 문제 없이 사용할 수 있었다. 하긴, 병원에서는 snuh 라는 영문 사용자명이 기본이었지. OTL
저작자 표시 비영리 동일 조건 변경 허락

'R-Project' 카테고리의 다른 글

Plot을 그림 파일로 보내기  (0) 2012/02/12
RStudio  (2) 2012/02/12
내 맘대로 Chromosome 17  (0) 2011/12/27
Calibration  (0) 2011/12/04
Barplot  (0) 2011/11/16
3 개를 1개로..  (0) 2011/11/14
Trackback 0 Comment 2
2011/12/27 00:16

내 맘대로 Chromosome 17

R에서 그래프를 그리는 명령어에 여러 색상을 넣어야 하는 경우가 있다. 숫자가 적으면 상관없는데 숫자가 많아지면 겁나게 귀찮은 부분. R Reference card 를 참고한 결과 N개의 색상을 뽑아주는 간편한 명령어인 rainbow(N) 을 찾을 수 있었다.


pie(rep(1,27),col=rainbow(27))


요 명령어를 사용하면 다음과 같은 결과를 얻을 수 있다. 숫자로 표시된 부분이 해당되는 색을 나타낸다.



이 색상표를 참고해서 다음과 같은 응용을 해보았다.



Breast cancer 의 치료의 한 획을 그은 ERBB2 (CD340, HER-2, HER-2/neu, HER2, MLN 19, NEU, NGL, TKR1) 억제제인 Trastuzumab. 이를 치료에 사용하기 위해서는 HER2 amplification 이 있음을 FISH 를 통해서 입증하거나 면역화학검사(IHC)에서 3+ 가 해당이 되야 한다고 한다(후자의 경우는 보험 되는지 잘 모르겠음).

(Wolff AC, Hammond ME, Schwartz JN, et al. American Society of Clinical Oncology/College of American Pathologists guideline recommendations for human epidermal growth factor receptor 2 testing in breast cancer. J Clin Oncol 2007;25:118-45.)


HER2 FISH 를 보다보면 CEP17 이 증가한 경우를 볼 수 있으며, 경우에 따라서는 CEP17 과 HER2 의 Co-amplification 이 관찰되기도 한다. 이럴 경우 HER2/CEP17 비율이 2.2 미만으로 나올 수 있다.

(Sauter G, Lee J, Bartlett JM, Slamon DJ, Press MF. Guidelines for human epidermal growth factor receptor 2 testing: biologic and methodologic considerations. J Clin Oncol 2009;27:1323-33.)


Breast cancer 에서 CEP17 이 증가하는 것에 대하여 여러 사람들이 연구를 해 보았으나, Polysomy 17 이 매우 드문 현상이며, amplification 을 평가하기 위하여 CEP17 이외의 다른 17번 염색체에 존재하는 유전자를 reference 로 삼을 것을 이야기하고 있다.

(Tse CH, Hwang HC, Goldstein LC, et al. Determining true HER2 gene status in breast cancers with polysomy by using alternative chromosome 17 reference genes: implications for anti-HER2 targeted therapy. J Clin Oncol 2011;29:4168-74.)

HER2 와의 co-amplification 되는 경우도 있으며, anthracycline 에 대한 저항성과 관련이 있는 것으로 알려진, TOP2A 에 를 추가로 확인할 수 있도록 한 시제품들도 있다. 

(Vysis TOP2A / HER-2 / CEP 17 FISH Probe Kit)


지금은 Catalog 에서 안보이는데 17번 염색체의 다른 부위에 대한 probe 를 제공하는 제품도 있다.


그래서 나도 한 번 확인해 보고자 시도해 보았다. FISH 와 비슷한 효과를 볼 수 있는 aCGH (array comparative genomic hybridization) 가 있으며, GEO 에서 찾아 보았을 때, GSE23720 에서 Agilent 제품으로 시행한 결과를  찾을 수 있었다. 이 자료에서는 197개의 aCGH 결과가 포함되어 있다.


Series Matrix 파일을 다운 받은 다음 엑셀에서 불러와서 17번 염색체가 포함된 부분만을 별도의 파일로 저장한다. GSE23720이 포함된 논문에서는 1.5배 이상 변화가 있을 때 gain 이라고 정의하였으니깐 거기에 맞추어서 ERBB2 가 1.5 이상인 값을 찾아보면 27개가 나오며, 그것을 그려보면 다음과 같다. 빨간 화살표가 HER2 부위이다.



다음은 CEP17 에 해당하는 부위. 2개의 증례는 FISH 를 하였을 경우 왠지 나올 것 같은 예감을 불러일으킨다.



TOP2A 에 해당하는 곳을 확인해 봤더니 1례를 제외하고는 gain 이라 할 수가 없는 결과를 보여주는데, TOP2A를 추가로 확인할 수 있는 FISH 제품을 사용하면 왠지 더 도움이 될 것 같은 느낌을 준다고 할까. 이 probe 가 포함된 FISH 제품이 전공의 생활 끝나기 전에 안들어온 것이 다행이다. :)




저작자 표시 비영리 동일 조건 변경 허락

'R-Project' 카테고리의 다른 글

Plot을 그림 파일로 보내기  (0) 2012/02/12
RStudio  (2) 2012/02/12
내 맘대로 Chromosome 17  (0) 2011/12/27
Calibration  (0) 2011/12/04
Barplot  (0) 2011/11/16
3 개를 1개로..  (0) 2011/11/14
Trackback 0 Comment 0
2011/12/04 01:20

Calibration

지금 마지막 마무리 작업 중인 논문에 넣을지 말지 고민하고 있는 Figure 의 내용. 어떤 식으로 그래프를 그려야 좁은 범위에서 직관적이면서도 예쁘고, 그럴듯해 보일까 고민을 하다 Boxplot 을 선택했다. 원래 프로그램에서는 Local southern sizing algorithm 에 의한 것으로 추정은 되지만 확신할 수 없는 어떤 방식에 의하여 상단의 값을 구해주는데, 이 값들은 알 수 없는 이유로 인하여 점점 감소하는 경향을 보이고 있다.
좁은(?) 범위에서 보이는 선형의 경향이라서 그냥 선형회귀분석을 사용하여 보정을 하기는 했는데, 뭘 해도 마음에 쏙들어 오지는 않는다.


보정을 제대로 하기 위해선 바로 이 녀석을 회귀분석 해야한다. 대학교 때 선형회귀분석의 기초만 배웠는데 이런건 도대체 어떻게 해야하는지.. OTL
저작자 표시 비영리 동일 조건 변경 허락

'R-Project' 카테고리의 다른 글

RStudio  (2) 2012/02/12
내 맘대로 Chromosome 17  (0) 2011/12/27
Calibration  (0) 2011/12/04
Barplot  (0) 2011/11/16
3 개를 1개로..  (0) 2011/11/14
Local Southern sizing algorithm  (0) 2011/10/08
Trackback 0 Comment 0
2011/11/16 00:58

Barplot


논문을 보면 이런 식으로 표현하는 figure 들이 있다. 우선 따라할 줄 알아야 독창적으로 만들 수도 있는법. 그래서 비슷하게 만들어 보았다.

평균값이 양수일 때랑 음수일 때랑 따로 색을 지정하는 방법을 찾지 못하여, 양수 따로 음수 따로 그리는 방법을 선택하였다.
가로값이 4200개 정도 되기 때문에 옵션중에서 border 와 space 는 FALSE 로 지정할 필요가 있다.
0을 나타내는 선을 추가로 표현해야 한다.
2번째 부터 같이 표현하기 위하여는 add 옵션을 사용한다.

barplot(dataaver[,8], col="red", border=F, space=F, ylab="Ratio", ylim=c(-1,1))
barplot(dataaver[,9], col="blue", add=T, border=F, space=F)
abline(h=0)
저작자 표시 비영리 동일 조건 변경 허락

'R-Project' 카테고리의 다른 글

내 맘대로 Chromosome 17  (0) 2011/12/27
Calibration  (0) 2011/12/04
Barplot  (0) 2011/11/16
3 개를 1개로..  (0) 2011/11/14
Local Southern sizing algorithm  (0) 2011/10/08
CSV 로 파일 내보내기  (0) 2011/10/08
Trackback 0 Comment 0
2011/11/14 02:34

3 개를 1개로..



3개의 검체를 대상으로 aCGH 검사를 하였는데, 어떤 값은 다른 값에 없는 경우가 있어서 하나의 테이블로 합치는 것이 어려웠다. 약간의 고민끝에 매우 간단한 방법으로 해결하는데 성공. :)
저작자 표시 비영리 동일 조건 변경 허락

'R-Project' 카테고리의 다른 글

Calibration  (0) 2011/12/04
Barplot  (0) 2011/11/16
3 개를 1개로..  (0) 2011/11/14
Local Southern sizing algorithm  (0) 2011/10/08
CSV 로 파일 내보내기  (0) 2011/10/08
Quantile Normalization  (0) 2011/04/25
Trackback 0 Comment 0
2011/10/08 23:34

Local Southern sizing algorithm

어떤 물질의 분리를 위하여 전기 영동을 할 때에 그 물질의 추정치를 알기 위하여 보통은 참고치를 가지고 있는 물질과 같이 검사를 하게 된다. 이 때 추정치를 구하는 공식에는 여러 가지가 있고, 그 중에 흔하게 사용되는 방법은  Local Southern sizing algorithm 이라....고 한다.[각주:1]


기본 공식은 다음과 같다.


m 은 추정치, 그리고 L은 이동 거리를 나타내는데, 미지수가 3개 있으니까 이 값들을 찾기 위해서는 3개의 식이 필요하게 된다. (x, y)가 익숙하니깐 각각을 다음과 같이 표시할 수 있다.



삼원일차방정식의 해를 구하면 되는거다. c 가 공통의 값을 가지니깐 1번에서 2번을 빼고, 2번에서 3번을 빼면 다음과 같이  정리가 가능하다.



초등학교 때라면 단순하게 여기에서 곱하고, 나누고, 빼고, 더하고를 30분쯤 반복해서 정리하였을 것이다. 하지만, 고등학교 때 배우는 행렬(matrix)을 이용하면 조금은 간단하게 접근할 수 있고, R 에서도 matrix 를 지원하기 때문에 간단하게 구할 수 있다.



이렇게 간단하게 정리가 되고, R 에서는 solve 함수를 이용하면 구할 수 있다. c 는 알고 있는 (x, y) 를 대입해서 구하면 된다.

  1. Southern EM. Measurement of DNA length by gel electrophoresis. Anal Biochem. 1979;100(2):319-23. [본문으로]
저작자 표시 비영리 동일 조건 변경 허락

'R-Project' 카테고리의 다른 글

Barplot  (0) 2011/11/16
3 개를 1개로..  (0) 2011/11/14
Local Southern sizing algorithm  (0) 2011/10/08
CSV 로 파일 내보내기  (0) 2011/10/08
Quantile Normalization  (0) 2011/04/25
R (64bit) on Ubuntu 10.10  (2) 2011/04/22
Trackback 0 Comment 0
2011/10/08 17:13

CSV 로 파일 내보내기

자꾸자꾸 까먹어버려서 여기에 기록해 놓아야 겠다는 생각이 들었다.
R에서 처리한 자료들을 Excel 로 불러오는 가장 편안한 방법은 CSV 파일로 만든다음에 엑셀에서 불러오는 것이다. 사실 다른 방법도 충분히 있을 것 같은데 내가 다루는 방법에서는 이게 덜 헷갈려서 좋다. ㅡㅡ

write.table(데이타그룹,"파일명.csv", sep=",", row.names=TRUE, col.names=TRUE)
저작자 표시 비영리 동일 조건 변경 허락

'R-Project' 카테고리의 다른 글

3 개를 1개로..  (0) 2011/11/14
Local Southern sizing algorithm  (0) 2011/10/08
CSV 로 파일 내보내기  (0) 2011/10/08
Quantile Normalization  (0) 2011/04/25
R (64bit) on Ubuntu 10.10  (2) 2011/04/22
read.table 사용시 주의사항  (0) 2011/04/11
Trackback 0 Comment 0
2011/04/25 02:05

Quantile Normalization

#Quantile Normalization
quan_order <- matrix(nrow=nrow(Z), ncol=ncol(Z))
for (X in 1:ncol(Z)){quan_order[,X] <- order(Z[,X], decreasing=FALSE)}
: 원래의 값이 몇 번째에 해당하는 값인지 미리 기록하고..

quan_sort <- matrix(nrow=nrow(Z), ncol=ncol(Z))
for (X in 1:ncol(Z)){quan_sort[,X] <- sort(Z[,X], decreasing=FALSE)}
: 자료를 오름차순으로 정렬한 다음..

quan_sort_mean <- matrix(nrow=nrow(Z), ncol=1)
for (X in 1:nrow(Z)){quan_sort_mean[X,1] <- mean(quan_sort[X,])}
: 평균값을 구하고..

QN_Z <- matrix(nrow=nrow(Z), ncol=ncol(Z))
for (I in 1:nrow(Z)){for (J in 1:ncol(Z)){QN_Z[quan_order[I,J],J] <- quan_sort_mean[I,1]}}
: 원래의 위치에 해당되는 값을 다시 입력하기..

Quantile normalization 은 microarray analysis 에 필요한 과정인 것 같기는 한데 사실 아직도 개념이 이해가 되지 않는다. 이런 저런 자료를 찾아본 후에 이런식으로 구현하면 될 것 같아서 시도해 보았다.

Bioinformatics 의 기본에 대한 것을 배울 수 있으면 언제 청강이나 도강이라도 해봐야 겠다. ㅡㅡ
저작자 표시 비영리 동일 조건 변경 허락

'R-Project' 카테고리의 다른 글

Local Southern sizing algorithm  (0) 2011/10/08
CSV 로 파일 내보내기  (0) 2011/10/08
Quantile Normalization  (0) 2011/04/25
R (64bit) on Ubuntu 10.10  (2) 2011/04/22
read.table 사용시 주의사항  (0) 2011/04/11
EBV 정량 검사  (0) 2011/01/23
Trackback 0 Comment 0
2011/04/22 09:12

R (64bit) on Ubuntu 10.10



Ubuntu 에 내장되어 있던 R을 업그레이드 하는 방법을 찾는다고 시간이 걸리기는 했지만 최신 버젼의 R로 설치하는데 성공했다. 이제는 한 번 대용량의 메모리를 필요로 하는 계산을 해볼까나.. :)

Vista 64bit 버젼으로 설치를 하는 것도 나쁘지는 않았겠지만, 그래도 이런 Terminal 입력창을 가지고 있는 프로그램은 그에 걸맞는 대우를 해줘야..
저작자 표시 비영리 동일 조건 변경 허락

'R-Project' 카테고리의 다른 글

CSV 로 파일 내보내기  (0) 2011/10/08
Quantile Normalization  (0) 2011/04/25
R (64bit) on Ubuntu 10.10  (2) 2011/04/22
read.table 사용시 주의사항  (0) 2011/04/11
EBV 정량 검사  (0) 2011/01/23
임의의 수 만들기  (0) 2010/12/18
Trackback 0 Comment 2