Author: byun1114

  • Reference sequence 찾기

    Sequencing 결과를 해석하면서 판독하면서 사용하는 족보의 sequence 가 정말로 맞을까 생각을 했고, 이에 대한참고 자료를 찾고자 인터넷 서핑을 정말 열심히 했다. 그래서 Reference sequence 를 쉽게 찾는 방법을 찾을 수가 있었다.

    1. NCBI 의 홈페이지 혹은 PubMed 에 들어간 후 상단의 search 항목에서 Gene 을 선택한다.
    2. 원하는 유전자의 이름을 입력한다.
    3. 우리는 사람이므로 Homo sapiens 항목을 선택한다.
    4. 우측의 사이드바에서 reference sequence를 선택하거나 혹은 페이지 아래부분에서 mRNA and
    Proteins(s) 라고 되어 있는 부분을 찾는다. 보통 첫 번째에 언급된 것이 가장 흔한 종류이다. 그 중에서 잘 찾아보면
    Consensus CDS 라는 항목이 있고, 이를 선택하면 원하는 결과를 찾을 수가 있다.

  • DNA sequencing

    하루의 업무 중 가장 마지막에 일감이 나와서 다음날 오전에 주로 하는 sequencing 판독이 있다. 현재 병원에서는 AB 3130 Genetic Analyzer 를 사용하고 있다. 이에 대한 기본 원리는 말보다는 홈페이지의 Flash 설명을 보면 쉽게 이해할 수 있다.

    http://www.appliedbiosystems.com/absite/us/en/home/applications-technologies/dna-sequencing-fragment-analysis.html 로 들어간 후

    Video Tutorial: Learn the Basics of DNA Sequencing (Flash) 를 선택

  • IgH semi-nested PCR

    IgH semi-nested PCR

      확실한 악성 림프종(malignant lymphoma)의 경우에는 이 검사를 굳이 시행하지는 않지만, 림프구 증식성 질환에서 B 림프구의 monoclonality 를 확인하기 위하여 Semi-nested PCR 방법을 현재 분자병리검사실에서 시행하고 있다. 하지만 이에 대한 지식이 부족하여 결과 해석을 위한 자료를 찾으려고 노력하였고, 그 결과 원하는 정도의 내용을 찾을 수 있었다. 설명을 쓰고 싶어도 IgH rearrangement 에 대한 기본 지식이 매우매우 부족한 관계로 직관적인 그림만… OTL

    1. 현재 분자병리검사실에서는 FR3A, LJH, VLJH primer를 사용한 semi-nested PCR 방법을 사용하고 있다.


    2. Monoclonality 가 있을 경우 PCR 증폭 산물은 대략 110 bp 내외의 단일 band로 나타나게 된다.

    인용문헌:  Wan et al. Monoclonality in B cell lymphoma detected in paraffin wax embedded sections using the polymerase chain reaction. J Clin Pathol 1990; 43(11): 888-890. (PMID: 2124587)


     기본 개념은 다음의 논문을 참고하면 되기는 한데 이 논문만으로는 약간 부족한 느낌이 든다.

    Medeiros et al. Overview of the role of molecular methods in the diagnosis of malignant lymphomas. Arch Pathol Lab Med 1999; 123(12): 1189-1207. (PMID: 10583924)

  • 임의의 수 만들기

      의학과 관련된 연구에 있어서 환자의 익명성 보장은 중요한 문제가 된다. 그래서 각종 결과를 넣어둔 자료 파일에서 환자의 정보는 원칙적으로 노출이 되면 안되게 되어 있다. 그에 대한 방법은 여러가지가 있겠지만 크게 2가지 방법을 생각해 보았다.

      연구군에 포함된 순서대로 번호를 할당하는 방법이 우선적으로 고려될 수 있다. 이 방법은 임의의 숫자를 할당하는 방법에 대한 고민을 덜 수가 있지만, 앞선 번호의 환자가 오랜 기간 포함되어 있다는 판단을 할 수 있게 하여 bias 를 만들어 낼 수 있는 단점이 있다.

      그래서 프로그램을 통하여 임의로 숫자를 만들어내는 방법을 생각해 보았다. R-Project 에서도 다른 프로그램과 마찬가지로 임의의 숫자를 만들어내게 되면 일반적으로 0-1까지 범위내에서 숫자를 만들어내게 된다. 그리도 중복된 숫자가 있는지에 대한 여부를 확인해야 한다. 예전에 사용하던 방법으로는 중복 여부에 대한 확인 과정에서 시간이 걸리는 단점이 있었는데, 이 부분을 획기적으로 줄일 수 있는 방법이 떠올랐다.
      임의로 숫자를 만든 후에 오름차순으로 정렬을 한다. N번째에 중복된 수가 있다면,  N, N+1 에는 같은 숫자가 있게 된다. 그래서 N+1 번째 값과 N 째의 값이 같으면 중복된 것이 있다고 판단을 할 수 있다. 순환구문으로 이것을 확인하기 때문에 중간에 중복이 발생할 경우 순환구문을 취소하면 되는데 아직 그 것 까지는 못찾았다. 하지만 100만개의 숫자를 만들어서 중복을 확인하였을 때 내 컴퓨터로 5초 정도 소요되기 때문에 더 최적화시켜야 할 이유가 아직은 없다. ㅡㅡ;;

      Supplementary 에 환자 정보를 입력할 때 Case number 등을 이런 식으로 만들어 두고, Case number는 R-Project 를 사용하여 임의로 만들어서 각각의 환자에 배정했습니다라는 표현을 쓰면 될것 같다.

    해결하야할 문제 1. 중복 발생시 바로 중단하는 방법 찾기
    해결하야할 문제 2. 엑셀 파일로 예쁘게 출력하는 방법 찾기.


    rm(list=ls(all=TRUE))

    RNGkind(kind=”Mersenne-Twister”)

    NUMBER <- 1000000

    a <- matrix(nrow=NUMBER, ncol=1)
    b <- matrix(nrow=NUMBER, ncol=1)

    a[,1] <- trunc(runif(NUMBER) * 10e7)
    b[,1] <- sort(a[,1])

    COUNT <- 0
    for (X in 2:NUMBER)
    {if (b[X,1] == b[X-1,1]) {COUNT <- COUNT + 1}}
    if (COUNT == 0) {print(“Not-duplicated”)} else {print(“dulicated”)}


    RNGkind(kind=”Mersenne-Twister”); 임의의 수를 만들어내는 기본 방법에 대한 이야기인것 같은데 잘 모르겠음.

    NUMBER <- 700; 몇 개를 만들어낼 것인가에 대한 지정

    a <- matrix(nrow=NUMBER, ncol=1); 만들어낸 수를 입력하는 행렬을 만들기
    b <- matrix(nrow=NUMBER, ncol=1); 중복 확인을 위한 같은 크기의 행렬을 만들기

    a[,1] <- trunc(runif(NUMBER) * 10e07); 대충 경험상 100만을 곱해서 소수점 이하를 버리는 경우를 취하면 중복 하지 않는 숫자를 만들기가 쉬웠다.
    b[,1] <- sort(a[,1]); 행렬a에 입력된 수를 오름차순으로 정렬하여 b에 입력하기.

    COUNT <- 0; 중복이 있는 경우를 확인하기 위한 초기값 설정
    for (X in 2:NUMBER){if (b[X,1] == b[X-1,1]) {COUNT <- COUNT + 1}}; ; 2번째 항목부터 중복을 확인하여 중복이 있을 경우 COUNT 항목에 1씩 더한다.

    if (COUNT == 0) {print(“Not-duplicated”)} else {print(“dulicated”)}; 중복이 없으면 COUNT 값은 초기값 그대로 0이 되기 때문에 Not-duplicated 가 보이게 된다.