Category: R

  • Local Southern sizing algorithm

    Local Southern sizing algorithm

    어떤 물질의 분리를 위하여 전기 영동을 할 때에 그 물질의 추정치를 알기 위하여 보통은 참고치를 가지고 있는 물질과 같이 검사를 하게 된다. 이 때 추정치를 구하는 공식에는 여러 가지가 있고, 그 중에 흔하게 사용되는 방법은  Local Southern sizing algorithm 이라….고 한다.[footnote]Southern EM. Measurement of DNA length by gel electrophoresis. Anal Biochem. 1979;100(2):319-23.[/footnote]

    기본 공식은 다음과 같다.

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

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

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

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

  • CSV 로 파일 내보내기

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

    write.table(데이타그룹,”파일명.csv”, sep=”,”, row.names=TRUE, col.names=TRUE)

  • 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 (64bit) on Ubuntu 10.10

    R (64bit) on Ubuntu 10.10

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

    Vista 64bit 버젼으로 설치를 하는 것도 나쁘지는 않았겠지만, 그래도 이런 Terminal 입력창을 가지고 있는 프로그램은 그에 걸맞는 대우를 해줘야..