[2] 좋은 마이크로어레이
제대로 된 마이크로어레이가 되려면 이들 모든 과정이 말 그대로 정확하게 수행되어야겠죠? 우선 좋은 마이크로어레이가 어떤 것인지 생각해 보죠. 어떤 마이크로어레이가 좋은 마이크로어레이일까요? 당연히 실험 결과를 그대로 보여주는 것이 좋은 마이크로어레이가 되겠죠. 만약 실험에 잡음이 많았다면 잡음이 많게 보여주고 잡음이 없었다면 잡음이 없는 상태로 보여주는 마이크로어레이가 좋은 마이크로어레이입니다. 없는 데이터를 만들어내거나 있는 데이터를 숨기는 마이크로어레이는 좋은 마이크로어레이가 아니죠. 여기서 한 가지 문제가 되는 것은 우리는 도대체 실험이 어떻게 되어야 하는 것인지를 알 수가 없다는 것입니다. 도대체 지금 우리가 한 실험 결과가 어떻게 나와야 하는 것인지를 알 수가 없습니다. 그런데 어떻게 어떤 마이크로어레이가 좋은 것인지를 판단할 수 있을까요?
실제로 이 문제는
by 은서아빠 | 2004/06/06 18:17 | 본격 마이크로어레이 | 트랙백 | 덧글(0)
[7] cDNA 마이크로어레이 2.
그럼 이제 한 번 생각해 봅시다. cDNA 마이크로어레이에서 핵심이 되는 것은 검출 유전자인 cDNA입니다. 앞의 글에서 설명한 것은 어디까지나 원리에 관한 것이었고, 실제로는 어떻게 될 것이냐 하는 것을 생각해 보자는 겁니다.
세포내에서 RNA를 이용해 cDNA를 만드는 과정은 역전사(reverse transcription)으로 알려져 있습니다. 역전사를 이용해 cDNA 라이브러리를 만드는 과정은 보통 이렇게 진행됩니다. 세포막 안에 들어있는 내용물을 몽땅 쏟아냅니다. (보통 lysis라고 부르죠) 그런 다음 mRNA를 정제합니다. (세포핵에서 DNA 전사가 일어나지만 이때 만들어지는 RNA는 그냥 primary RNA라고 하죠. 그게 세포핵막을 거쳐 세포질로 나오는 과정에서 몇 가지 과정을 거친다는 것은 잘 알려진 사실입니다. 대표적으로 primary RNA 가운데 DNA의 인트론 부분에서 전사된 부분을 들어냅니다(RNA splicing). 이렇게 해서 엑손 부분에 의한 RNA만을 골라내게 되죠. 그리고 primary RNA의 5' 부분에 모자를 씌우고 (capping) 3' 부분에는 염기 A를 왕창 붙입니다(poly-A tail). 최종적으로 이렇게 만들어진 RNA를 mRNA라고 부릅니다.) 세포내에서 역전사가 진행될 때 활약하는 효소가 역전사 효소(reverse transcriptase)인데 이놈이 제대로 활약을 하려면 프라이머라는 조그만 RNA조각이 mRNA에 붙어 있어야 합니다. 이 경우 프라이머는 그냥 mRNA의 꼬리쪽에 달린 여러 A 염기에 달리도록 하기만 하면 되기 때문에 이 경우 프라이머는 T로만 구성되면 됩니다. 이제 이렇게 프라이머가 붙은 mRNA에 역전사 효소가 작동을 하면 mRNA를 본으로 cDNA가 mRNA를 따라서 만들어집니다. 이때는 mRNA가 cDNA에 달라붙은 상태인데 여기에 RNase H라는 놈을 가하면 이놈은 mRNA-cDNA 쌍에서 mRNA만을 군데군데 녹입니다. 그런 다음 DNA전사효소 (transcriptase)가 여기에 작용해 cDNA 쌍을 만들게 됩니다. DNA전사효소가 제대로 작동을 하려고 해도 프라이머가 필요한데 이때는 아직 완전히 녹지 않고 군데군데 남아 있는 mRNA의 조각들이 바로 프라이머의 역할을 합니다. 이렇게 만들어진 cDNA쌍을 플라즈미드나 바이러스 벡터에 끼워놓은 다음에 엄청난 숫자로 늘리게 되는데 하나의 세포에서 만들어진 모든 cDNA를 개별적으로 플라즈미드나 벡터에 끼워놓은 전체를 가치켜 cDNA 라이브러리라고 하죠.
보통은 cDNA 마이크로어레이를 만들 때, 이렇게 구성된 라이브러리를 통째로 삽니다. 많은 회사들이 라이브러리를 통째로 제공하고 있기 때문에 이걸 굳이 개별 연구자가 할 필요는 없죠. 그런 다음 라이브러리에 들어있는 각 cDNA를 벡터에서 분리해서 그 양을 PCR을 이용해서 늘입니다. 그렇게 해야 cDNA 마이크로어레이를 만드는데 필요한 모든 cDNA를 가질 수 있기 때문이지요. 그런 다음에 개별 cDNA를 슬라이드에 붙여서 마이크로어레이를 만듭니다. 이상의 과정이 다 수행되었을 때 비로소 하나의 마이크로어레이가 만들어 집니다.
현실적으로 생각해 봅시다. 이 모든 과정이 과연 다 제대로 수행될까요?
by 은서아빠 | 2004/06/06 07:21 | 마이크로어레이 입문 | 트랙백 | 덧글(0)
정말로 거시기한 미국의 크레딧 시스템
앞에서도 말씀드렸는데 미국에서 크레딧 시스템은 정말 거시기 합니다. 오늘은 그놈의 크레딧 시스템 때문에 정말로 거시기했던 경험을 말씀드릴까 합니다. 이 일은 바로 오늘 일어난 일입니다.
오늘 제가 휴대폰을 하나 사보겠다는 일념으로 서킷 시티라는 전자제품 전문 상점을 갔더랬습니다. (보통은 휴대폰이 엄청 비싸지만 내일까지는 특별 세일 기간이라서 처음 가입자는 싸게 가입할 수 있기 때문 이었습니다. 원래는 엘지 제품으로 250불 넘게 하는 건데 휴대폰 회사에서 보조금이 나와서리 가격이 100불 정도로 떨어졌습니다만 재밌는 것은 사고 난 다음에 휴대폰 회사로 샀다는 증명과 함께 편지를 보내면 메일 인 리베이트라고 해서 100불을 그냥 돈으로 되돌려 주는 그런 행사기간이었거든요. 그러니 휴대폰은 공짜로 갖는 셈입니다. 공짜까지는 아니더라도 이런 메일 인 리베이트가 괸장히 흔한 그런 일입니다. 미국은 진짜 재밌는 나랍니다. ^_^) 기계를 하나 골라서 휴대폰 서비스를 신청하고 종업원이 필요한 내용을 인터넷으로 입력하는데 ...
이게 자꾸 튕겨나오는 겁니다. 거기 종업원도 조금 황당해 하더군요. 원래 그런 일이 없었답니다. 그러더니 어디로 전화를 겁니다. 다른 전화번호도 적고 어쩌고 하면서 한참을 시간을 보내더니 ... 아무래도 제가 크레딧이 없어서 미안하지만 서비스를 개통할 수가 없다는 겁니다. 크레딧을 조회하면 어디 외계에서 떨어진 사람처럼 아무 것도 안 나온다구요. T_T 당연하지, 나야 한국에서 여기 온지 넉달 째 들어가는 초짜니까. 근데 아니 뭔놈의 크레딧이 휴대폰을 신청하는데도 필요하냐고 ...!
그래서 오늘은 이 초짜가 그놈의 크레딧 때문에 휴대폰 서비스를 신청하지 못 했답니다. 크레딧이 없으면 미국에서는 진짜 뭘 하기도 어렵습니다!
by 은서아빠 | 2004/06/05 18:05 | 초짜의 좌충우돌 미국 생활 | 트랙백 | 덧글(0)
[2] 마이크로어레이 데이터 분석 패키지 개발
이 카테고리에서는 어떤 걸 다뤄야 할까 생각을 좀 했는데요 ... 목표는 두 가지 입니다. R을 익히고 이걸로 마이크로어레이 데이터를 분석하는 것. (그럼 python은? 이건 따로 다 쓸데가 있지요 ...) 근데 이걸 따로 한다고 생각하면 ... 좀 무미건조하죠, 그렇지 않나요? 뭔가 흥미로운 게 있어야 할텐데. 그래야 계속 할 생각도 나고 ... 그래서 제가 생각했습니다. 이 카테고리의 목표는 마이크로어레이 데이터 분석 시스템의 구축으로!!! 하하하, 정말 신나지 않습니까? 마이크로어레이 데이터 분석 시스템을 직접 만들 수 있다는 사실이? 뭐 물론 쉽지는 않겠지요. 하지만 완전히 불가능한 것도 아닙니다. 직접 해봐서 아는데 마이크로어레이 데이터 분석 시스템을 직접 만드는 건 정말 쉽지는 않지만 불가능한 것도 아닙니다. 확실한 것은 여러분도 하실 수 있다는 겁니다.
그런데 이런 소프트웨어 시스템을 만드는 데서 가장 중요한 것은 어떤 언어를 쓰느냐가 아닙니다. 그죠? 아시는 분은 다 아시겠지만 ... 실제로 제일 중요한 것은 그 밑바탕이 되는 설계입니다. 설계가 제대로 되어있지 않은 채로 소프트웨어를 만든다는 것은 말 그대로 설계도 없이 건물을 짓는 것과 같죠. 뭐 어떻게 어떻게 해서 건물이 다 지어졌다고 하더라도 아마 비가 오면 천정에서 비가 셀지도 모르고 밖에서 나는 소리 때문에 밤 잠 설치게 될지도 모릅니다. 혹시나 잘못해서 이층에서 쿵쿵 뛰다 바닥이 내려앉을지도 모르죠. 암튼 말그대로 설계가 제대로 되지 않은 상태로는 집을 지을 수도 없고 소프트웨어를 만들 수도 없습니다.
그럼 설계를 제대로 하려면 뭐가 필요한가요? 집을 설계한다면 당연히 집에 대해서 잘 알아야 합니다. 우리는 집에서 사니까 집에 대해서 잘 아는 게 아닌가 라고 반문 할 수도 있겠지만 ... 생각해 보면 확실히 집에 살아서 집을 잘 아는 것과 설계를 잘 하는 것은 완전히 다른 문제겠죠? 예를 들어 집을 지을 때 기둥이 약하면 천장과 서까래 등 기둥을 짓누르는 구조물들을 지탱할 수가 없게 되겠지만 불필요하게 기둥이 크거나 개수가 많으면 돈만 많이 들이고 쓸모없는 공간만 늘이게 되는 셈일 겁니다. 배관이나 전선 같은 것은 잘못 하면 경을 칠테니 세심하게 신경써야 하겠죠? 즉, 집을 잘 설계하기 위해서는 뭐가 얼마나 필요할지를 잘 알아야 하는데 그것은 그게 어디에 필요하고 어떻게 필요하고 사용가능한 것은 어떤 게 있으며 그걸로는 얼마나 필요한지를 결정해야 합니다. 마찬가지로 소프트웨어의 설계에서도 우리가 만들고자 하는 녀석이 뭘 뭘 해야 하고, 그걸 하는데 뭐 뭐가 알려져 있고 그것들을 사용하려면 어떻게 해야하고 등등 암튼 안팎으로 속속들이 잘 알아야 합니다. 그죠? 결국 마이크로어레이 데이터 분석 시스템을 만들기 위해서는 마이크로어레이 데이터 분석에 대해서 모든 것을 제대로 알고 있어야만 가능해 진다는 얘기가 되겠습니다. 마이크로어레이 데이터 분석 시스템의 구축과 마이크로어레이 데이터 분석에 대한 이해는 뗄레야 뗄 수 없는 관계에 있다는 것입니다.
그래서 앞으로 필요한 지식에 해당하는 내용은 본격 마이크로어레이 카테고리에서 다룰 생각입니다. 그 지식을 바탕으로 본격적인 분석 시스템에 해당하는 내용은 여기서 다루도록 하죠. 모든 분들에게 건투를 빕니다.

참, 그러고 제가 예전에 분석 시스템을 만들면서 함께 일했던 사람들에게 이 일에 대해서 얘기를 해봤는데 다들 재밌어 하더군요. 조만간 이 사람들과 함께, 그리고 여러분들과 함께 이 일을 추진할 생각입니다.
by 은서아빠 | 2004/06/05 17:51 | R-Python-마이크로어레이 분석 | 트랙백 | 덧글(0)
전체 목록
마이크로어레이 입문
[1] 마이크로어레이 형태상 정의
[2] 마이크로어레이 시스템
[3] 마이크로어레이의 종류
[4] A-형 마이크로어레이 1.
[5] A-형 마이크로어레이 2.
[6] cDNA 마이크로어레이 1.
[7] cDNA 마이크로어레이 2.

본격 마이크로어레이
[1] 본격 마이크로어레이를 시작하며
[2] 좋은 마이크로어레이

R-python-마이크로어레이 분석
[1] S, S-plus, R
[2] 마이크로어레이 데이터 분석 패키지 개발

초짜의 좌충우돌 미국 생활
[1] 어디나 이방인은 서러워
[2] 사회보장번호 신청하러 갔던 일
[3] 미국 은행
[4] 초짜를 힘들게 하는 미국의 종업원들
[5] 한 번도 운전면허시험을 치르지 않은 인도 친구 이야기
[6] 영어만 할 줄 알면
by 은서아빠 | 2004/05/30 05:41 | 카테고리 별 글 목록 | 트랙백 | 덧글(0)
[2] S, S-plus, R
R 시스템은 기본적으로 S 언어를 기반으로 하고 있습니다. 그래서 R 시스템을 소개하기 위해서는 필연적으로 S 언어를 소개해야 할 것 같습니다.
S 언어는 AT&T 벨 연구소(지금은 루슨트 테크놀러지 사가 벨 연구소를 관리하고 있습니다)에서 데이터 분석을 위한 대화형 시스템(interactive system)의 기반기술로 1976년부터 개발되기 시작했습니다. 상당히 오랜 기간 동안 개발되고 발전된 것일 뿐만 아니라 상당히 독창적인 시스템이기도 합니다. (실제 지금도 벨 연구소는 상당한 수준의 기술을 보유하고 있을 뿐만 아니라 많은 연구가 진행되고 있습니다. 그리고 많은 시스템이 공개 소스이구요.) 이 시스템의 설계자는 John Chambers라는 사람인데 이 사람은 이 시스템의 설계에 대한 공로로 1999년에 ACM(Association for Computing Machinery) 학회로부터 Software System Award를 받기도 했습니다. (실제 이 학회에서 통계 시스템에 이 상을 수여한 것이 이것이 유일하다고 하는군요.) 이 시스템은 갱신에 갱신을 거듭해 지난 1998년에 S4가 발표되었구요. (그 이후에는 어떻게 됐는지 ... -_-;;;)
그런데 이때 미국에서 엄청난 일이 발생합니다. AT&T가 독점기업으로 인정되어 연방법원에 의해서 분할명령을 받은 것이죠. 그래서 4개인가로 쪼개지게 되었습니다. 그때 벨 연구소는 루슨트 테크놀러지사가 떠않게 되었구요. 예전 AT&T는 엄청난 규모의 기업이어서 벨 연구소를 운영하는 것이 별 문제가 아니었지만 루슨트는 쪼개지면서 규모도 작아졌고 경쟁도 심해졌죠. 덕분에 연구소를 예전의 규모로 운영하는 것이 쉽지 않아졌습니다. 그래서 돈이 될만한 기술은 팔기로 작심을 한 모양인데 이 가운데 하나가 S 언어였습니다. 그래서 S 언어는 루슨트로부터 Insightful이라는 기업으로 기술이전 되었고 Insightful이 이 언어를 바탕으로 사용자 환경을 획기적으로 개선한 버전을 내 놓았는데 이것이 바로 S-plus입니다. 만약 여러분이 S-plus 이전의 통계 소프트웨어를 아신다면 S-plus가 얼마나 그들 소프트웨어에 비해서 사용자 환경이 개선된 것인지 알게될 겁니다.
R 시스템은 1990년대 뉴질랜드의 오클랜드 대학 통계학과에 재직중이던 Robert Gentleman과 Robert Ihaka 두 사람에 의해서 시작된 시스템입니다. 실제 디자인 과정에서 두 사람이 어떻게 하기로 한 것인지는 알 수 없지만 상당히 S 언어와 비슷한 구조를 가졌습니다. 그래서 많은 경우 R 언어로 쓴 코드는 S 언어를 기반으로 하는 시스템(예를 들어 S-plus)에서 문제 없이 실행됩니다. (하지만 이건 조심해야 합니다. 경우에 따라서는 결과가 완전히 똑같지는 않기 때문입니다. 그래서 항상 확인 또 확인 해야합니다.) 몇 명의 사람들이 이 두 사람과 함께 시스템을 개발하다가 1997년에 이르러서는 R-core 팀을 구성, 분격적으로 R 시스템의 개발과 개선에 집중하게 됩니다. (John Chambers도 이 코어 팀의 한 일원입니다) 그러던 것인 2002년에는 R 재단(foundation)을 구성 지금에 이르고 있습니다.
R언어는 GNU의 GPL을 따르는 공개 소스 시스템입니다. 여러분은 이를 무료로 설치할 수 있고 내용을 바꿀 수도 있습니다. 다만 상업적인 이용의 경우는 제한이 따릅니다. 뿐만 아니라 R 시스템을 이용하면 여러분은 다음과 같은 일을 할 수 있습니다.
(1) 자료의 처리와 저장을 수월하게 할 수 있고
(2) 자료의 통계적인 분석을 수월하게 할 수 있을 뿐만 아니라
(3) R의 강력한 그래픽 기능을 이용, 빼어난 그래픽 결과를 얻을 수 있고
(4) R 언어를 이용하여 모든 처리를 여러분의 목적에 맞게 조작할 수 있습니다.
더불어 현재 많은 연구자 그룹이 R언어를 이용하여 연구를 수행하고 그 결과를 공유하고 있기 때문에 여러분의 목적에 필요한 기본 기능을 굳이 여러분이 직접 다 작성할 필요가 없이 이미 다른 연구자가 만들어 놓은 결과를 손쉽게 응용할 수도 있습니다. 이 부분이 특히 마이크로어레이를 연구하는 연구자에게 있어서 R 언어가 매력적인 이유인데 실제 마이크로어레이를 연구하는 연구자에게 R 언어는 일종의 표준적인 언어가 되어 가고 있습니다. 물론 마이크로어레이를 연구하는데 이용하도록 많은 상용 시스템이 있지만 이들은 많은 경우 기능에 비해서 지나치게 비싸거나 혹은 기능을 개인의 목적에 맞게 개선하기가 쉽지 않습니다. 실제로 매일같이 쏟아지는 새로운 결과를 이용해보고 싶어도 불가능할 때가 많죠. 그러고 많은 경우 시스템이 블랙박스의 형태이기 때문에 도대체 특정한 기능이 어떻게 구현되었는지 어떤 점이 개선 가능한지에 대한 아이디어를 얻기가 어렵도록 되어 있습니다. (이런 점은 마이크로어레이 연구자들에게는 불만족스러운 부분이 되겠죠? 물론 마이크로어레이로 결과를 얻어야 하는 분들에게는 편리하겠지만 말입니다. 어떻게 돌아가건 결과를 얻는 게 중요한 경우도 많기 때문입니다.)
다음 편부터는 실제 R언어를 어떻게 사용하는지에 대해 다루고자 합니다. 어떻게 쓰는지를 알아야 이것을 이용해서 분석을 할 수 있을 것이기 때문입니다. 참고로 R언어에 대해서 더 많은 것이 알고싶으시면 http://www.r-project.org 사이트를 방문하시기 바랍니다. S-plus에 대해 궁금하시면 http://www.insightful.com 사이트를 방문하시면 됩니다.
by 은서아빠 | 2004/05/30 05:32 | R-Python-마이크로어레이 분석 | 트랙백 | 덧글(0)
[6] cDNA 마이크로어레이 1

cDNA 마이크로어레이는 말 그대로 cDNA가 직접 슬라이드에 붙어 있는 형태의 마이크로어레이를 말합니다. (위에 그림이 있습니다. 여기서 슬라이드의 가운데 바둑판 모양으로 배열된 점이 각 cDNA 스팟입니다.) 물론 맨 슬라이드에는 cDNA가 붙어있지 않으니까 표면에 약간의 처리를 해야합니다. (비슷한 처리를 A-형 올리고칩을 만들 때도 했었죠.) 그 위에 cDNA를 얹은 다음 약간의 다른 처리 (UV cross link 등)를 하면 cDNA가 붙습니다. 그런데 이렇게 cDNA를 슬라이드에 붙이면 한 쌍의 cDNA가 이미 결합한 상태이기 때문에 이 상태에서 우리가 샘플에서 mRNA를 추출해서 결합반응(hybridization)을 수행한다고 해도 mRNA와 검출 유전자가 결합할 여지가 없는 셈이죠. 그래서 cDNA를 슬라이드에 붙인 다음에는 이 슬라이드를 담고 있는 용액의 온도를 높여서 결합된 두 cDNA 가닥이 서로 떨어지게 한 다음에 생물학적으로 처리해서 한 가닥을 완전히 없애고 사용합니다.
앞에서도 언급한 대로 cDNA는 유전자 부분 가운데 단백질로 번역되는 부분을 가리킵니다. 원핵 생물(procaryote)이 아닌 진핵 생물(eucaryote)의 경우 DNA 가운데 유전자 부분은 연속적이지 않습니다. 크게는 엑손과 인트론으로 나눠져 있고 그 외에도 UTR이라고 부르는 전사되지는 않지만 유전자의 전사에 중요한 부분도 있죠. 암튼 사람들은 DNA에서 cDNA를 직접 구하는 좋은 방법을 아직은 갖고 있지 못 합니다. (불행하게도 사실은 아직 전체 DNA에서 유전자 부분을 구분하거나 그 내부 구조를 파악하는 것도 완벽하지 못하죠.) 그렇지만 세포는 그 작업을 아주 완벽하게 수행해 냅니다. 그래서 사람들이 cDNA를 얻을 때는 세포가 가지고 있는 그 도구들을 이용합니다. 소위 역전사(reverse transcription)라는 과정인데 유전자가 세포핵에서 발현된 다음 핵막을 통과해 세포질로 나오는 과정에서 엑손에서 전사된 부분만 남기고 인트론에서 전사된 부분을 없앤 다음 mRNA를 만들죠. 결국 mRNA를 거꾸로 DNA로 만든 것을 cDNA라고 하고 이 과정을 역전사라고 하는데 이 과정은 아주 잘 알려져 있어서 뭐 여기서 굳이 자세하게 언급할 필요는 없겠군요.
이 과정을 여기서 언급하는 이유는 이 모든 과정이 전체 유전자에 대해서 적용된다는 것을 밝히기 위해서 입니다. 우리가 하나의 특정한 cDNA를 골라서 처리할 수 있는 방법은 없습니다. 그러니까 전체 유전자에 대해서 mRNA를 만들고 역전사를 거쳐서 cDNA를 통째로 만든 다음에 (이를 cDNA 클론이라고 부르죠) 여기서 서열 조사를 거쳐야만 원하는 녀석을 집어낼 수 있습니다. 여기서 한 가지 알 수 있는 사실은 우리가 DNA의 전체 서열이나 특정한 유전자의 서열 등을 알 필요가 없다는 사실입니다. (여러 올리고칩 계열의 마이크로어레이와는 전혀 다르죠!) 뿐만 아니라 원칙적으로는 한 번의 조작을 거쳐서 모든 세포의 cDNA 조합을 완전히 얻을 수 있기 때문에 이를 이용하면 한 종의 웬만한 cDNA를 다 포함하고 있는 마이크로어레이를 만들 수 있습니다. (물론 유전자가 전사되는 과정에서 여러 가지 생물학적인 혹은 기타 환경적인 요인에 의해서 모든 유전자가 전사되지는 않기 때문에 모든 유전자의 cDNA가 다 만들어 지는 것은 아니지만 ...) 유명한 회사에서는 이렇게 cDNA 클론을 만들어서 팔기 때문에 구하기도 쉽습니다. (돈만 있으면 됩니다!) 그래서 cDNA 마이크로어레이가 마이크로어레이를 직접 만들어서 이용하려는 사람이 많은 것이죠. (그런데 여기서 한 가지 주의를 당부드린다면 혹시 지금 실험실에서 cDNA 마이크로어레이를 만들어서 실험하겠다는 생각을 가지고 계시는 분이 있다면 웬만하면 말리고 싶습니다. 우선 여기서 만들기 쉽다고 했지만 그거야 원리상 다른 마이크로어레이에 비해서 쉽다는 것이지 실제로 실험실에서 만들어서 뭘 해보겠다고 한다면 그건 완전히 다른 얘기가 됩니다. 그리고 만든다는 것과 그렇게 해서 나온 데이터가 쓸만하다는 것은 완전히 달라서 제가 몇몇 분들에게 전해들은 바로는 직접 만들기 시작해서 쓸만한 데이터가 나오는데까지 적게 2년은 걸린다는 겁니다. 그러니 그 사이에는 결과가 나오지 않겠죠? 이 정도를 각오하고 있다면 뭐 사정은 다르지만 말입니다. 그리고 혹시 학생에게 마이크로어레이를 만드는 일을 시킬려고 하신다면 이건 완전히 넌센스라는 사실을 말씀드리겠습니다. 이유는 cDNA 마이크로어레이를 만드는 과정에서 여러 가지 조작이 필요합니다. 예를 들어 마이크로어레이에 6000개의 유전자를 담으려면 최소한 6000개의 cDNA 클론에서 충분한 양의 cDNA를 만들어내야 합니다. (이 과정을 소위 PCR이라고 하죠?) 근데 PCR 6000번 할려면 ... 이거 장난이 아니죠? 아무리 기계가 좋아진 세상이라고 하더라도 6000번은 한 사람이 몇날 며칠을 꼬박 매달려야할 만큼의 양이라고 해야할 것입니다. 무슨 말인가하면 학생인 경우 몇 년을 그냥 PCR만 하다가 세월이 간다는 얘깁니다. 다른 학생은 비슷하게 몇 년을 다른 과정(예를 들어 결합반응)만 줄창 하다가 세월이 갈 겁니다. 게다가 이 모든 조작 과정은 최종적으로 데이터에 오차를 만드는 요인이 됩니다. 따라서 상당히 숙련된 인력이 과정을 집행해야만 좋은 데이터가 지속적으로 생산되는데 학생의 경우는 몇 년간 숙련된 다음에 자신의 길을 찾아 떠나게 되니까 다른 학생이 다시 그 일을 맡아서 해야 합니다. 결국 다시 지루한 데이터 개선 과정을 거쳐야 한다는 것이고 그 사이에 또 쓸만한 데이터는 못 얻는다는 것이죠. 이래 저래 제가 볼 때 학생에게 맡길 일은 아닌 것 같습니다. ^_^)
이렇게 해서 대량의 cDNA가 만들어졌다면 이제 바둑판 모양으로 슬라이드에 붙여야 하는데 이 과정은 순전히 마이크로어레이어(microarrayer)라는 기계가 합니다. 기본적인 과정은 만년필촉같은 (실제로 생긴 것은 좀 다르지만 이해하기는 쉽도록 예를 들었습니다) 핀이 증폭된 cDNA 용액이 담긴 피펫에서 일정량의 용액을 집은 다음 컴퓨터로 정해진 위치에 해당 용액을 찍는 방식으로 진행됩니다. (많은 양의 검출 유전자를 슬라이드에 붙여야 하기 때문에 정확하고 미세한 조작이 필요해서 컴퓨터가 제어하도록 합니다.) 물론 이 과정에서 하나의 cDNA를 정해진 위치에 찍은 다음에는 잔여물이 남지 않도록 핀을 씻고 말리는 과정이 몇 번에 걸쳐 반복됩니다. 그렇지 않으면 원래 원했던 DNA가 아닌 다른 DNA가 그 위치에 남아 있어서 데이터에 오류를 증가시키기 때문입니다. (보통 이종결합::cross-hybridization::이라고 합니다.) 그런데 보통 마이크로어레이를 만들 때는 하나의 핀으로 모든 점을 다 찍지는 않습니다. 너무 시간이 걸릴 뿐 아니라 같은 핀을 반복해서 사용하면 아무리 깨끗하게 씻고 말린다 하더라도 찌꺼기가 핀에 붙어서 성능을 저하시키기 때문입니다. 결국 여러 핀을 동시에 사용하게 되는데 이때는 하나의 핀은 하나의 영역에 찍히는 모든 점을 만듭니다. 이렇게 하나의 핀에 의해 만들어진 영역을 블록이라고 하고 그래서 사용한 핀의 개수가 블록의 개수가 됩니다. (나중에 실제 데이터의 분석에서 블록의 개념은 중요하기 때문에 기억하시기 바랍니다.)
by 은서아빠 | 2004/05/29 18:09 | 마이크로어레이 입문 | 트랙백(1) | 덧글(0)
영어만 할줄 알면 ...
우리나라는 정말로 문화적으로 일원화된 나라입니다. 오죽하면 우리가 학교에서 배울 때, 오랜 역사를 지닌 단일 민족, 단일 국가, 단일 문화라고 수없이 듣지 않았습니까? 늘 생각한 건데 과연 그게 좋은 일인지 나쁜 일인지 헷갈릴 때가 있습니다.
여기 미국에 왔더니 미국 원주민(?)보다 어떨 때는 외국에서 온 사람들을 더 많이 만날 때가 있습니다. 특히 제가 일 하는 연구소에는 인도 사람, 중국 사람이 엄청 많습니다. (당연한 것인지는 잘 모르겠지만 아무튼 이 두 나라의 인구는 전 세계에서 다섯 손 가락 안에 드는 그런 인구 대국입니다.) 인도 출신의 아줌마 연구원이 있는데 이 연구원과 얘기를 할 때면 '아 그렇구나'하고 느낄 때가 많습니다. 어느날 하루는 이 아줌마랑 얘기를 하고 있는데 이 아줌마가 제가 우리나라에 있을 때 만든 발표자료를 보고 저보고 '우리나라 말로 발표 잘 하냐'고 묻는 겁니다. '무슨 질문이 이렇지? 내가 잘 못 들었나? 자기 나라 말로 발표 못 하는 사람도 있나?' 제가 무슨 뜻인지 몰라서 멍하니 있으니까 그 아줌마가 '자기는 인도 말로 발표를 잘 못 한다'는 겁니다. 그 아줌마의 자초지종은 이렇습니다.
인도는 땅 떵어리가 엄청 넓고 게다가 지역별로 쓰는 언어도 엄청 제각각이라는 겁니다. 그래서 도저히 하나의 언어로 통일할 수 없는 그런 상태라는군요. 그 덕분에 학교에서 애들에게 말을 가르칠 때, 표준어는 영어라고 합니다. (그러니까 인도에서 교육을 받는 사람이면 영어를 어느 정도 할 줄 안다는 소리겠죠.) 그래서 학교에서 듣고 말 하고 하는 것이 다 영어랍니다. 당연히 발표도 영어로 하구요. 그래서 자기는 한 번도 자기네 말로 발표를 해본 적이 없다는군요. 덕분에 자기네 나라 말로는 발표를 못 한다고 하더라구요.
이게 참 부러워해야 할 일인지 아니면 우리는 다행이구나라고 생각해야 할 일인지 잘 모르겠지만 암튼 덕분에 미국에서는 IT와 관련된 분야에 사람이 부족하니까 인도에서 마구 사람을 데려옵니다. 왜냐하면 이 사람들은 영어로 일을 하고 생활 하는데 전혀 지장이 없기 때문이죠. 필요한 분야에 능력도 있고, 노동력도 비싸지 않고, 게다가 영어로 일을 시켜도 잘 알아듣고 대화를 통해서 논의를 진행할 수도 있으니 그런 사람들을 누가 마다하겠습니까? 오죽하면 미국에서는 인도 사람을 위해서 협정을 체결했다고 하더군요. 그러니까 인도 사람이 미국에서 돈을 벌어서 세금을 낼 때, 전체 번 돈에서 일정한 금액을 그냥 공제해 주도록요. 인도 친구가 직접 해준 얘기고 세금 공제에 대한 국세청의 설명서에 그렇게 나와있다니까 그런 줄 알아야겠죠. 실제로 제가 지금 H1 비자로 미국에 와서 일을 하는데 이 비자는 단기취업비자입니다만 이 비자를 만든 실제 이유는 순전히 인도에서 더 많은 사람들을 빨리 데려오기 위한 것이었다고 할 정도니까요.
암튼 인도 아줌마랑 얘기할 때마다 그런 생각이 듭니다. 사실 능력으로 따지면 우리나라 사람들이 인도 사람들에 비해 결코 떨어지지 않는데 ... 영어만 되면 얼마나 좋아 ...
by 은서아빠 | 2004/05/27 15:47 | 초짜의 좌충우돌 미국 생활 | 트랙백 | 덧글(0)
한 번도 운전면허시험을 치르지 않은 인도 친구 이야기
제가 다니는 연구소에 있던 인도 친구의 얘기를 해드릴까 합니다. 이 친구는 이제까지 한 번도 운전면허시험을 치르지 않았지만 버젓이 미국에서 운전면허를 발급 받아 운전을 하고 다닙니다. 그 면허는 진짜입니다. 법적으로 아무 하자가 없는 운전면허증입니다. 이게 어떻게 가능하냐구요? 흠, 지금부터 그 얘기를 해드리고자 합니다.
우선 이 친구는 인도에서 운전면허증을 발급받았습니다. 하지만 면허시험은 치르지 않았다고 합니다. 어떻게 된지는 자세하게 얘기하지 않더군요. 뭔가 인도의 내부 사정이 있겠지요. 아무튼 인도에서는 그랬다고 칩시다. 그런데 미국에서는 어떻게 운전면허시험을 치르지 않고 면허를 받을 수가 있었는지 궁금했습니다. 그런데 이 친구의 말이 인도에서 일단 국제운전면허증을 발급받았다고 합니다. 면허가 있으니 국제운전면허증은 받는게 어렵지 않았을 겁니다. 그런데 그렇다 하더라도 외국에서 발급받은 국제운전면허증은 미국에서 허용되지 않습니다. 제가 알고 있는 한 캐나다에서 발급받은 국제운전면허증이 아닌 한 그렇지 않은 다른 나라의 국제운전면허증은 미국에서는 일정한 기간이 지나면 종이조각에 지나지 않습니다.
그런데 딱 한 군데 국제운전면허증이 있으면 그걸로 미국 운전면허증을 발급해주는 곳이 있다고 하더군요. 아무런 면허 시험 없이 말입니다. 그곳이 어디냐? 바로 워싱턴 DC랍니다. (확인된 바는 아니지만 그 친구가 그랬다니 그런가 봅니다.) 그러니까 워싱턴 DC에 거주하는 사람이면 국제운전면허증을 바로 미국 내 운전면허증으로 바꿀 수 있다는 것이죠. (그런데 미국 사정을 아시는 분은 아시겠지만 워싱턴에 산다는 것은 평범한 사람이 할 수 있는 일은 아닙니다. 워낙 물가가 비싸기 때문이죠. 특히 이 인도 친구처럼 학생 신분인 경우는 더욱 그렇습니다. 워싱턴같은 국제 정치의 중심지는 외교관정도나 되야 살 수 있을까 그렇지 않으면 살기가 어렵죠. 그때 그 친구는 버지니아 주에서 살았다고 하더군요. 그런데 거기에 거주해야 미국 운전 면허증이 나오는데 그걸 어떻게 했을까요? 흠 ... 그 내막도 잘 공개하지 않더군요. 뭔가 방법이 있겠죠. ^_^)
암튼 카더라 통신에 따르면 미국에서 오직 한 곳 워싱턴 DC에서는 외국에서 발급받은 국제운전면허증으로 미국 내에서 통용되는 운전면허증을 발급받을 수 있습니다. 아무런 면허 시험 없이!
by 은서아빠 | 2004/05/27 15:25 | 초짜의 좌충우돌 미국 생활 | 트랙백 | 덧글(0)
[5] A-형 마이크로어레이 2.
그런데 여기서 한 가지 생각해보겠습니다. 이렇게 많은 수의 작은 영역에 직접 염기 하나씩 쌓아서 검출 DNA를 만든다고 한다면 한 층만 쌓는데도 엄청 많은 조작이 필요합니다, 그죠? 그럼 이 작업을 도대체 몇 번 해야 유전자를 제대로 나타낼 수 있을까요? 유전자 전체 부분이 아닌 그냥 단백질로 번역되는 영역만 살펴볼까요? 단백질의 기본 단위는 아미노산입니다. 하나의 단백질에는 도대체 몇 개의 아미노산이 있나요? 제가 구글로 찾아보니 작게는 62개의 아미노산으로 구성된 단백질도 있군요. 소의 심장 미토콘드리아에서 발견된 사이토크롬 C1 서브 콤플렉스랍니다. 그럼 하나의 아미노산을 만드는데 필요한 염기의 개수는 몇 개인가요? 옙, 셋입니다. (하나의 아미노산을 고유하게 결정하는 세 염기 조합을 코돈(codon)이라고 하죠. ^_^) 따라서 이 작은 단백질을 만드는데 필요한 염기의 개수는 186개가 됩니다. 이게 가장 작은 단백질이라고 합니다. 일반적으로 하나의 단백질을 구성하는 아미노산은 수천에서 수만 개가 됩니다, 그죠? 흠 ... 염기로 생각하면 그 길이가 짧지 않군요. 이걸 다 슬라이드 위에서 쌓는다고 생각하면 ... 뭐 가능은 하겠지만 엄청 비싸질텐데 그래서 장사가 되겠습니까? 실제로 장사가 될 정도의 가격으로 칩을 만들려면 ... 하나의 단위 영역에 쌓는 층의 개수가 너무 많아서는 안 될 겁니다. 왜냐하면 한 층을 쌓는데 기본적으로 한 번에 각 염기를 쌓는 조작을 해야하니까 4번의 조작이 필요합니다. 따라서 층의 수가 늘어나면 늘어날수록 조작의 횟수가 늘어나고 비용도 증가합니다. (어쨌거나 Affymetrix는 돈을 벌어야 하는 회사라는 점을 잊지맙시다.)
그래서 Affymetrix에서는 하나의 단위영역에 쌓는 층의 개수를 25개로 정했습니다. 25개? 그걸로 유전자를 대표할 수 있나요? 흠 ... 뭐 만약 25개의 염기로 구성되는 서열에서 각 위치에 나타나는 염기가 "완전히" 무작위로고 한다면 25개의 염기로 만들 수 있는 서열의 개수는 4의 25제곱이 될 것이니 충분히 하나의 종에서 나타날 것으로 예상되는 모든 유전자를 나타내는데 부족함이 없겠지만 (4의 25제곱은 1125899906842624입니다. 흠 꽤 큰 숫자군요.) ... 현실은 항상 냉정합니다. 이런 상황은 생기지 않습니다. 염기는 결코 완전히 무작위로 나타나지 않고 엄청나게 많은 DNA는 서로 비슷비슷합니다. 그러니 25개의 염기로는 확실히 부족합니다! 그럼 어떻게 하죠? 만드는 방법을 바꾸나요? 흠, 그러기에는 만드는 방법이 너무 매력적인데 ... 아니면 한 위치에 쌓는 염기의 길이를 늘리나요? 흠, 그럼 칩이 너무 비싸져서 장사가 안 될텐데 ....
여기서 Affymetrix의 엄청난 아이디어가 나옵니다. 하나의 유전자를 하나의 단위 영역으로 나타내지 말고 여러 개의 단위 영역으로 나눠서 나타내자는 것이죠. 좀더 구체적으로 얘기하면 하나의 유전자를 나타내는 단위 영역의 개수를 16개, 20개 등 10개 이상으로 합니다. 그러면 어떤 염기서열을 키울지는 어떻게 결정할까요? ... 흠, 이 부분이 바로 핵심이 되겠습니다. 아무 영역이나 마구잡이로 키우면 안되겠죠? 왜냐하면 키워야하는 서열은 하나의 유전자에 고유한 것이어야 할 테니까요. 바로 이 부분에서 바이오인포메틱스가 사용됩니다. 우선 어떤 서열을 키울지 결정해야 합니다. 그런데 이 부분에서 문제가 있습니다. 왜냐하면 비록 시퀀싱이 끝나 전체 유전체의 염기서열이 어느 정도 알려진 종이라 할지라도 (예를 들어 인간) 어느 부분이 유전자 부분인지는 아직 다 알려진 것이 아니기 때문입니다. 물론 이런 일을 하도록 고안된 프로그램들이 많이 있지만 방법에 따라 편차가 심하기 때문에 어떤 서열을 과연 키워야 할 것인지는 쉽지 않은 문제입니다. 다음으로 어떤 서열을 키울 것인지가 결정되었다 하더라도 그 가운데에서 16개나 20개 정도의 염기 25개짜리 서열을 각 유전자에서 고유하게 찾아야 합니다. 물론 유전자의 3' UTR 쪽에 가까운 영역이 많은 경우 각 유전자에 고유한 경우가 많다는 사실은 알려져있지만 그렇다고 이쪽부분의 서열만 키울 수는 없습니다. 왜냐하면 이런 경우 전체 유전자의 일부분만 사용하는 꼴이 되기 때문에 과연 데이터가 어느 정도 신뢰성이 있는지에 의문이 있을 수 있기 때문입니다. (뭐 물론 결합반응 온도도 맞춰야 하는 등 이밖에도 고려할 것이 제법 많습니다.)
그런데 Affymetrix는 또 하나의 엄청난 아이디어를 칩에 담았습니다. 바로 불완전 짝(mis-match) 검출 유전자라는 것이죠.슬라이드에 검출 유전자를 키울 때, 그 바로 아래 줄에는 원래 키우기로한 염기 서열의 (이를 완전 짝-perfect match-이라고 합니다) 가운데 염기 하나를 다른 염기로 바꿔서 키웁니다. 이는 소위 이종 결합(cross-hybridization)의 수준을 측정해서 반영하기 위한 것입니다. 즉, 앞에서 말씀드린 것처럼 염기 서열은 비록 서로 다른 유전자에서 나왔다 할지라도 비슷비슷하기 때문에 원래 의도했던 짝이 아닌 다른 짝에서 나온 염기서열과 검출 유전자가 결합을 하는 경우가 제법 많다는 것입니다. 따라서 이런 경우가 얼마나 되는지를 조사해서 전체 데이터에 반영하기 위해 Affymetrix는 불완전 짝의 아이디어를 칩에 반영한 것입니다. 대단하죠? (그런데 이 아이디어가 훌륭하기는 하지만 데이터의 분석 과정에서 엄청난 혼동을 야기하고 있다는 점도 밝혀야 할 것 같습니다. 제 개인적인 견해로는 아직까지 사람들이 불완전 짝에서 나오는 신호가 도대체 어떤 것인지를 제대로 모르는 것 같습니다. 이에 관해서는 나중에 데이터 분석 부분에서 좀 더 자세하게(?) 다뤄야 겠군요 ... 가능하다면 말이죠 ... -_-;;;)
by 은서아빠 | 2004/05/26 17:47 | 마이크로어레이 입문 | 트랙백 | 덧글(0)
< 이전페이지 다음페이지 >