<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2126853644294271188</id><updated>2011-07-28T10:11:20.843-07:00</updated><category term='잡담'/><category term='HMA'/><category term='유전체 프로젝트'/><title type='text'>정해영의 블로그 - Haeyoung Jeong's blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://haeyoungsblog.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://haeyoungsblog.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>정해영 (Haeyoung Jeong)</name><uri>http://www.blogger.com/profile/15785595805380822762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_4202ZYeNGS4/R4v1U-PCxJI/AAAAAAAAABE/4QUoPuaQwjk/S220/jeong-2007-small.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>23</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2126853644294271188.post-3767856139427371013</id><published>2010-10-05T21:59:00.000-07:00</published><updated>2010-10-06T00:52:26.823-07:00</updated><title type='text'>[HMA] 02. LIMMA를 이용하여 two-color data 다루기</title><content type='html'>Bioconductor를 설치했다면 limma도 같이 깔려 있을 것이다. 이 글에서는 박태성 외 5인 공저, "마이크로어레이 자료의 통계적 분석(자유아카데미 2005)"도 집중 참조하였다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&gt;library(limma) # 라이브러리 로드하기&lt;/p&gt;도움말을 보려면 메뉴에서 Vignettes -&gt; limma를 클릭하거나, R prompt에서 limmaUsersGuide()라고 치면 된다. R을 구동하면 파일 -&gt; 디렉토리 변경...을 클릭하여 적당히 설정하도록 하자.&lt;br /&gt;&lt;br /&gt;먼저 만들 것은 각 array에 대하여 채널에 대한 RNA target을 설명하는 텍스트 파일이다.&lt;br /&gt;&lt;br /&gt;&gt; targets &lt;- readTargets() # default target file name인 Targets.txt를 사용할 때.&lt;br /&gt;&gt; targets &lt;- readTargets("targets.txt", row.names="Name")&lt;br /&gt;&lt;br /&gt;다음으로는 .gpr 파일, 즉 intensity data를 읽어보자.&lt;br /&gt;&lt;br /&gt;&gt; RG &lt;- read.maimages(targets$FileName, source="genepix")&lt;br /&gt;&lt;br /&gt;.gpr file에는 수도 없이 많은 컬럼이 있다. 이를 다 읽어들이는 것은 아니다. source="genepix"로 읽어들이는 경우에는 F Mean을 전경, B Median을 배경으로 택한다. something에 대한 도움말이 필요하면 ?something이라고 치거나 help(something)이라고 하면 된다. 여기에서 골치아픈 문자 '$'가 나왔다. Perl에서는 변수명을 $로 시작하지만, R에서는 객체의 멤버를 참조하는 경우에 사용한다. Intensity range를 알아보려면 summary(RG$R) 또는 summary(RG$G)라고 하면 된다. intensity data가 제대로 읽혔는지 확인하려면 show(RG)라고 치면 된다.&lt;br /&gt;&lt;br /&gt;MA plot을 그려보자.&lt;br /&gt;&lt;br /&gt;&gt; plotMA(RG, array=1) # array에는 target file에서 정의된 SlideNumber를 지정하면 된다.&lt;br /&gt;&lt;br /&gt;여러 슬라이드의 것을 한번에 그릴 수는 없을까?&lt;br /&gt;&lt;br /&gt;이제 본격적인 작업에 들어가 보도록 한다. limma manual의 제 6 장, "Pre-Processing Two-Color Data"를 공부해 본다. 이 과정에서는 background 교정과 normalization이 가장 중요한 주제이다. Normalization(표준화)이란 자료에 포함된 오차들 중 생물학적인 요인 이외에 다흔 체계적인(systematic) 요인으로 인하여 발생되는 편의(bias)를 제거하는 과정이다. 가장 만만한 방법(?)으로서 global loess normalization을 해 본다.&lt;br /&gt;&lt;br /&gt;&gt; MA &lt;- normalizeWithinArrays(RG, method="loess") # global loess normalization&lt;br /&gt;&gt; MA &lt;- normalizeWithinArrays(RG) # print-tip loess normalization&lt;br /&gt;&gt; plotPrinTipLoess(MA)&lt;br /&gt;&lt;br /&gt;다음으로는 between-slide normalization을 한 뒤 box plot을 해서 차이를 알아보자.&lt;br /&gt;&lt;br /&gt;&gt; boxplot(MA$M~col(MA$M),names=colnames(MA$M))&lt;br /&gt;&gt; MA &lt;- normalizeBetweenArrays(MA,method="scale")&gt; boxplot(MA$M~col(MA$M),names=colnames(MA$M))&lt;br /&gt;&lt;br /&gt;여기까지 했으면, 이제 normalized data를 파일에 저장할 줄 알아야 하는데... 기본적인 R 문법을 모르는 상태에서 하려니 정말 어렵다! 별로 그러고 싶지 않았었는데, 결국은 100쪽짜리 limma user's guide를 인쇄하여 제본하고 말았다.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2126853644294271188-3767856139427371013?l=haeyoungsblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://haeyoungsblog.blogspot.com/feeds/3767856139427371013/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2126853644294271188&amp;postID=3767856139427371013' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/3767856139427371013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/3767856139427371013'/><link rel='alternate' type='text/html' href='http://haeyoungsblog.blogspot.com/2010/10/hma-02-limma-two-color-data.html' title='[HMA] 02. LIMMA를 이용하여 two-color data 다루기'/><author><name>정해영 (Haeyoung Jeong)</name><uri>http://www.blogger.com/profile/15785595805380822762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_4202ZYeNGS4/R4v1U-PCxJI/AAAAAAAAABE/4QUoPuaQwjk/S220/jeong-2007-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2126853644294271188.post-970015393815283332</id><published>2010-10-05T20:41:00.001-07:00</published><updated>2010-10-05T20:54:10.126-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HMA'/><title type='text'>[HMA] 01. Haeyoung's microarray analysis - 시작하는 글</title><content type='html'>먼저 [HMA](Haeyoung's Microarray Analysis)로 시작하는 글들은 웹을 통해 마이크로어레이 데이터 분석 방법을 소개하는 목적으로 쓴 글이 아님을 분명히 밝혀 둔다. 1998-1999년에 cDNA microarrayer와 scanner를 직접 만들어보고자 노력을 한 일이 있었으나, 실제 나만의 microarray data를 얻은 것은 작년이 처음이었다. 스탠포드대의 패트릭 브라운에 의해 이 개념이 도입되어 널리 퍼진지도 벌써 15년 가까운 세월이 흘렀다. 나는 그 사이에 오로지 미생물 genome sequencing/analysis에만 매달려 있었고, microarray 실험이 돌아가는 것을 옆에서 보기만 하였지 직접 내 손으로 해 본 일은 없었다.&lt;br /&gt;&lt;br /&gt;이제 세월이 많이 흘러서 더 이상  컴퓨터를 이용한 기능 예측에만 머물 수는 없게 되었다. 그동안 애써 외면하고(?) 있었던 마이크로어레이 실험과 분석에 대한 경험을 직접 쌓아야 될 필요성을 절실히 느끼게 되어, 이제 나름대로 공부를 시작하면서 관련 정보들을 기록하기 위해 이 글을 시작하게 된 것이다. 나 자신도 이제 시작하는 입장일진대, 감히 다른 입문자를 위한 길잡이 노릇을 할 생각은 언감생심이로다.&lt;br /&gt;&lt;br /&gt;자, 그러니 혹시 마이크로어레이 데이터 분석에 대한 기초를 공부하고자 웹 검색을 통해서 이 블로그를 들어오신 분은 실망하셔도 어쩔 수 없다. 그런 개인적인 목적으로 작성한 글이라면 뭐하러 웹에 공개하느냐고 물으신다면... 사무실이든 집이든 편하게 글을 작성하기 위해서 그렇게 결정했다고 어줍잖은 변명을 늘어놓으련다.&lt;br /&gt;&lt;br /&gt;나에게 있는 것은 무엇인가? Perl에 대한 지식, 몇 편의 논문과 단행본, 그리고 몇 장의 GenePix 4000B 데이터들이다. 기본적으로 R을 이용한 데이터 분석을 시도해 볼 것이다. 필요하다면 TM4 software suite의 MultiExperiment Viewer나 CLC Genomics Workbench(상용)도 시도해 볼 것이다. 그러나 기본을 이해하는 데에는 R이 좋은 환경인것 같다.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2126853644294271188-970015393815283332?l=haeyoungsblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://haeyoungsblog.blogspot.com/feeds/970015393815283332/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2126853644294271188&amp;postID=970015393815283332' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/970015393815283332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/970015393815283332'/><link rel='alternate' type='text/html' href='http://haeyoungsblog.blogspot.com/2010/10/hma-01-haeyoungs-microarray-analysis.html' title='[HMA] 01. Haeyoung&apos;s microarray analysis - 시작하는 글'/><author><name>정해영 (Haeyoung Jeong)</name><uri>http://www.blogger.com/profile/15785595805380822762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_4202ZYeNGS4/R4v1U-PCxJI/AAAAAAAAABE/4QUoPuaQwjk/S220/jeong-2007-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2126853644294271188.post-4513274067584913131</id><published>2010-09-16T03:44:00.000-07:00</published><updated>2010-09-16T04:41:44.546-07:00</updated><title type='text'>Paired end sequencing vs Mate pair library sequencing</title><content type='html'>Sanger chemistry를 이용한 전통적인 샷건 시퀀싱에 익숙해 있는 내게 paired end sequencing이나 mate pair (library) sequencing이나 다를 바가 없다. 그런데 며칠 전 Illumina의 시퀀싱에 대해 검토하다가 이 두 가지 방법을 다르게 기술하고 있는 것으로 알고 깜짝 놀랐다.  라이브러리를 만드는 방법 자체가 다르기에 이를 구별할 수도 있겠지만, 나같이 전통 기술에 익숙한 사람에게는 혼동을 불러 일으킬 수도 있다. Illumina에서 이야기하는 mate pair library는 일종의 jumping library라고 하는 것이 기술적으로 더 정확할 수 있겠다.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.illumina.com/technology/paired_end_sequencing_assay.ilmn"&gt;Paired-End Sequencing - Acheving maximum coverage across the genome (Illumina)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.illumina.com/technology/mate_pair_sequencing_assay.ilmn"&gt;Mate Pair Library Sequencing - Characterization genome variation (Illumina)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;플라스미드에 클로닝하여 만든 라이브러리를 가지고 Sanger 방법으로 시퀀싱을 하는 경우를 생각해 보자. 클로닝 사이트 한 쪽의 벡터 서열에 붙은 프라이머로 시퀀싱을 하면 single end sequencing이고, 반대편의 프라이머로 한번 더 읽으면 이것이 바로 paired end sequencing이다. 이렇게 얻어진 한 쌍의 read를 mate라고 부른다. Paired end sequencing을 통해 얻어지는 read의 길이는 single end sequencing과 다를 바가 없다. 라이브러리를 만드는 방법도 역시 똑같다. 혹시 genomics의 석기 시대(?)에 M13 박테리오파지에 클로닝하여 ssDNA를 얻은 다음 시퀀싱을 하던 시절이 있었다면, paired end sequencing을 하려면 고생 깨나 했을 것이다. 그러면 colony picking이 아니고 plaque picking을 했었을까? M13에 클로닝한 뒤 PCR을 해서 시퀀싱을 했다는 전설같은 이야기를 들은 기억이 있는 것도 같다. 그러나 아무리 M13이라 해도 대장균을 좀먹는(?) 시스템을 가지고 대용량 시퀀싱을 하기는 좀 위험할 것이다.&lt;br /&gt;&lt;br /&gt;Paired end sequencing이 왜 유용한가에 대해서는 이 글에서 설명하지 않아도 쉽게 알 수 있을 것이다. Resequencing이 일상화된 요즘, structural variation의 검출이라는 새로운 용도가 더해졌다는 것만 강조하자.&lt;br /&gt;&lt;br /&gt;Genomic fragment를 뒤집어 붙여 원형을 만들어서, 수 kb 이상 멀리 떨어진 부분을 DNA 상의 연속적인 서열로 만들어 버린 뒤 이용하는 jumping library는 누가 가장 먼저 생각해 냈을까? 2005년 Science지를 장식했던 Jay Shendure의 polony sequencing에서 처음 쓰였던 것일까?&lt;br /&gt;&lt;br /&gt; &lt;a href="http://www.sciencemag.org/cgi/content/full/309/5741/1728"&gt;http://www.sciencemag.org/cgi/content/full/309/5741/1728&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;번거로와서 더 이상 거슬러 올라가지는 못하겠다. 여기서 mate-paired library란 말을 쓰고 있기는 하다. 그렇다면... &lt;span style="color:#ff0000;"&gt;mate에 해당하는(실제로는 fragment 길이만큼 떨어져 있어야 하지만) 한 쌍의 서열을 정말로 물리적으로 아주 가깝게, 짝을 이루도록(paired) 이어 놓았다는 것&lt;/span&gt;으로 이해해야 하나? ABI SOLiD의 기술을 소개하는 페이지에서도 mate-paired library라는 용어를 쓰고 있다. 자, 그럼 중간 결론을 내리자. 일반적인 의미의 mate pair와 mate pair(ed) library는 다르다! 그런데 위키피디아에서는 아예 Paired-end Tags라는 항목까지 있다. Paired end sequencing과 혼동할 소지가 있다...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Paired-end_Tags"&gt;http://en.wikipedia.org/wiki/Paired-end_Tags&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;정말이지 용어의 순화가 필요하겠다. 위 단락에서 빨간 색으로 표시한 것에 해당하는 라이브러리 및 이에 대한 시퀀싱을 가리키는 말을 다른 것으로 바꾸면 안될까?&lt;br /&gt;&lt;br /&gt;내 기억이 맞다면, 원래 mate pair는 클로닝된 DNA 단편의 양 끝에서 만들어진 read의 쌍을 의미할 뿐 그 이상도 이하도 아니었다. Mate 혹은 mate pair라고만 쓰였지 Shendure에 의해서 특별한 방법을 사용해 만들어진 library로서 mate pair library라는 말이 쓰인 것 같다. 시퀀싱의 측면에서 본다면 mate를 만들어 내는 paired end sequencing과 쓰임새가 같지만.&lt;br /&gt;&lt;br /&gt;생각난 김에 검색을 좀 해보자. 아하, "pairwise end sequencing"이 가장 역사가 오랜 용어로구나.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ncbi.nlm.nih.gov/pubmed/7601461"&gt;Pairwise end sequencing: a unified approach to genomic mapping end sequencing. Genomics 26:345-53 (1995)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;이 논문에서는 어디에서도 "paired end"라는 말은 나오지 않는다. 하지만 pairwise end나 paired end나 뭐가 다른가...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2126853644294271188-4513274067584913131?l=haeyoungsblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://haeyoungsblog.blogspot.com/feeds/4513274067584913131/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2126853644294271188&amp;postID=4513274067584913131' title='1개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/4513274067584913131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/4513274067584913131'/><link rel='alternate' type='text/html' href='http://haeyoungsblog.blogspot.com/2010/09/paired-end-sequencing-vs-mate-pair.html' title='Paired end sequencing vs Mate pair library sequencing'/><author><name>정해영 (Haeyoung Jeong)</name><uri>http://www.blogger.com/profile/15785595805380822762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_4202ZYeNGS4/R4v1U-PCxJI/AAAAAAAAABE/4QUoPuaQwjk/S220/jeong-2007-small.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2126853644294271188.post-4952084589136544954</id><published>2010-09-14T17:22:00.000-07:00</published><updated>2010-09-14T18:18:18.572-07:00</updated><title type='text'>Illumina-Solexa read 다루기</title><content type='html'>Sanger Institute에서 제안한 FASTQ format은 서열과 quality score를 하나의 파일에 축약해서 표연하는 방식으로서 high-throughout short read data를 다루기에 적합하며, 많은 de novo assembler 또는 reference mapper 프로그램이 입력 파일의 형태로서 요구하고 있다. 원래 quality score(Phred score)는 십진수 0~93으로 로 표현되지만, 이를 FASTQ format에서는 인쇄 가능한 아스키 문자로 대체하고 있다. 98, 99와 같은 높은 값의 quality score는 사용자가 편집한 값을 표현하는 용도로 쓰인다.&lt;br /&gt;&lt;br /&gt;ASCII 32는 공백이므로, 인쇄 가능한 형태의 문자로 표현되는 ASCII 33~126이 FASTQ에서의 quality score로 쓰인다. 그러면 Phred score를 FASTQ format으로 표현하려면 어떻게 해야 하는가? 93보다 큰 값은 93으로, 이보다 작은 값은 그대로 둔 뒤 33을 더한 다음, 이 ASCII 값에 해당하는 문자로 변환하면 된다. 요약한다면 0~93까지의 Phred score를 33~126 범위의 숫자로 변환하여, 문자로 전환한다는 뜻이다.&lt;br /&gt;&lt;br /&gt;이를 간단한 Perl code로 표현해 보자. Phred quality를 $Q, Sanger FASTQ의 값을 $q라 하면,&lt;br /&gt;&lt;br /&gt;$q = chr(($Q&lt;=93? $Q : 93) + 33); $Q = ord($q) - 33; Solexa/Illumina platform에서 생산되는 값은 조금 달라서, 0~62 범위의 값을 만들어 낸다. 이 경우에는 다음의 식을 적용하라. $Q = 10 * log(1 + 10 ** (ord($sq) - 64) / 10.0)) / log(10); &lt;a href="http://maq.sourceforge.net/fastq.shtml"&gt;http://maq.sourceforge.net/fastq.shtml&lt;/a&gt;에서 참조.&lt;br /&gt;&lt;br /&gt;ord() 함수는 인수로 주어진 문자의 ASCII 값을 반환한다. Nucleic Acids Research 38(6) 1767-71에 Sanger FASTQ file format과 Solexa/Illumina FASTQ variant에 대한 상세한 내용이 나와있다.&lt;br /&gt;&lt;br /&gt;maq를 이용해서 Illumina-Solexa 결과를 Sanger type의 FASTQ로 바꿀 수 있다.&lt;br /&gt;&lt;br /&gt;maq sol2sanger s_1_sequence.txt s_1_sequence.fastq&lt;br /&gt;&lt;br /&gt;s_1_sequence.txt가 Solexa read sequene file이다.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2126853644294271188-4952084589136544954?l=haeyoungsblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://haeyoungsblog.blogspot.com/feeds/4952084589136544954/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2126853644294271188&amp;postID=4952084589136544954' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/4952084589136544954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/4952084589136544954'/><link rel='alternate' type='text/html' href='http://haeyoungsblog.blogspot.com/2010/09/illumina-solexa-read.html' title='Illumina-Solexa read 다루기'/><author><name>정해영 (Haeyoung Jeong)</name><uri>http://www.blogger.com/profile/15785595805380822762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_4202ZYeNGS4/R4v1U-PCxJI/AAAAAAAAABE/4QUoPuaQwjk/S220/jeong-2007-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2126853644294271188.post-3341262575161058302</id><published>2010-05-30T20:56:00.000-07:00</published><updated>2010-05-30T22:17:34.652-07:00</updated><title type='text'>Hypothetical Proteins</title><content type='html'>아직 논의가 완전히 끝난 것은 아니지만, 4월 말에 참석했던 NCBI Prokaryotic Annotation Workshop(NCBI PAW)은 genome project의 결과물을 수시로 등록하는 나에게는 매우 중요한 행사였다.&lt;br /&gt;&lt;br /&gt;해묵은 논점 중의 하나가 기능을 모르는 단백질의 이름을 어떻게 붙일 것인가 하는 점이다. 그러면  hypothetical protein은 도대체 무엇인가? 전통적으로 이 명칭은 다음의 세 가지 경우(엄밀히 말하면 모두 다른 의미)에 대해서 쓰여 왔다.&lt;br /&gt;&lt;br /&gt;1. A protein whose existance is in question&lt;br /&gt;2. A protein whose function/process is unknown or not predictable&lt;br /&gt;3. Both of above&lt;br /&gt;&lt;br /&gt;문법적으로 가장 적합한 것을 고른다면, 1이 되겠다. 그러나 NCBI PAW를 통해서 다음과 같은 합의를 이끌어 낼 수 있었다. 첫째, 단백질의 이름은 그 단백질이 존재함을 주장하는 기구는 아니다. 마찬가지로, 단백질의 이름이란 그 단백질의 실험적 특성 결정 수준을 주장하는 기구도 아니다. &lt;br /&gt;&lt;br /&gt;Hypothetical protein, uncharacterized protein, protein of unknown function, protein of unassigned function의 네가지 중에서 &lt;span style="color:#ff0000;"&gt;protein of unassigned function&lt;/span&gt;이 가장 유력하다.&lt;br /&gt;&lt;br /&gt;potential, precursor, conserved, unique, protein of unknown function, novel, fragment, similar to...&lt;br /&gt;&lt;br /&gt;자, 그렇다면 gene prediction program으로 예측은 되었으나 다른 증거는 하나도 없는 단백질, 그리고 기능을 모르는 단백질에 대해 상동성이 있는 단백질을 서로 구별할 것인가? 그동안 널리 써 오던 명칭으로 부른다면 전자는 hypothetical protein이요, 후자는 conserved hypothetical protein 정도가 되겠다. AutoFACT 식으로 이야기한다면, 전자는 Unclassified, 후자는 Unassigned protein이다. 이를 모두 뭉뚱그려서 protein of unassigned function으로 해도 좋을까?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2126853644294271188-3341262575161058302?l=haeyoungsblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://haeyoungsblog.blogspot.com/feeds/3341262575161058302/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2126853644294271188&amp;postID=3341262575161058302' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/3341262575161058302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/3341262575161058302'/><link rel='alternate' type='text/html' href='http://haeyoungsblog.blogspot.com/2010/05/hypothetical-proteins.html' title='Hypothetical Proteins'/><author><name>정해영 (Haeyoung Jeong)</name><uri>http://www.blogger.com/profile/15785595805380822762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_4202ZYeNGS4/R4v1U-PCxJI/AAAAAAAAABE/4QUoPuaQwjk/S220/jeong-2007-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2126853644294271188.post-7354409871259649965</id><published>2010-04-12T02:51:00.001-07:00</published><updated>2010-04-12T03:03:55.047-07:00</updated><title type='text'>gsAssembler 2.0.0을 이용한 hybrid assembly</title><content type='html'>&lt;div&gt;Sanger read(screened fasta file and quality file)내부에 각 read의 정보를 넣는 것이 관건이다. 우선 다음과 같은 스크립트를 만들어서 detPair.pl이라 이름을 짓는다. 여기서는 *.f1 또는 *.r1이라는 형식의 read tag을 쓰게 되어있다. 나는 주로  St. Louis convention(*.b1, *.g1)을 사용하므로 이를 약간 수정해야 했다.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/_4202ZYeNGS4/S8Lt70sFzzI/AAAAAAAAAC8/TXesKdAk3xs/s1600/test.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5459187310338101042" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand; HEIGHT: 151px" alt="" src="http://1.bp.blogspot.com/_4202ZYeNGS4/S8Lt70sFzzI/AAAAAAAAAC8/TXesKdAk3xs/s320/test.jpg" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;그 다음에 할 일은 phred와 cross_match를 통해 screened sequence file을 만드는 것이다. edit_dir에서 phredPhrap 한번만 타이프하면 되지만, 공부를 하자는 의미에서 순서대로 적어 보도록 한다. Sanger ab1 file들이 chromat_dir에 있다고 가정하자.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;phred -id chromat_dir -pd phd_dir&lt;/div&gt;&lt;div&gt;(determineReadTypes.perl은 별로 필요하지 않다)&lt;/div&gt;&lt;div&gt;phd2fasta -id phd_dir -os sequence.fasta -oq sequence.fasta.qual&lt;/div&gt;&lt;div&gt;cross_match -minmatch 12 -penalty -2 -minscore 20 -screen sequence.fasta&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;여기까지 하면 sequence.fasta.screen과 sequence.fasta.screen.qual 파일이 생길 것이다. 이제 다음과 같이 한다.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;detPairs.pl sequence.fasta.screen &gt; sanger.acc&lt;/div&gt;&lt;div&gt;fnafile -o sanger.fna -af sanger.acc sequence.fasta.screen&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;이제 만들어진 sanger.fasta와 sanger.qual을 gsAssembler에 넣어주면 된다.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;다른 사용자를 통해 물어보니 Sanger paired end read를 넣어 주면 scaffold는 생성되지만, mate의 정보(clone insert size &amp;amp; direction)를 assembly에 직접 활용하지는 않는 것 같다. 만일 그렇다면, 라이브러리별로 크기에 대한 정보를 넣어 주어야 하나 그런 배려는 없다. &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;(참고자료: GS FLX software manual 5.5.4)&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2126853644294271188-7354409871259649965?l=haeyoungsblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://haeyoungsblog.blogspot.com/feeds/7354409871259649965/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2126853644294271188&amp;postID=7354409871259649965' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/7354409871259649965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/7354409871259649965'/><link rel='alternate' type='text/html' href='http://haeyoungsblog.blogspot.com/2010/04/gsassembler-200-hybrid-assembly.html' title='gsAssembler 2.0.0을 이용한 hybrid assembly'/><author><name>정해영 (Haeyoung Jeong)</name><uri>http://www.blogger.com/profile/15785595805380822762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_4202ZYeNGS4/R4v1U-PCxJI/AAAAAAAAABE/4QUoPuaQwjk/S220/jeong-2007-small.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_4202ZYeNGS4/S8Lt70sFzzI/AAAAAAAAAC8/TXesKdAk3xs/s72-c/test.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2126853644294271188.post-5037993971330635367</id><published>2010-03-28T18:05:00.000-07:00</published><updated>2010-04-12T03:33:15.400-07:00</updated><title type='text'>MIRA를 이용한 454+Sanger hybrid assembly</title><content type='html'>454에 기반한 fungal genome project를 하나 진행하고 있다. Genome size는 9 Mb 남짓이지만, 이것도 eukaryotic genome이라 세균에서는 접하지 못했던 약간의 고난이도의 repeat에 직면하게 되었다. GS assembler가 현재로서는 가장 만만한(?) 도구이지만, repeat에 의해 발생한 misassembly가 눈에 뜨이는 것은 사실이다. 정확도를 높이기 위한 방편으로서 mira를 활용해 보기로 한다.&lt;br /&gt;&lt;br /&gt;mira 버전 3이 나오면서 설치 방법도 약간 까다로와졌다. boost C++ library(&gt;=1.35)라는 것을 깔아야 하는데, CentOS 5에는 1.33이 설치되어 있으며 이보다 높은 버전의 rpm package는 아직 없다. 어찌어찌하여 boos 1.42의 소스를 구해서 설치하는데 이것도 쉽지가 않다. 압축만 풀면 단지 헤더 파일만 설치될 뿐이다. 나에게 필요한 것은 boost library binary이다. 설치 디렉토리에 가서 다음의 것을 해 주어야 한다.&lt;br /&gt;&lt;br /&gt;$ ./bootstrap.sh --prefix=path/to/installation/prefix&lt;br /&gt;$ ./bjam install&lt;br /&gt;&lt;br /&gt;라이브러리 바이너리는 /usr/local/lib으로 하였다. $LD_LIBRARY_PATH를 설정해 주어야 mira의 빌드가 비로소 가능해졌다. mira는 매뉴얼 파일도 전부 tex 소스로 되어 있어서 이것 역시 애를 먹었다. make docs를 해야 man, html 등의 파일이 나오는데, latex2man이라는 유틸이 있어야 한다. 이것은 소스 rpm을 받아다가 설치했다. CenOS로 전환한 이후로 항상 yum으로 대충 패키지를 설치하고는 했는데, 소스 rpm을 풀어서 컴파일한 것은 이번이 처음이다. rpm -ivh &lt;패키지명&gt;을 실행하면 /usr/src/redhat/SOURCES에 tar.gz 파일이 생성된다. 이것을 풀어서 설명 대로 빌드하고 설치하면 된다.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Sanger/454 hybrid assembly&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;454 data만으로 작업을 하는 것은 비교적 쉽다. 하지만 Sanger data를 같이 섞어서 합체하는 경우 약간의 수고를 들여야 한다. Quality file을 수반한 FASTA sequence file, 그리고 NCBI TRACEINFO XML 파일이 필요하다. 최소한 vector clip은 되어 있어야 한다. 내가 쓰는 방식은 phred/cross_match를 통해 screening을 실시한 다음, PHD file을 참조하여 XML 파일 내에 clip quality left/right 정보를 넣는 것이다. 단, PHD file 내에 trim: -1 -1로 정의된 것은 clip quality position이 무의미하므로, 아예 서열 파일 뭉치에서 제거해 버리는 것이 낫다.&lt;br /&gt;&lt;br /&gt;다음의 순서를 따르면 된다.&lt;br /&gt;&lt;br /&gt;1. phred/cross_match를 실시하여 screened fasta file 및 qual file을 만든다.&lt;br /&gt;&lt;br /&gt;2. trim range가 최소 100 bp인 read만을 골라내어, 즉 successful read만으로 구성된 screened fasta file 및 quality file을 만들어라. 어떻게 하냐고? 이럴 때 바로 BioPerl을 쓰는 거다.&lt;br /&gt;&lt;br /&gt;3. traceinfo 파일을 만들어라.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2126853644294271188-5037993971330635367?l=haeyoungsblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://haeyoungsblog.blogspot.com/feeds/5037993971330635367/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2126853644294271188&amp;postID=5037993971330635367' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/5037993971330635367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/5037993971330635367'/><link rel='alternate' type='text/html' href='http://haeyoungsblog.blogspot.com/2010/03/mira-454sanger-hybrid-assembly.html' title='MIRA를 이용한 454+Sanger hybrid assembly'/><author><name>정해영 (Haeyoung Jeong)</name><uri>http://www.blogger.com/profile/15785595805380822762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_4202ZYeNGS4/R4v1U-PCxJI/AAAAAAAAABE/4QUoPuaQwjk/S220/jeong-2007-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2126853644294271188.post-6485147932828517899</id><published>2009-10-18T22:31:00.000-07:00</published><updated>2009-10-18T22:38:28.150-07:00</updated><title type='text'>Nature에 논문이 나갔다!</title><content type='html'>&lt;a href="http://www.nature.com/nature/journal/vaop/ncurrent/full/nature08480.html"&gt;Genome evolution and adaptation in a long-term experiment with &lt;em&gt;Escherichia coli &lt;/em&gt;&lt;/a&gt;&lt;br /&gt;Jeffrey E. Barrick, Dong Su Yu, Sung Ho Yoon, &lt;strong&gt;Haeyoung Jeong&lt;/strong&gt;, Tae Kwang Oh, Dominique Schneider, Richard E. Lenski, Jihyun F. Kim&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Nature&lt;/span&gt; (18 October 2009) doi:10.1038/nature08480&lt;br /&gt;&lt;br /&gt;지난 수년간 공을 들여온 프로젝트가 이제 하나의 논문으로 빛을 보게 되었다. 공저자의 한명으로서 큰 자부심을 느낀다. 대장균 B stain을 모델로 하여 가문(?)의 역사로부터 유전체 서열 결정, 분석에 이르는 세 편의 논문 역시 최근에 Journal of Molecular Biology에 나가게 되었다. 대용량 DNA sequencing을 업으로 삼은지 이제 10년째, 정말 큰 보람을 느끼고 있다. &lt;br /&gt;&lt;a href="http://www.sciencedirect.com/science?_ob=ArticleURL&amp;amp;_udi=B6WK7-4X9TV28-1&amp;amp;_user=79782&amp;amp;_coverDate=09%2F26%2F2009&amp;amp;_rdoc=35&amp;amp;_fmt=high&amp;amp;_orig=browse&amp;amp;_srch=doc-info(%23toc%236899%239999%23999999999%2399999%23FLA%23display%23Articles)&amp;amp;_cdi=6899&amp;amp;_sort=d&amp;amp;_docanchor=&amp;amp;_ct=100&amp;amp;_acct=C000006478&amp;amp;_version=1&amp;amp;_urlVersion=0&amp;amp;_userid=79782&amp;amp;md5=0a05fb6bcd17bdaba35282d963861de4"&gt;Genome Sequences of &lt;em&gt;Escherichia coli&lt;/em&gt; B strains REL606 and BL21(DE3)&lt;/a&gt;&lt;br /&gt;In Press, Corrected Proof, Available online 26 September 2009&lt;br /&gt;&lt;strong&gt;Haeyoung Jeong&lt;/strong&gt;, Valérie Barbe, Choong Hoon Lee, David Vallenet, Dong Su Yu, Sang-Haeng Choi, Arnaud Couloux, Seung-Won Lee, Sung Ho Yoon, Laurence Cattolico, Cheol-Goo Hur, Hong-Seog Park, Béatrice Ségurens, Sun Chang Kim, Tae Kwang Oh, Richard E. Lenski, F. William Studier, Patrick Daegelen, Jihyun F. Kim&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sciencedirect.com/science?_ob=ArticleURL&amp;amp;_udi=B6WK7-4X7GMR0-5&amp;amp;_user=79782&amp;amp;_coverDate=09%2F15%2F2009&amp;amp;_rdoc=64&amp;amp;_fmt=high&amp;amp;_orig=browse&amp;amp;_srch=doc-info(%23toc%236899%239999%23999999999%2399999%23FLA%23display%23Articles)&amp;amp;_cdi=6899&amp;amp;_sort=d&amp;amp;_docanchor=&amp;amp;_ct=100&amp;amp;_acct=C000006478&amp;amp;_version=1&amp;amp;_urlVersion=0&amp;amp;_userid=79782&amp;amp;md5=f98b1f333ee928ba09c097919f2c125c"&gt;Tracing Ancestors and Relatives of &lt;em&gt;Escherichia coli&lt;/em&gt; B, and the Derivation of B Strains REL606 and BL21(DE3)&lt;/a&gt;&lt;br /&gt;In Press, Corrected Proof, Available online 15 September 2009&lt;br /&gt;Patrick Daegelen, F. William Studier, Richard E. Lenski, Susan Cure, Jihyun F. Kim&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sciencedirect.com/science?_ob=ArticleURL&amp;amp;_udi=B6WK7-4X7GMR0-4&amp;amp;_user=79782&amp;amp;_coverDate=09%2F15%2F2009&amp;amp;_rdoc=67&amp;amp;_fmt=high&amp;amp;_orig=browse&amp;amp;_srch=doc-info(%23toc%236899%239999%23999999999%2399999%23FLA%23display%23Articles)&amp;amp;_cdi=6899&amp;amp;_sort=d&amp;amp;_docanchor=&amp;amp;_ct=100&amp;amp;_acct=C000006478&amp;amp;_version=1&amp;amp;_urlVersion=0&amp;amp;_userid=79782&amp;amp;md5=4e7128f97bc3b0639af102b2a4dea5bb"&gt;Understanding the Differences between Genome Sequences of &lt;em&gt;Escherichia coli&lt;/em&gt; B Strains REL606 and BL21(DE3) and Comparison of the &lt;em&gt;E. coli&lt;/em&gt; B and K-12 Genomes&lt;/a&gt;&lt;br /&gt;In Press, Corrected Proof, Available online 15 September 2009&lt;br /&gt;F. William Studier, Patrick Daegelen, Richard E. Lenski, Sergei Maslov, Jihyun F. Kim&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2126853644294271188-6485147932828517899?l=haeyoungsblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://haeyoungsblog.blogspot.com/feeds/6485147932828517899/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2126853644294271188&amp;postID=6485147932828517899' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/6485147932828517899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/6485147932828517899'/><link rel='alternate' type='text/html' href='http://haeyoungsblog.blogspot.com/2009/10/nature.html' title='Nature에 논문이 나갔다!'/><author><name>정해영 (Haeyoung Jeong)</name><uri>http://www.blogger.com/profile/15785595805380822762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_4202ZYeNGS4/R4v1U-PCxJI/AAAAAAAAABE/4QUoPuaQwjk/S220/jeong-2007-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2126853644294271188.post-1691462603234392993</id><published>2009-04-29T19:06:00.000-07:00</published><updated>2009-04-29T19:15:12.572-07:00</updated><title type='text'>Consed 19.0에서 달라진 점</title><content type='html'>이건 뭐... 뒷북도 한참 뒷북이지만 어쨌든 정리해 보자. 사소한 버그 수정은 중요하지 않고, 새로 더해진 기능 중에서 가장 중요한 것은 Assembly view에서 Solexa read를 볼 수 있다는 것이다. 우리 연구실에서 Solexa data를 생산한 적은 있지만 실제 분석은 지금 ISB에 가 있는 윤성호 박사가 했었다. 당시 Maq(&lt;a href="http://maq.sourceforge.net/"&gt;http://maq.sourceforge.net/&lt;/a&gt;)를 썼던 것으로 기억하는데, consed 19.0이 이 기능을 대신할 수 있는지는 잘 모르겠다.&lt;br /&gt;&lt;br /&gt;엄청난 분량의 README 파일을 읽으려니 엄두가 나지 않는다. 하지만 나 스스로 consed의 고급 사용자라 자부하고 있으므로, 다음의 부분만 읽으면 되겠다.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;USING SOLEXA READS&lt;/li&gt;&lt;li&gt;ADDING SOLEXA READS&lt;/li&gt;&lt;li&gt;ALIGNING SOLEXA READS AGAINST A LARGE GENOME AND SELECTING A SMALL REGION FOR VIEWING WITH CONSED&lt;/li&gt;&lt;li&gt;USING YOUR OWN SOLEXA DATA&lt;/li&gt;&lt;li&gt;USING 454 READS (NEWBLER ASSEMBLY)&lt;/li&gt;&lt;li&gt;USING 454'S NEWBLER ON YOUR OWN DATA&lt;/li&gt;&lt;li&gt;USING 454 READS (ALIGNING TO REFERENCE SEQUENCE )&lt;/li&gt;&lt;li&gt;ADDING ADDITIONAL 454 OR SOLEXA READS&lt;/li&gt;&lt;li&gt;SOLEXA AND 454 DATA--WHAT IS HAPPENING BEHIND THE SCENES&lt;/li&gt;&lt;li&gt;USING AUTOREPORT&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2126853644294271188-1691462603234392993?l=haeyoungsblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://haeyoungsblog.blogspot.com/feeds/1691462603234392993/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2126853644294271188&amp;postID=1691462603234392993' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/1691462603234392993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/1691462603234392993'/><link rel='alternate' type='text/html' href='http://haeyoungsblog.blogspot.com/2009/04/consed-190.html' title='Consed 19.0에서 달라진 점'/><author><name>정해영 (Haeyoung Jeong)</name><uri>http://www.blogger.com/profile/15785595805380822762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_4202ZYeNGS4/R4v1U-PCxJI/AAAAAAAAABE/4QUoPuaQwjk/S220/jeong-2007-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2126853644294271188.post-8023084733527339147</id><published>2009-04-29T18:02:00.000-07:00</published><updated>2009-04-29T19:24:19.501-07:00</updated><title type='text'>Phred/Phrap/Consed 새 버전 설치하기</title><content type='html'>2009년도 첫 포스팅이다. 이건 해도 너무했다! :-)&lt;br /&gt;&lt;br /&gt;2월 13일에 David Gordon이 새 버젼의 consed(19.0)가 나왔음을 알려왔다. 이와 더불에 phred/phrap도 모르는 사이에 update 판이 나와 있었다. 이번 기회에 새 버전을 설치하도록 하자.&lt;br /&gt;&lt;br /&gt;먼저 내 리눅스 박스를 살펴보자. Core2Duo에 4기가 메모리가 설치된 그저 그런 평범한 데스크탑 PC이다. CentOS 5.1(i386)이 운영체제로서 설치되어 있다. 패키지는 오늘 날짜로 전부 업데이트된 상태이다.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[hyjeong@eos ~]$ uname -aLinux eos.kribb.re.kr 2.6.18-128.1.6.el5 #1 SMP Wed Apr 1 09:19:18 EDT 2009 i686 i686 i386 GNU/Linux&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;그럼 현재 깔린 프로그램의 버젼과 최신 버젼을 나열해 보자.&lt;br /&gt;&lt;br /&gt;phred: 0.000925 (020425, 071220 beta)&lt;br /&gt;phrap: 0.990319 (1.080812)&lt;br /&gt;consed: 18.0 (19.0)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Phred update&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;새로 만든 바이너리를 /usr/local/genome/bin/에 복사하는 것으로 끝난다. phredpar.dat(020425)는 달라진 바가 없어서 그대로 둔다.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Phrap update&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;이전 버전과는 달리 .longreads나 .manyreads를 할 필요가 없다. make를 실행한 뒤 생성된 실행파일 cluster cross_match loco phrap phrap phrapview swat을 복사하는 것으로 끝난다.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Consed update&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;이건 딸린 식구(?)가 많아서 조심스럽게 작업해야 한다. 잡다한 부속 스크립트는 커스터마이징이 필요하기도 하고 바이너리와도 호환성 문제가 발생할 수 있다. 예를 들자면 새 버전의 consed는 버전 xyz 이상의 determineReadTypes.perl하고만 작동한다고 명시되어 있을 수도 있으니까.&lt;br /&gt;&lt;br /&gt;consed 바이너리는 컴퓨터 아키텍쳐에 따라 다음과 같은 종류가 있다.&lt;br /&gt;&lt;br /&gt;consed_linux32bit &lt;- 가장 무난한 이것을 선택&lt;br /&gt;consed_linux32bit_dyn&lt;br /&gt;consed_linux64bit&lt;br /&gt;consed_linux64bit_static&lt;br /&gt;consed_linux_itanium&lt;br /&gt;&lt;br /&gt;/usr/local/genome/bin/에 consed_linux32bit를 consed19_linux32bit라는 이름으로 복사한 다음 이를 consed라는 심볼릭 링크를 만들었다. 이 상태에서 적당한 ace 파일을 열어보니 아무런 문제가 없다. Ace file을 여는 속도가 약간 빨라졌다. 그리고 아무 read를 골라서 별개의 contig로 뽑아내기를 해 보니 이전 버전에서는 상당히 시간이 많이 걸렸었는데(20분 이상? 아마 버그였던 듯), 버전 19에서는 순식간에 된다.&lt;br /&gt;&lt;br /&gt;이전에 쓰던 스크립트와 호환성에 문제가 있는지는 잘 모르겠다. 사용하다가 불편하면 그때그때 고치도록 하자.&lt;br /&gt;&lt;br /&gt;흠, README를 보니 18.0에서 업그레이드하는 경우 tagRepeats.perl만 바꾸면 된다고 한다. 가만! 그런데 내가 쓰던게 16.0이었나보다!  이 복사 작업을 하면서 standard script에 어떤 것들이 추가되어 있는지 확인해 보자.&lt;br /&gt;&lt;br /&gt;add454Reads.perl&lt;br /&gt;addSolexaReads.perl&lt;br /&gt;alignSolexaReads2Refs.perl&lt;br /&gt;filter454Reads.perl&lt;br /&gt;catPhdFiles.perl -&gt; makePhdBall.perl&lt;br /&gt;selectRegions.perl&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2126853644294271188-8023084733527339147?l=haeyoungsblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://haeyoungsblog.blogspot.com/feeds/8023084733527339147/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2126853644294271188&amp;postID=8023084733527339147' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/8023084733527339147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/8023084733527339147'/><link rel='alternate' type='text/html' href='http://haeyoungsblog.blogspot.com/2009/04/phredphrapconsed.html' title='Phred/Phrap/Consed 새 버전 설치하기'/><author><name>정해영 (Haeyoung Jeong)</name><uri>http://www.blogger.com/profile/15785595805380822762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_4202ZYeNGS4/R4v1U-PCxJI/AAAAAAAAABE/4QUoPuaQwjk/S220/jeong-2007-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2126853644294271188.post-6498287620590514020</id><published>2008-11-25T02:04:00.000-08:00</published><updated>2008-11-25T02:18:14.116-08:00</updated><title type='text'>Two new words coined by me - "genomebug" or "genome rat"</title><content type='html'>온라인상에서 내가 종사하고 또 즐기는 일과 관련하여 지을 별명으로서 무엇이 적당할까 고민하다가 두 가지 단어를 떠올리게 되었다.&lt;br /&gt;&lt;br /&gt;genomebug (shutterbug를 연상하라)&lt;br /&gt;genome rat (gym rat를 연상하라)&lt;br /&gt;&lt;br /&gt;google을 뒤져 보았으나 이런 글은 존재하지 않는다. 따라서 내가 만든 신조어임을 세상에 공표하노라! 하하하...&lt;br /&gt;&lt;br /&gt;Two new words were coined by me today, "genomebug" and "genome rat", to describe myself enjoying and working on genomics. So far, I could not find any search result on Google using these words (Nov 25, 2008). Anybody can easily understand the meaning of these words ... based on "shutterbug" and "gym rat."&lt;br /&gt;&lt;br /&gt;I prefer the first one (genomebug), and have created an email account from Gmail.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2126853644294271188-6498287620590514020?l=haeyoungsblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://haeyoungsblog.blogspot.com/feeds/6498287620590514020/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2126853644294271188&amp;postID=6498287620590514020' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/6498287620590514020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/6498287620590514020'/><link rel='alternate' type='text/html' href='http://haeyoungsblog.blogspot.com/2008/11/two-new-words-coined-by-me-genomebug-or.html' title='Two new words coined by me - &quot;genomebug&quot; or &quot;genome rat&quot;'/><author><name>정해영 (Haeyoung Jeong)</name><uri>http://www.blogger.com/profile/15785595805380822762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_4202ZYeNGS4/R4v1U-PCxJI/AAAAAAAAABE/4QUoPuaQwjk/S220/jeong-2007-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2126853644294271188.post-3883261765370783622</id><published>2008-06-17T17:41:00.000-07:00</published><updated>2008-10-06T21:30:14.631-07:00</updated><title type='text'>454/Sanger hybrid assembly에 대한 간단한 논문</title><content type='html'>공개된 소프트웨어 도구를 이용하여 454/Sanger data의 혼합 유전체 서열단편 합체를 하는 일반적인 전략을 다루는 간단한 논문을 국내 학술지에 투고중이다. 이 과정에 대하여 궁금해 하는 사람들이 많아서, 복잡한 내용은 아니라 하더라도 어떤 형태로든 발표를 하고 싶었었다. 좋은 결과가 나오기를!&lt;br /&gt;&lt;br /&gt;한국유전체학회의 국내 저널에 실렸다. PDF 파일을 임으로 웹에 게시할 수는 없으므로 초록을 포함한 서지 정보만 수록하도록 한다.&lt;br /&gt;&lt;br /&gt;Haeyoung Jeong and Jihyun F. Kim&lt;br /&gt;Genomics &amp;amp; Informatics 6(2) 87-90, 2008&lt;br /&gt;An optimized strategy for genome assembly of Sanger/pyrosequencing hybrid data using available software.&lt;br /&gt;&lt;br /&gt;During the last four years, the pyrosequencing-based454 platform has rapidly displaced the traditional Sangersequencing method due to its high throughput and costeffectiveness. Meanwhile, the Sanger sequencing methodologystill provides the longest reads, and paired-endsequencing that is based on that chemistry offers anopportunity to ensure accurate assembly results. In thisreport, we describe an optimized approach for hybrid denovo genome assembly using pyrosequencing data andvarying amounts of Sanger-type reads. 454 platformderivedcontigs can be used as single non-breakablevirtual reads or converted to simpler contigs that consistof editable, overlapping pseudoreads. These modifiedcontigs maintain their integrity at the first jumpstartingassembly stage and are edited by fragmenting andrejoining. Pre-existing assembly software then can beapplied for mixed assembly with 454-derived data andSanger reads. An effective method for identifying genomicdifferences between reference and sample sequencesin whole-genome resequencing procedures alsois suggested.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2126853644294271188-3883261765370783622?l=haeyoungsblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://haeyoungsblog.blogspot.com/feeds/3883261765370783622/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2126853644294271188&amp;postID=3883261765370783622' title='1개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/3883261765370783622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/3883261765370783622'/><link rel='alternate' type='text/html' href='http://haeyoungsblog.blogspot.com/2008/06/454sanger-hybrid-assembly.html' title='454/Sanger hybrid assembly에 대한 간단한 논문'/><author><name>정해영 (Haeyoung Jeong)</name><uri>http://www.blogger.com/profile/15785595805380822762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_4202ZYeNGS4/R4v1U-PCxJI/AAAAAAAAABE/4QUoPuaQwjk/S220/jeong-2007-small.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2126853644294271188.post-8440256250986750766</id><published>2008-05-23T00:22:00.000-07:00</published><updated>2008-05-23T00:27:43.668-07:00</updated><title type='text'>진정한 454/Sanger hybrid assembly</title><content type='html'>오랜만에 글을 올리게 되었다. 웹을 뒤져보니까 Bastien Chevreux라는 사람이 454/Solexa/Sanger read를 섞어서 합체할 수 있는 MIRA라는 공개 소프트웨어를 개발하고 있음을 알게 되었다.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://chevreux.org/projects_mira.html"&gt;http://chevreux.org/projects_mira.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;454 data와 Sanger data를 섞어서 작업하는 대부분의 전략에서는 454 consensus를 하나의 read로서 다룬다는 것이 근본적인 제약이다. 하지만 MIRA에서는 454 raw read를 있는 그대로 다룬다고 한다.&lt;br /&gt;&lt;br /&gt;해 본 사람을 알겠지만, GS FLX standard run에서 만들어진 SFF file에서 염기서열과 quality score를 파일로 추출한 다음 phrap을 하면 4 GB 정도의 메모리를 가진 보통의 리눅스 머신에서는 진행이 되지 않는다. phrap이 좋은 프로그램이기는 하나 대용량의 데이터를 다루기에는 적합하지 않다. PCAP이나 Celera Assembler와 같이 multiple processor를 지원하는 대용량 데이터용 서열 합체 프로그램은 short read와는 궁합이 맞지 않는다.&lt;br /&gt;&lt;br /&gt;기존의 소프트웨어를 이용하여 454 data와 Sanger data를 섞어서 합체하는 전략에 대한 간단한 논문을 쓰고 있다...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2126853644294271188-8440256250986750766?l=haeyoungsblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://haeyoungsblog.blogspot.com/feeds/8440256250986750766/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2126853644294271188&amp;postID=8440256250986750766' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/8440256250986750766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/8440256250986750766'/><link rel='alternate' type='text/html' href='http://haeyoungsblog.blogspot.com/2008/05/454sanger-hybrid-assembly.html' title='진정한 454/Sanger hybrid assembly'/><author><name>정해영 (Haeyoung Jeong)</name><uri>http://www.blogger.com/profile/15785595805380822762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_4202ZYeNGS4/R4v1U-PCxJI/AAAAAAAAABE/4QUoPuaQwjk/S220/jeong-2007-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2126853644294271188.post-1995565838086214250</id><published>2008-03-06T16:14:00.000-08:00</published><updated>2008-03-06T16:16:46.442-08:00</updated><title type='text'>Consed/cross_match 새소식</title><content type='html'>David Gordon과 Phil Green은 Solexa와 454 데이터를 다룰 수 있도록 consed와 cross_match의 수정 작업을 벌이고 있다고 한다. 이 작업이 끝나면 수천만개의 Solex/454 read를 다룰 수 있다고 하니 기다려 볼 만한 일이 되겠다. 5곳에서 베타 테스트를 하고 있다고 한다.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2126853644294271188-1995565838086214250?l=haeyoungsblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://haeyoungsblog.blogspot.com/feeds/1995565838086214250/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2126853644294271188&amp;postID=1995565838086214250' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/1995565838086214250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/1995565838086214250'/><link rel='alternate' type='text/html' href='http://haeyoungsblog.blogspot.com/2008/03/consedcrossmatch.html' title='Consed/cross_match 새소식'/><author><name>정해영 (Haeyoung Jeong)</name><uri>http://www.blogger.com/profile/15785595805380822762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_4202ZYeNGS4/R4v1U-PCxJI/AAAAAAAAABE/4QUoPuaQwjk/S220/jeong-2007-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2126853644294271188.post-478354400839582645</id><published>2008-02-12T23:49:00.000-08:00</published><updated>2008-12-10T20:39:30.785-08:00</updated><title type='text'>TIGR assembler</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_4202ZYeNGS4/R7KjvdiFvgI/AAAAAAAAABY/FPQ47fUiiyc/s1600-h/test.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5166371758324170242" style="CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_4202ZYeNGS4/R7KjvdiFvgI/AAAAAAAAABY/FPQ47fUiiyc/s320/test.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;새삼스럽게 왜 TIGR assembler인가? 사실 나도 AMOS 작업을 하기 전에는 거의 관심을 두지 않았었다. 그러나 조금 느리기는 해도 나름대로 탄탄하고 정확한 결과를 만들어 주는 것 같다. Methods in Molecular Biology(2004년)에 상세한 활용 방법이 나와 있다.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;PubMed: &lt;a href="http://www.ncbi.nlm.nih.gov/pubmed/15020832"&gt;http://www.ncbi.nlm.nih.gov/pubmed/15020832&lt;/a&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;TIGR assembler는 더 이상 JCVI(구 TIGR) 홈페이지의 소프트웨어 목록에 나와있지 않다. 대신 다음의 FTP site를 이용하여 다운로드할 수 있다.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="ftp://ftp.jcvi.org/pub/software/assembler"&gt;ftp://ftp.jcvi.org/pub/software/assembler&lt;/a&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt; &lt;/div&gt;&lt;div&gt;맨 위의 표는 M. Pop, S. L. Salzberg, 그리고 M. Shumway가 2003년도에 쓴 Genome sequence assembly: algorithms and issue에 실린 것이다. 재미나지 않은가?&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;TIGR assembler가 유용한 점은 소위 'jumpstarting'이 가능하다는 것이다. 이것은 기존의 assembly 정보를 흩뜨리지 않으면서 새로운 서열 단편을 넣어 합체하는 작업을 의미한다. Consed에서 Add New Reads를 실행하는 것과 비슷하지만 더 유리한 점이 많다. &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;아무 생각 없이 기계적으로 컴퓨터 자판을 두드려서 assembly를 하기에는 phredPhrap만한 것이 없다. 이건 사실이다! 하지만 손이 조금 더 많이 가는만큼 더 정확한 결과물을 얻게 된다는 것도 사실이다. TIGR assembler가 귀찮은 점은 서열 전처리 작업(clear range 구하기)이다. 그러나 EST 혹은 genome survey sequencing 결과의 등록과 같이 말단 부분이 깨끗하게 제거된 서열이 필요하다면, TIGR assembler에 적용되는 전처리 과정(preTA: AMOS 패키지에 포함)을 사용하는 것도 좋겠다.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2126853644294271188-478354400839582645?l=haeyoungsblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://haeyoungsblog.blogspot.com/feeds/478354400839582645/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2126853644294271188&amp;postID=478354400839582645' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/478354400839582645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/478354400839582645'/><link rel='alternate' type='text/html' href='http://haeyoungsblog.blogspot.com/2008/02/tigr-assembler.html' title='TIGR assembler'/><author><name>정해영 (Haeyoung Jeong)</name><uri>http://www.blogger.com/profile/15785595805380822762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_4202ZYeNGS4/R4v1U-PCxJI/AAAAAAAAABE/4QUoPuaQwjk/S220/jeong-2007-small.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_4202ZYeNGS4/R7KjvdiFvgI/AAAAAAAAABY/FPQ47fUiiyc/s72-c/test.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2126853644294271188.post-7862172037607393597</id><published>2008-02-04T06:42:00.000-08:00</published><updated>2009-04-29T22:16:39.124-07:00</updated><title type='text'>GS data를 주로 이용한 피니싱 (1): consed와 GS data</title><content type='html'>454, GS... 그냥 혼용하기로 하자. GS data를 주로 사용하여 피니싱을 하려고 한다. 도대체 어떻게 해야 하는가? 이는 target genome의 크기(유전체? BAC? fosmid), reference genome의 존재 여부(identity에 따라서도 달라짐), Sanger read의 혼용 여부에 따라서도 적용할 전략이 달라질 수 밖에 없다. Finishing tool은 consed 16.0, GS 소프트웨어는 GS FLX와 같이 배포된 offInstrumentApps_1.1.02.15(gsAssembler, gsMapper 등)를 쓰는 것으로 가정한다.&lt;br /&gt;&lt;br /&gt;먼저 결정해야 할 일은 1) SFF 파일에서 개별 read를 뽑아낸 뒤 다른 assembler로 합체할 것인가, 또는 2) GS assembly 결과를 그대로 수용할 것인가이다. 개별 read의 특성(길이가 짧고 quality가 낮음)을 감안한다면 phrap이나 CelAsm과 같은 전통적인 assembler를 적용하여 다시 합체하는 것은 별로 권고하지 않는다. 사실 2)의 방법을 적용하는 것도 그렇게 단순하지만은 않다. 왜냐하면 크로마토그램 없이는, 좀 더 실제적으로 말하자면 PHD 파일 없이는 consed에서 할 수 있는 일이 별로 많지 않기 때문이다. 예를 들어 보자. GS 실행 결과물로서 contig 서열/quality 파일 및 454Contigs.ace가 기본적으로 제공된다. 하지만 PHD 파일이 없는 상태에서 ace file을 consed로 열게 되면 (consed -nophd 454Contigs.ace) read들이 정렬된 결과만 볼 수 있을 뿐 contig의 연결이나 편집 등 중요한 조작은 거의 하지 못한다. PHD 파일 정보를 생성하려면 gsAssembler 실행시 "complete consed folder" 옵션을 주어서 phd.ball 파일을 만들어야 한다. phd.ball 파일이란 모든 PHD 파일을 하나로 이어붙인 것으로서, edit_dir에 위치시켜 두면 consed 실행시 phd_dir에 있는 모든 PHD 파일을 읽어들이는 것 보다 훨씬 빠르게 진행된다. 게다가 서열 편집을 하려면 trace를 볼 수 있어야 하는데, 이를 위해서 .consedrc의 편집과 더불어 GS가 공급하는 추가 소프트웨어(sff2scf)를 컴파일하여 깔아 두어야 한다. sff2scf는 consed에서 trace view 요청을 할 때 실시간으로 SFF file로부터 해당 read의 fake chromatogram(SCF)을 생성하여 보여준다. 이러한 방법으로 consed에서 454 trace를 보고자 할 때에는 project main directory에 chromat_dir, phd_dir, edit_dir와 더불어 sff_dir이라는 디렉토리를 만들어 SFF 파일을 복사(혹은 심볼릭 링크)해 두고, .consedrc를 다음과 같이 설정해 두어야 한다.&lt;br /&gt;&lt;br /&gt;consed.checkIfTooManyWalks: false&lt;br /&gt;consed.alwaysRunProgramToGetChromats: true&lt;br /&gt;consed.programToRunToGetChromats: /usr/local/rig/bin/sff2scf&lt;br /&gt;consed.uncompressedChromatDirectory: /tmp&lt;br /&gt;consed.fakeReadsSpecifiedByFilenameExtension: false&lt;br /&gt;consed.primersBadLibrariesFile: badLibraries.txt&lt;br /&gt;&lt;br /&gt;consed 16.0에서도 독자적인 방법으로 454 데이터를 지원하기 시작했다. consed 패키지를 풀면 misc/454 디렉토리에 sffinfo.c와 sff2scf.c라는 두 개의 소스 파일이 생긴다. sffinfo는 SFF 파일에서 read list를 뽑아내는 역할을 하고, sff2scf는 SFF 파일로부터 지정된 read를 추출하여 SCF 형식의 fake trace와 PHD 파일을 만들어낸다(주: consed에 포함된 sff2scf와 GS software에 포함된 sff2scf는 조금 다르다). 이렇게 하면 complete consed folder 옵션 없이 만들어진 454Contigs.ace 파일이라 해도 consed에서 무사히 열릴 것이다. Fake trace와 PHD 파일이 존재하게 되므로 이를 일상적인 read처럼 다루는 것이 가능하다.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Consed 19.0에서 달라진 점 (2009-04-30)&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Consed 19.0은 sff2scf 080821 버전과 함께 쓰여야 한다. 이를 확인하고 싶으면 sff2scf -v라고 실행해 보라. 버전 번호가 나와야 정상이다. 만일 "Error:  Unable to open SCF file:  ../chromat_dir/-v"라고 출력되면 이를 버리고 consed package의 misc/454에 있는 sff2scf를 컴파일하여 설치하라.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;두 종류의 sff2scf 유틸리티&lt;/strong&gt;&lt;br /&gt;기왕 이야기가 나온 김에 두 종류의 sff2scf 유틸리티에 대해서 자세히 알아보자. 먼저 GS software에 포함된 SFF Ttool의 하나인 sff2scf를 알아보자. 기본 설치 위치는 /usr/local/rig/bin/sff2scf가 될 것이다. sff2scf는 consed 환경에서 지정한 trace를 SFF로부터 실시간으로 생성하여 보여주는 도구이다. 사용법은 다음과 같다.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sff2scf locationstring [outputfile]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;locationstring이란 read의 trace 정보에 접근하기 위해 사용하는 경로 혹은 명령어를 의미한다. outputfile은 실시간 생성되는 SCF 파일의 경로이다. 그러나 .consedrc를 위에서 소개한 대로 만들어 두면 sff2scf를 사용자가 직접 만질 필요는 없다. 다음은 GS software manual에 나와있는 SFF Tool의 간략한 소개이다.&lt;br /&gt;&lt;br /&gt;The Genome Sequencer FLX System off-instrument software package contains six programsrelated to the handling of Standard Flowgram Format (SFF) files or other readdata; for combining files into the Standard Flowgram Format (SFF) and filtering reads inSFF files [sfffile]; for generating NCBI Trace Archive submissions of the data [sffvolume];for accessing SFF file information [sffinfo]; for dynamically generating an SCF trace filesuitable for display by the consed software [sff2scf]; for preparing FASTA files with thenecessary annotations for use by the assembler [fnafile]; and for converting Run dataobtained with older versions of the data analysis software (prior to version 1.0.52) [sffcall].These tools are all evoked at the UNIX command-line level. The descriptions belowassume that the reader is familiar with the Genome Sequencer FLX System data and formats,including the SFF file format.&lt;br /&gt;&lt;br /&gt;Consed 16.0에서 새롭게 추가된 454 관련 도구는 sffinfo와 sff2scf 두가지 뿐이다. 사용법은 다음과 같이 비교적 간단하다.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Usage: &lt;strong&gt;sffinfo&lt;/strong&gt; [options...] [- sfffile] [accno...]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Options: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-a or -accno Output just the accessions&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-s or -seq Output just the sequences&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-q or -qual Output just the quality scores&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-f or -flow Output just the flowgrams&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-t or -tab Output the seq/qual/flow as tab-delimited lines&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-n or -notrim Output the untrimmed sequence or quality scores&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-m or -mft Output the manifest text&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Usage: &lt;strong&gt;sff2scf&lt;/strong&gt; sff-filename fof&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Consed에 포함된 454 관련 도구를 사용한다면, GS assembler를 complete consed folder 옵션 없이 실행시켰다 하여도 SFF 파일에 포함된 모든 read에 해당하는 가상 trace와 PHD 파일을 만들 수 있으므로 consed의 기능을 100% 활용하는 것이 가능하다.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Third party solution (sff_dump)&lt;/strong&gt;&lt;br /&gt;sff_dump라는 공개 소프트웨어도 있다. 이는 SFF에서 sequence 파일과 quality file을 추출하는 도구이다. 다음의 사이트를 참조하기 바란다.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://genome.imb-jena.de/software/roche454ace2caf/Poster_UserMeeting_GS20_Munich_070328.pdf"&gt;http://genome.imb-jena.de/software/roche454ace2caf/Poster_UserMeeting_GS20_Munich_070328.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://genome.imb-jena.de/software/roche454ace2caf/"&gt;http://genome.imb-jena.de/software/roche454ace2caf/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://genome.imb-jena.de/software/roche454ace2caf/download/sff_dump-1.02.tar.gz"&gt;http://genome.imb-jena.de/software/roche454ace2caf/download/sff_dump-1.02.tar.gz&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;454 read를 consed에서 직접 확인할 필요가 없다고 생각한다면?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;이상에서 소개한 방법은 이론상 아무런 문제가 없으나 assembly에 포함된 SFF file이 많다면 (쉽게 말하여 consed 실행시 읽어들어야 할 PHD 파일의 수가 너무 많다면) 상당히 불편하다. 454 contig를 충분히 신뢰하여 편집을 할 필요가 없다고 판단한다면, 454 contig 서열과 quality를 이용하여 contig 하나에 해당하는 fake trace를 만들고, 이를 contig 정보로 전환하여 ace file을 만들면 된다. 대부분의 454-based genome finishing은 이렇게 하는 것으로 실용상 문제가 없다고 생각한다. 만일 Sanger read가 일부 포함되어 있다면 454 contig의 정확도(서열로서가 아니라 assembly 측면에서)를 확인 가능하므로 좀 더 확신을 가지고 작업할 수 있다.&lt;br /&gt;&lt;br /&gt;454 contig를 read로 전환하는 방법은 다음과 같다. mktrace를 실행하여 fake trace와 PHD file을 만든다. PHD file은 phd2Ace.perl을 이용하여 각각 하나씩의 ace file로 전환한 다음, 이를 concatenation하고 header를 정리하면 된다. Sanger read를 섞으려면 consed에서 add new reads 기능을 이용하면 된다. 최신 gsAssembler에서 Sanger read와 SFF를 혼합하여 합체하는 것도 가능하다.&lt;br /&gt;&lt;br /&gt;454 contig를 있는 그대로 사용한다면 consed 환경에서 read를 기본 요소로 하여 contig를 나누는 교정 작업이 가능하지만, 이를 하나의 가상 read로 전환하여 single read contig로 만든다면 내부를 끊어내지 못한다는 것에 주의하라.&lt;br /&gt;&lt;br /&gt;454 contig를 가상 read로 전환하여 작업한다 해도, 454Contigs.ace는 나름대로 쓸모가 있다. rRNA operon처럼 repeat-induced overcollapsed contig 내에서 어떠한 heterogeneity가 있는지 확인하거나, 이들이 좌우로 어떤 contig에 연결되는지를 알기 위한다면 말이다.&lt;br /&gt;&lt;br /&gt;/* 분량이 너무 길어지므로 이하 부분은 시리즈물 (2)로 넘기겠다 */&lt;br /&gt;&lt;br /&gt;1) Fosmid, BAC 등의 small target인 경우&lt;br /&gt;BAC의 크기가 100 kb 정도인 것을 감안하면 16분할 구획에서 나온 SFF file 하나로도 충분할 것이다.&lt;br /&gt;&lt;br /&gt;2) Reference genome이 있는 경우&lt;br /&gt;&lt;br /&gt;3) Reference genome이 없는 경우&lt;br /&gt;&lt;br /&gt;/* 계속 작성 중... */&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2126853644294271188-7862172037607393597?l=haeyoungsblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://haeyoungsblog.blogspot.com/feeds/7862172037607393597/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2126853644294271188&amp;postID=7862172037607393597' title='1개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/7862172037607393597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/7862172037607393597'/><link rel='alternate' type='text/html' href='http://haeyoungsblog.blogspot.com/2008/02/gs-data.html' title='GS data를 주로 이용한 피니싱 (1): consed와 GS data'/><author><name>정해영 (Haeyoung Jeong)</name><uri>http://www.blogger.com/profile/15785595805380822762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_4202ZYeNGS4/R4v1U-PCxJI/AAAAAAAAABE/4QUoPuaQwjk/S220/jeong-2007-small.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2126853644294271188.post-8046204581238920393</id><published>2008-02-04T05:37:00.001-08:00</published><updated>2008-02-05T03:37:21.517-08:00</updated><title type='text'>454 pyrosequencing system(GS 20/GS FLX)에서 만들어지는 데이터</title><content type='html'>454 pyrosequencing의 원리에 대해서는 꽤 잘 알려져 있으므로 여기서는 다루지 않겠다. 다만 엔드 유저(장비 오퍼레이터가 아니라)의 입장에서 알아야 할 철저히 실무적인 이야기만 다루고자 한다.&lt;br /&gt;&lt;br /&gt;표준 PicoTiterPlate는 70 x 75 mm의 크기이며, 가스켓을 사용하여 2, 4, 및 16개의 구획으로 나누어 서로 별도의 반응물을 로드할 수 있다. 이러한 구획 하나에서 한개씩의 SFF(Standard Flowgram Format) 파일이 만들어진다. 일반적으로 2분할 가스켓을 쓰게 되므로, 한번의 스탠다드 런을 수행하게 되면 두 개의 SFF file을 얻게 된다. PicoTiterPlate에 존재하는 모든 구멍(well; 직경 44&lt;span style="font-family:Arial;"&gt;미크론짜리 구멍이 50미크론 피치로 촘촘하게 배열&lt;/span&gt;)에 전부 비드를 채우게 되면 인접한 구멍에서 나오는 빛 신호의 간섭이 발생하므로, 구멍을 전부 채우지는 않는다. 하나의 플레이트에서 40만개의 read가 나오게 하는 것이 최적이므로, 표준 조건에서 만들어진 SFF file(2분할)는 각각 20만 read 정도를 포함하고 있다. 그렇다면 하나의 플레이트에서 약 100 Mb가 나온다는 계산은 어디에서 연유하는가?&lt;br /&gt;&lt;br /&gt;400,000 reads x 250 bp/read = 100,000,000 bp = 100 Mb.&lt;br /&gt;&lt;br /&gt;2008년에 나올 업그레이드 모델에서는 read length 400 bp, 1회 런닝에서 얻어지는 판독량은 1GB를 달성하게 된다고 하니 정말 대단한 발전이 아닐 수 없다!&lt;br /&gt;&lt;br /&gt;Sanger sequencing에 의한 whole-genome shotgun project에서는 8-12x 정도의 coverage를 달성하는 것이 표준이었다. 하지만 454 system에서는 같은 coverage로는 충분한 assembly가 되지 않는다. 쉽게 이야기하면 Sanger sequencing에 비해 contig의 수는 더 많고, 길이는 더 짧다는 뜻이 된다. 이는 아마도 454 system에서 얻어지는 read의 길이가 현저히 짧기 때문일 것이다(수학적으로 증명 가능한 것으로 알고 있음). 게다가 454 system의 running cost가 더 적다 보니 여기에서는 20x sequencing coverage를 달성하는 것을 목표로 한다. 따라서 하나의 PicoTiterPlate에서 표준 런닝을 하여 100 Mb 어치의 결과를 얻으면 이는 5 Mb 정도의 세균 유전체에 대해 20배수를 확보한 셈이 된다. 5 Mb라 하면 세균 유전체로서는 중간 이상의 크기인 셈이다. 대장균이 4.6 Mb인 것을 감안한다면.&lt;br /&gt;&lt;br /&gt;국내에서 454 시퀀싱을 하려면 마크로젠이나 NICEM, 또는 한국생명공학연구원 유전체연구단을 통하면 된다. 대개 결과는 contig sequence/quality file과 ace file 정도일 것이다. 하지만 조금 더 적극적인 유저라면 raw data인 SFF file을 입수하여 직접 GS assembler로 합체해 보는 것을 권한다. 하지만 소프트웨어의 라이센스 문제는 조금 더 알아보아야 되겠다. GS system을 구입한 곳에만 사용 권한을 주는 것인지...? 어차피 GS assembler에서 다룰 수 있는 데이터는 GS 장비가 있는 곳을 통해서만 생산되므로, GS assembler는 공개해도 별 문제가 없지 않나 하는 순진한 생각을 해 본다. 특히 GS FLX와 함께 2007년도 9월쯤 출시된 GUI 소프트웨어 버젼에서 많은 개선이 이루어진 것 같다. Sanger read와 GS raw data(SFF로서)를 혼합하여 합체하는데 적당한 도구가 없다는 것이 그동안의 어려운 점이었지만, 최신 소프트웨어에서는 이 기능이 추가되었다. 물론 Sanger read(ab1 file)을 그대로 넣는 것이 아니라 sequence/quality file로 전환하여 사용하게 되어 있다.&lt;br /&gt;&lt;br /&gt;(그런데 무려 8개의 SFF file과 5만개의 ab1 file을 섞어서 합체했더니 오류가 나고 말았다! )&lt;br /&gt;&lt;br /&gt;새 버전의 소프트웨어에 포함된 gsAssembler(GUI)와 runAssembly/runMapping(CLI)가 완전히 동등한지도 좀 더 공부를 해 봐야 되겠다. 똑같은 데이터를 투입했지만 결과가 조금 다르게 나온다던가, GUI에서는 합체에 따르는 몇가지 파라메터를 수정 가능하지만 CLI에서는 매뉴얼을 아무리 보아도 옵션을 통해 설정 변경을 할 수 있는 것 같지가 않다던가... 하지만 이렇게 떠들어 봐야 GS software를 GS 장비 구입자에게만 제공하는 것이 원칙이라고 하면 아무런 소용이 없는 것 아닌가? 이 문제에 대해서는 추후에 로슈 한국 지사에 물어봐야 되겠다.&lt;br /&gt;&lt;br /&gt;다음 게시물에서는 GS data를 기반으로 하여 피니싱을 하는 일반적인 방법에 대해서 논해보고자 한다.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2126853644294271188-8046204581238920393?l=haeyoungsblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://haeyoungsblog.blogspot.com/feeds/8046204581238920393/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2126853644294271188&amp;postID=8046204581238920393' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/8046204581238920393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/8046204581238920393'/><link rel='alternate' type='text/html' href='http://haeyoungsblog.blogspot.com/2008/02/454-pyrosequencing-systemgs-20gs-flx.html' title='454 pyrosequencing system(GS 20/GS FLX)에서 만들어지는 데이터'/><author><name>정해영 (Haeyoung Jeong)</name><uri>http://www.blogger.com/profile/15785595805380822762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_4202ZYeNGS4/R4v1U-PCxJI/AAAAAAAAABE/4QUoPuaQwjk/S220/jeong-2007-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2126853644294271188.post-7457366607599311024</id><published>2008-01-26T06:56:00.000-08:00</published><updated>2008-01-26T07:37:24.258-08:00</updated><title type='text'>Phred/phrap/consed</title><content type='html'>미생물 유전체 해독에서 아직까지 가장 널리 쓰이고 있는 소프트웨어 패키지가 바로 phred/phrap/consed이다. Phred는 basecaller, phrap은 fragment assembler, 그리고 consed는 contig viewer &amp;amp; editor이다. 내가 이 프로그램을 처음 접한 것은 2000년도 였던 것으로 기억한다. 당시 &lt;a href="http://www.genotech.co.kr/"&gt;(주)제노텍&lt;/a&gt;에 근무하고 있었으므로 University of Washington에 $10,000의 라이센스 비용을 지불하고 사용권을 얻었다. Phred는 99년도 판과 2000년도 판이 있었고, phrap은 내가 알기로는 2000년대 들어서 한번도 개정된 바가 없었다. Consed는 내가 처음 쓰기 시작한 것이 12.0이었는데, 2007년 16.0에 이르기까지 꾸준히 개선되고 있다. 지금은 비영리 연구기관에 있다 보니 라이센스 비용이 들지 않는다는 것이 좋기는 하다.&lt;br /&gt;&lt;br /&gt;가장 방대하고 익히기 어려운 것은 이중에서 consed가 아닐까 한다. 단순 텍스트로만 빽빽하게 되어있는 매뉴얼을 프린트 해 놓으면 그 분량만 해도 상당하다! 내 생각으로는 버젼 13.0번 쯤에서 assembly view 기능이 추가된 것이 가장 큰 진보가 아닐까 한다. 이제는 454 pyrosequencing의 결과도 완벽하지는 않지만 다룰 수 있게 되었다.&lt;br /&gt;&lt;br /&gt;엄밀히 말하자면 나는 bioinformatics 또는 computational biology를 제대로 전공한 사람은 아니다. 따라서 서열 단편 합체의 이론 자체에 대해서 완벽한 수학적 이해를 하고 있지는 않다는 뜻이다. 그러나 본격적인 대용량 시퀀싱의 시대를 연 주역인 ABI 3700 DNA analyzer의 작동으로부터 서열 합체, 피니싱 그리고 genome annotation에 이르기까지의 전 과정을 직접 경험해 보았기에 누구보다도 할 말은 많다 :) 특히 이론가들이 간과하기 쉬운 작업 현장의 문제 - 예를 들자면 read name을 왜 바꾸어야 하는가의 문제 - 에 대해서는 비교적 소상하게 알고 있는 편이다.&lt;br /&gt;&lt;br /&gt;Phred와 phrap은 이미 이론적으로 완성된 경지에 이른 프로그램이니 더 이상 업데이트가 되지 않는 것이 이상하지는 않다. 하지만 Consed는 그렇게 오랜 시간 동안을 David Gordon 한 사람에 의해서 계속 개선되어 오고 있다는 것이 놀랍기만 하다. Phil Green lab의 홈페이지에 가면 유난히 깡마른 체구의 David Gordon이 보인다.  미국 대학교의 교수 연구실 체제가 어떻게 돌아가는지는 잘 모르겠지만, 우리나라 같으면 교수와 사무원 빼고는 모두가 '들렀다가 나가는' 사람인 현실을 감안한다면 꾸준히 한 자리에 머무르면서 자기가 개발한 소프트웨어를 계속 책임질 수 있다는 것이 참으로 대단하게 느껴진다.&lt;br /&gt;&lt;br /&gt;콘'세'드인가, 콘'시'드인가? 이에 대한 궁금증 때문에 David에게 직접 메일을 보낸 적이 있었다. 아마도 콘세드로 읽어달라는 답장을 받았던 것 같다. Phred는 Phil Green's read editor, Phrap은 Phil Green's assemly program, consed는 contig sequence editor 정도의 의미일 것이다 (앞의 두개는 확실한 것으로 기억한다).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2126853644294271188-7457366607599311024?l=haeyoungsblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://haeyoungsblog.blogspot.com/feeds/7457366607599311024/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2126853644294271188&amp;postID=7457366607599311024' title='2개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/7457366607599311024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/7457366607599311024'/><link rel='alternate' type='text/html' href='http://haeyoungsblog.blogspot.com/2008/01/phredphrapconsed.html' title='Phred/phrap/consed'/><author><name>정해영 (Haeyoung Jeong)</name><uri>http://www.blogger.com/profile/15785595805380822762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_4202ZYeNGS4/R4v1U-PCxJI/AAAAAAAAABE/4QUoPuaQwjk/S220/jeong-2007-small.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2126853644294271188.post-7283310691342802112</id><published>2008-01-25T20:15:00.000-08:00</published><updated>2008-01-25T20:31:09.308-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='유전체 프로젝트'/><title type='text'>phred/phrap/consed, AMOS, 그리고 Celera Assembler</title><content type='html'>미생물 유전체 프로젝트의 실무를 맡은지도 올해로 벌써 9년째이다. 한가지 분야의 일에 오래 종사하다 보니 자잘한 노하우도 꽤 많이 축적한 셈이 되었다. 고속 시퀀싱 기술이 유행하고는 있지만 실제 자기 손으로 유전체 프로젝트를 다루어 본 사람은 많지 않은 것 같다. 대학원이나 벤쳐 기업의 경우 인력의 이동이 잦다 보니 실무 경험을 가진 사람이 유지되기 어렵고, 정부출연연구소의 경우에는 정규직 연구원이 되고 나면 조금씩 실무에서 멀어지는 경향이 있어서 역시 그 기술이 유지되기 어려운 경우를 많이 보았다.&lt;br /&gt;&lt;br /&gt;유전체 프로젝트는 수요가 꾸준하지만 막상 열의를 가지고 배우려는 사람이 많지 않다. 어쩌면 이것이 그동안 내가 후배들을 양성하지 못한 핑계(?)일지도 모르겠다. 내가 알고 있는 지식을 직접 사람들에게 전달할 기회가 생기지 않는다면, 온라인을 통해서 할 수도 있는 것 아니겠는가? 그동안 나는 얼마나 많은 지식을 인터넷을 통해 입수했는가? 미력하나마 이제는 내가 정보의 제공자 역할을 할 때가 된 것 같다.&lt;br /&gt;&lt;br /&gt;어제부터 AMOS 및 셀레라 어셈블러 활용 매뉴얼 문서를 작성하기 시작하였다. 얼마나 걸릴지는 모르겠지만 이제는 나를 위해서도 해야 하는 일이라 생각한다. 사실 미생물 유전체 해독 문제로 나에게 SOS를 치는 친구나 동료 과학자가 상당히 있다. 내 몸이 한개이니 이들이 원할때마다 방문하여 조언을 하기는 어렵다. 대신 온라인을 통해 공개하려고 한다. 기밀이 필요한 연구 분야도 있지만, 내가 하는 분야는 그렇지는 않다. 이것이 국민의 세금으로 운영되는 정부출연연구소의 연구자가 갖출 마땅한 자세라고 생각한다.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2126853644294271188-7283310691342802112?l=haeyoungsblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://haeyoungsblog.blogspot.com/feeds/7283310691342802112/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2126853644294271188&amp;postID=7283310691342802112' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/7283310691342802112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/7283310691342802112'/><link rel='alternate' type='text/html' href='http://haeyoungsblog.blogspot.com/2008/01/phredphrapconsed-amos-celera-assembler.html' title='phred/phrap/consed, AMOS, 그리고 Celera Assembler'/><author><name>정해영 (Haeyoung Jeong)</name><uri>http://www.blogger.com/profile/15785595805380822762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_4202ZYeNGS4/R4v1U-PCxJI/AAAAAAAAABE/4QUoPuaQwjk/S220/jeong-2007-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2126853644294271188.post-6954467345275488299</id><published>2008-01-14T15:52:00.000-08:00</published><updated>2008-02-06T14:35:20.327-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='잡담'/><title type='text'>사진 올리기 성공</title><content type='html'>bloggers.com 도메인에 대한 쿠키 차단을 해제했더니 비로소 사진이 올라가게 되었다. 이렇게 하는 것이 맞는 것인지는 잘 모르겠지만^^&lt;br /&gt;&lt;br /&gt;최저 -7도, 최고 0도의 제법 추운 겨울날씨이다.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2126853644294271188-6954467345275488299?l=haeyoungsblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://haeyoungsblog.blogspot.com/feeds/6954467345275488299/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2126853644294271188&amp;postID=6954467345275488299' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/6954467345275488299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/6954467345275488299'/><link rel='alternate' type='text/html' href='http://haeyoungsblog.blogspot.com/2008/01/blog-post_14.html' title='사진 올리기 성공'/><author><name>정해영 (Haeyoung Jeong)</name><uri>http://www.blogger.com/profile/15785595805380822762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_4202ZYeNGS4/R4v1U-PCxJI/AAAAAAAAABE/4QUoPuaQwjk/S220/jeong-2007-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2126853644294271188.post-6004803916185951982</id><published>2008-01-09T17:38:00.001-08:00</published><updated>2008-02-06T14:34:59.315-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='잡담'/><title type='text'>왜 프로필 작성을 하는데 사진이 안올라가지?</title><content type='html'>프로필 작성을 하는데 사진이 업로드되지 않고 있다. 이유가 뭘까...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2126853644294271188-6004803916185951982?l=haeyoungsblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://haeyoungsblog.blogspot.com/feeds/6004803916185951982/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2126853644294271188&amp;postID=6004803916185951982' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/6004803916185951982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/6004803916185951982'/><link rel='alternate' type='text/html' href='http://haeyoungsblog.blogspot.com/2008/01/blog-post_09.html' title='왜 프로필 작성을 하는데 사진이 안올라가지?'/><author><name>정해영 (Haeyoung Jeong)</name><uri>http://www.blogger.com/profile/15785595805380822762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_4202ZYeNGS4/R4v1U-PCxJI/AAAAAAAAABE/4QUoPuaQwjk/S220/jeong-2007-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2126853644294271188.post-2241733753830050635</id><published>2008-01-09T17:38:00.000-08:00</published><updated>2008-02-06T14:34:38.381-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='잡담'/><title type='text'>왜 프로필 작성을 하는데 사진이 안올라가지?</title><content type='html'>프로필을 수정하기 위해 사진 파일을 지정했지만 업로드가 되지 않는다. 왜그럴까?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2126853644294271188-2241733753830050635?l=haeyoungsblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://haeyoungsblog.blogspot.com/feeds/2241733753830050635/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2126853644294271188&amp;postID=2241733753830050635' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/2241733753830050635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/2241733753830050635'/><link rel='alternate' type='text/html' href='http://haeyoungsblog.blogspot.com/2008/01/blog-post_603.html' title='왜 프로필 작성을 하는데 사진이 안올라가지?'/><author><name>정해영 (Haeyoung Jeong)</name><uri>http://www.blogger.com/profile/15785595805380822762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_4202ZYeNGS4/R4v1U-PCxJI/AAAAAAAAABE/4QUoPuaQwjk/S220/jeong-2007-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2126853644294271188.post-1311105421008293607</id><published>2008-01-09T17:18:00.000-08:00</published><updated>2008-02-06T14:33:28.396-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='잡담'/><title type='text'>구글의 블로그 서비스를 처음 시작하면서</title><content type='html'>그동안 네이버의 블로그를 사용해 왔는데, 가장 강력한 검색 엔진인 구글에서 내 블로그가 전혀 검색되지 않는다는 사실을 알게 되었다. 오로지 네이버를 통해서만 내 정보를 검색할 수 있다는 것은 답답하지 않은가? 구글에서 이런 서비스를 한다고 하니 정말 다행스러울 따름이다.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2126853644294271188-1311105421008293607?l=haeyoungsblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://haeyoungsblog.blogspot.com/feeds/1311105421008293607/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2126853644294271188&amp;postID=1311105421008293607' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/1311105421008293607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2126853644294271188/posts/default/1311105421008293607'/><link rel='alternate' type='text/html' href='http://haeyoungsblog.blogspot.com/2008/01/blog-post.html' title='구글의 블로그 서비스를 처음 시작하면서'/><author><name>정해영 (Haeyoung Jeong)</name><uri>http://www.blogger.com/profile/15785595805380822762</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_4202ZYeNGS4/R4v1U-PCxJI/AAAAAAAAABE/4QUoPuaQwjk/S220/jeong-2007-small.png'/></author><thr:total>0</thr:total></entry></feed>
