2010년 9월 16일 목요일

Paired end sequencing vs Mate pair library sequencing

Sanger chemistry를 이용한 전통적인 샷건 시퀀싱에 익숙해 있는 내게 paired end sequencing이나 mate pair (library) sequencing이나 다를 바가 없다. 그런데 며칠 전 Illumina의 시퀀싱에 대해 검토하다가 이 두 가지 방법을 다르게 기술하고 있는 것으로 알고 깜짝 놀랐다. 라이브러리를 만드는 방법 자체가 다르기에 이를 구별할 수도 있겠지만, 나같이 전통 기술에 익숙한 사람에게는 혼동을 불러 일으킬 수도 있다. Illumina에서 이야기하는 mate pair library는 일종의 jumping library라고 하는 것이 기술적으로 더 정확할 수 있겠다.

Paired-End Sequencing - Acheving maximum coverage across the genome (Illumina)

Mate Pair Library Sequencing - Characterization genome variation (Illumina)


플라스미드에 클로닝하여 만든 라이브러리를 가지고 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이라 해도 대장균을 좀먹는(?) 시스템을 가지고 대용량 시퀀싱을 하기는 좀 위험할 것이다.

Paired end sequencing이 왜 유용한가에 대해서는 이 글에서 설명하지 않아도 쉽게 알 수 있을 것이다. Resequencing이 일상화된 요즘, structural variation의 검출이라는 새로운 용도가 더해졌다는 것만 강조하자.

Genomic fragment를 뒤집어 붙여 원형을 만들어서, 수 kb 이상 멀리 떨어진 부분을 DNA 상의 연속적인 서열로 만들어 버린 뒤 이용하는 jumping library는 누가 가장 먼저 생각해 냈을까? 2005년 Science지를 장식했던 Jay Shendure의 polony sequencing에서 처음 쓰였던 것일까?

http://www.sciencemag.org/cgi/content/full/309/5741/1728

번거로와서 더 이상 거슬러 올라가지는 못하겠다. 여기서 mate-paired library란 말을 쓰고 있기는 하다. 그렇다면... mate에 해당하는(실제로는 fragment 길이만큼 떨어져 있어야 하지만) 한 쌍의 서열을 정말로 물리적으로 아주 가깝게, 짝을 이루도록(paired) 이어 놓았다는 것으로 이해해야 하나? ABI SOLiD의 기술을 소개하는 페이지에서도 mate-paired library라는 용어를 쓰고 있다. 자, 그럼 중간 결론을 내리자. 일반적인 의미의 mate pair와 mate pair(ed) library는 다르다! 그런데 위키피디아에서는 아예 Paired-end Tags라는 항목까지 있다. Paired end sequencing과 혼동할 소지가 있다...

http://en.wikipedia.org/wiki/Paired-end_Tags

정말이지 용어의 순화가 필요하겠다. 위 단락에서 빨간 색으로 표시한 것에 해당하는 라이브러리 및 이에 대한 시퀀싱을 가리키는 말을 다른 것으로 바꾸면 안될까?

내 기억이 맞다면, 원래 mate pair는 클로닝된 DNA 단편의 양 끝에서 만들어진 read의 쌍을 의미할 뿐 그 이상도 이하도 아니었다. Mate 혹은 mate pair라고만 쓰였지 Shendure에 의해서 특별한 방법을 사용해 만들어진 library로서 mate pair library라는 말이 쓰인 것 같다. 시퀀싱의 측면에서 본다면 mate를 만들어 내는 paired end sequencing과 쓰임새가 같지만.

생각난 김에 검색을 좀 해보자. 아하, "pairwise end sequencing"이 가장 역사가 오랜 용어로구나.

Pairwise end sequencing: a unified approach to genomic mapping end sequencing. Genomics 26:345-53 (1995)

이 논문에서는 어디에서도 "paired end"라는 말은 나오지 않는다. 하지만 pairwise end나 paired end나 뭐가 다른가...

2010년 9월 15일 수요일

Illumina-Solexa read 다루기

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는 사용자가 편집한 값을 표현하는 용도로 쓰인다.

ASCII 32는 공백이므로, 인쇄 가능한 형태의 문자로 표현되는 ASCII 33~126이 FASTQ에서의 quality score로 쓰인다. 그러면 Phred score를 FASTQ format으로 표현하려면 어떻게 해야 하는가? 93보다 큰 값은 93으로, 이보다 작은 값은 그대로 둔 뒤 33을 더한 다음, 이 ASCII 값에 해당하는 문자로 변환하면 된다. 요약한다면 0~93까지의 Phred score를 33~126 범위의 숫자로 변환하여, 문자로 전환한다는 뜻이다.

이를 간단한 Perl code로 표현해 보자. Phred quality를 $Q, Sanger FASTQ의 값을 $q라 하면,

$q = chr(($Q<=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); http://maq.sourceforge.net/fastq.shtml에서 참조.

ord() 함수는 인수로 주어진 문자의 ASCII 값을 반환한다. Nucleic Acids Research 38(6) 1767-71에 Sanger FASTQ file format과 Solexa/Illumina FASTQ variant에 대한 상세한 내용이 나와있다.

maq를 이용해서 Illumina-Solexa 결과를 Sanger type의 FASTQ로 바꿀 수 있다.

maq sol2sanger s_1_sequence.txt s_1_sequence.fastq

s_1_sequence.txt가 Solexa read sequene file이다.

[2012년 7월 11일에 추가 작성]

quality score를 ASCII 값으로 전환하기 위해 더해주는 기본 값이 Sanger standard FASTQ(64)와 Illumina FASTAQ(33)가 서로 달랐었지만, CASAVA(Illumina pipeline) 1.6부터인가는 64로 통일되었다. 따라서 2011년 봄 이후로 생산되는 일루미나 데이터에 대해서는 quality encoding의 호환성에 대해 고민할 필요가 없어졌다. 매우 다행스런 일이다.