Call me @ +82-10-6370-4486
Professor, School Systems Biomed. Sci., Soongsil University, Seoul, Korea
Research & Education in
-
Bioinformatics & Computational Biology
-
Genomics & Biomedical informatics
숭실대학교 崇實大學校
의생명시스템학부 교수
전문 분야
-
생명정보학 (유전체정보학)
-
임상의료정보학
Genome Assembly
생거 시퀀싱으로 한번에 500 염기 정도만 해독할 수 있는데, 수백만 염기로 이뤄진 박테리아의 게놈을 완전히 해독하려면 어떻게 해야 할까? 아래 그림처럼 똑같은 DNA 2개의 분자가 있다고 하자. 이들을 무작위로 자르면, 그 절단 부위가 서로 다를 것이다. 첫째 분자는 왼쪽에서 잘라지고, 두번째 분자는 오른쪽에서 잘라진다고 가정하자. 이들 4개의 조각을 시퀀싱하여 서로 비교하면 원래 DNA의 서열을 복구할 수 있을 것이다. 즉, 서열을 이용하면, 서열과 서열을 연결할 수 있다는 것을 알게 되고, 또한, 서열을 이용하여 서열과 서열을 연결할 수 있다는 것을 알게 된다. 즉, 전체 서열을 복구할 수 있게 되는 것이다.
만약에 위 그림에서 살펴 본 4개의 DNA 조각들이 생거 시퀀싱으로 한번에 읽을 수 있는 500 염기보다 길이가 길다면 어떻게 할 것인가? 그러면 각 DNA 조각들의 5' 말단 500 염기 정도만 읽게 될 것이며, 결과적으로 DNA 조각들을 연결하는 부위를 시퀀싱하지 못할 수도 있을 것이다. 이럴 때는 원래의 DNA를 2 개의 분자가 아니라, 더 많은 분자들를 가지고 무작위로 잘라서 시퀀싱을 하고 조립하면 될 것이다. 여기서 다음을 답해 보세요.
-
원래의 DNA가 2,000 염기쌍으로 이뤄져 있고, 하나의 DNA 분자는 무작위 절단이 한번만 일어나서 2 조각으로 나눠질 수 있을 때, 생거 시퀀싱으로 원래 DNA 서열을 복구하려면, 원래 DNA를 적어도 몇 분자 이상 시퀀싱하여야 하는가?
Genome coverage
Haemophilus influenzae라는 박테리아 게놈의 길이는 1.83 Mb로 알려져 있다. 이 박테리아를 많이 배양하여 무작위로 절단한 후, 그 중에서 3600 여개의 DNA 조각을 주워서 500 염기씩 시퀀싱을 하였다면, 시퀀싱된 전체 길이는 1.8 Mb 정도될 것이며 전체 게놈을 한번 덮을 수 있는 양이다. 이를 coverage 1이라고 부른다. 문제는 무작위로 줍다보면, 모든 부위를 고루 덮을 수 있는 것이 아니라, 여러번 덮힌 부위도 있고, 한번도 덮히지 않은 부위도 생길 수 있다. 이러한 이벤트는 포아송 확률을 따른다고 알려져 있는데, 이에 따르면 전체 게놈의 약 37%가 한번도 덮히지 않을 수 있다는 것이다. 더 많은 DNA 조각을 주워서 시퀀싱을 한다면 이론적인 coverage는 높아질 것이며, 이에 따라서 시퀀싱이 되지 않을 부위도 급격히 줄게 된다. Gap의 총 길이가 전체 게놈의 약 1% 이하이기를 기대하려면, 어느 정도 시퀀싱을 하여야 할까?
-
coverage를 'm'이라고 했을 때, gap이 생길 확률은 p = e(-m) 임
-
p = 0.01 이면, m = -ln(0.01) ~ 4.6
-
1.8 Mb x 4.6 = 8.3 Mb를 시퀀싱하여야 하며, 500 염기씩 시퀀싱한다면, 16,560개의 DNA 조각을 시퀀싱하여야 함
-
gap이 생길 확률이 1%였으니, 16,560개의 DNA 조각이 덮지 못하는 gap의 갯수는 약 165개 정도됨
-
따라서 gap의 평균 길이는 약 110 염기 정도될 것임
시퀀싱이 가능하도록 무작위로 절단한 DNA 조각들을 모아 놓은 것을 라이브러리라고 부른다. DNA 조각들이 무작위로 생성되고 그 길이 일정할수록 시퀀싱 라이브러리는 우수한 것이라고 볼 수 있다. 이를 가름하기 위해서, 시퀀싱 초기에 그때까지 시퀀싱한 데이터를 가지고 조립을 한 후에, 콘티그의 갯수를 포아송 확률에 의해 기대되는 값과 비교하여 이상적인 값을 갖는지 확인할 수 있다.
Shotgun sequencing
Repeats stumbling assembly
게놈 서열에는 각 부위에만 고유한 서열이 대부분이지만, 다른 부위에서도 발견되는 것들이 있는데 이를 반복 서열이라고 부른다. 시퀀싱을 통해서 한번에 읽을 수 있는 길이보다 아주 짧은 것은 게놈조립에 영향을 큰 미치지 않으나, 긴 것은 오른쪽 그림에서 보는 것처럼 문제를 야기할 수 있다. Reference라고 표시되어 있는 원래 서열에 보면, 푸른 색으로칠해져 있는 "TCTTAGCGGA"는 두번 나타난다. 이 반복서열은 10염기짜리라서 12염기씩 읽은 시퀀싱 길이보다는 약간 짧지만, 운이 나쁘게도 이 반복서열의 앞뒤에 여유를 가지고 온전히 포함하는 서열을 얻지는 못했다. 이런 데이터를 조립하는 소프트웨어는 전체를 하나의 콘티그로 만들지 못하고 3개의 블록으로만 조립하게 된다.
오른쪽 그림에서 "A", "B", "C", "D"는 고유한 서열 부위를 나타내지만, "R"은 게놈 상에 3번 나타나는 반복 부위를 표시한다. 조립 소프트웨어를 이용하여 1~4번의 4개의 콘티그를 얻었다면, 이들을조합하는 방법은 한 가지가 아닐 것이다. 정답은 "target DNA"라고 표시된 것처럼, 1번은 2번과 묶이고, 2번은 3번과, 3번은 4번과 묶인 것이라면, 1번은 2번과 묶일 수도 있지마, 3번과 잘못 묶여도 이를 알아낼 수는 없다. 마찬가지로 2번은 3번말고 4번과도 묶일 수 있다.
Paired-end sequencing
위에서 언급한 반복서열때문에 생기는 조립 상의 애로점을 해소하는 한 방법은 소위 쌍끝 시퀀싱이라는 것이다. 하나의 DNA 조각의 양쪽 끝을 각각 시퀀싱하는 것이다. 조각의 길이가 1kb 이상이라면 생거 시퀀싱으로 양끝을 500 염기씩 읽어도 가운데는 읽지 못하는 부위가 생길 수 있다. 하지만 이 부위는 다른 조각을 시퀀싱하여 메울 수 있다. 오른쪽 그림에서 숫자는 DNA 조각을 나타내며, "F"는 DNA 조각의 앞 부분을 정방향으로 읽은 것이고, "R"로 표시된 것은 같은 DNA 조각의 뒷 부분을 역방향으로 읽은 것을 나타낸다. DNA는 이중 나선이고, 시퀀싱 반응은 반드시 5' 말단에서 3' 말단 방향으로 일어나기에, 뒷 부분을 읽을 때는 앞 부분을 읽을 때와는 다른 가닥을 읽게 된다. DNA 조각 1~3을 쌍끝 시퀀싱한 서열 사이의 중첩되는 부위를 이용하여 "assembly 1"을 얻을 수 있고, 마찬가지로 4~6번 조각의 서열을 이용히여 "assembly 2"를 얻을 수 있다. 이들 조각의 특징은 한쪽은 "A"나 "B"처럼 고유 부위를 포함하지만 반대편은 "R"로 표시된 반복서열 부위를 위치한다는 것이다. 비록 "3R"과 "4F"가 중첩되어서 "assembly 1"과 "assembly 2"를 이을 수 있을 것같지만, 위에서 언급한 misassembly 문제를 배제할 수 없는 상황이다. 이때 7번 조각처럼, 고유한 부위인 "A"와 "B"를 동시에 걸치는 것이 시퀀싱되면, 비로소 "assembly 1"과 "assembly 2"를 직접 연결해도 이상없다는 것을 알 수 있게 된다. 여기서 주목할 것은, 7번 조각은 다른 조각과 달리 반복서열 "R"을 건너 뛸 수 있을 정도로 길다는 것이다. 즉, 쌍끝 시퀀싱으로 반복서열 문제를 해결하려면, 반복서열보다 긴 DNA 조각으로 이뤄진 라이브러리가 필요하다는 것이다. 일반적으로 길이가 긴 조각으로 이뤄진 라이브러리는 제조하기가 상대적으로 어렵다고 알려져 있다. 10 kb 이상 긴 것은 쌍끝 시퀀싱보다는 이것을 변형한 짝쌍 (mate pair) 라이브러리를 만들어 시퀀싱을 한다.