KR20140054674A - 염기 서열 재조합 시스템 및 방법 - Google Patents

염기 서열 재조합 시스템 및 방법 Download PDF

Info

Publication number
KR20140054674A
KR20140054674A KR1020120120447A KR20120120447A KR20140054674A KR 20140054674 A KR20140054674 A KR 20140054674A KR 1020120120447 A KR1020120120447 A KR 1020120120447A KR 20120120447 A KR20120120447 A KR 20120120447A KR 20140054674 A KR20140054674 A KR 20140054674A
Authority
KR
South Korea
Prior art keywords
lead
seed
mapping position
global
reference value
Prior art date
Application number
KR1020120120447A
Other languages
English (en)
Other versions
KR101482011B1 (ko
Inventor
박민서
Original Assignee
삼성에스디에스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성에스디에스 주식회사 filed Critical 삼성에스디에스 주식회사
Priority to KR20120120447A priority Critical patent/KR101482011B1/ko
Priority to PCT/KR2013/007288 priority patent/WO2014069766A1/ko
Priority to US13/972,233 priority patent/US20140121992A1/en
Priority to CN201310369701.8A priority patent/CN103793623B/zh
Publication of KR20140054674A publication Critical patent/KR20140054674A/ko
Application granted granted Critical
Publication of KR101482011B1 publication Critical patent/KR101482011B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids
    • CCHEMISTRY; METALLURGY
    • C12BIOCHEMISTRY; BEER; SPIRITS; WINE; VINEGAR; MICROBIOLOGY; ENZYMOLOGY; MUTATION OR GENETIC ENGINEERING
    • C12QMEASURING OR TESTING PROCESSES INVOLVING ENZYMES, NUCLEIC ACIDS OR MICROORGANISMS; COMPOSITIONS OR TEST PAPERS THEREFOR; PROCESSES OF PREPARING SUCH COMPOSITIONS; CONDITION-RESPONSIVE CONTROL IN MICROBIOLOGICAL OR ENZYMOLOGICAL PROCESSES
    • C12Q1/00Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions
    • C12Q1/68Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions involving nucleic acids
    • C12Q1/6869Methods for sequencing
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids
    • G16B30/10Sequence alignment; Homology search

Landscapes

  • Life Sciences & Earth Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Biotechnology (AREA)
  • Analytical Chemistry (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Medical Informatics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Organic Chemistry (AREA)
  • Zoology (AREA)
  • Wood Science & Technology (AREA)
  • Microbiology (AREA)
  • Molecular Biology (AREA)
  • Immunology (AREA)
  • Biochemistry (AREA)
  • General Engineering & Computer Science (AREA)
  • Genetics & Genomics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)

Abstract

염기 서열 재조합 시스템 및 방법이 개시된다. 본 발명의 일 실시예에 따른 염기 서열 재조합 시스템은, 리드로부터 생성된 복수 개의 시드들 중 하나의 시드를 선택하고, 선택된 시드의 대상 서열에서의 맵핑 위치를 계산하는 맵핑 위치 계산부; 및 계산된 상기 맵핑 위치로부터 상기 선택된 시드에 대한 중복 판단 영역을 계산하고, 계산된 상기 중복 판단 영역 내에서 전역 정렬이 기 수행되었는지의 여부를 판단하여, 수행되지 않은 경우 상기 계산된 맵핑 위치에서 상기 선택된 리드에 대한 전역 정렬(Global Alignment)을 수행하는 전역 정렬부를 포함한다.

Description

염기 서열 재조합 시스템 및 방법{SYSTEM AND METHOD FOR ALIGNING GENOME SEQUENCE}
본 발명의 실시예들은 유전체의 염기 서열을 분석하기 위한 기술과 관련된다.
저렴한 비용과 빠른 데이터 생산으로 인해 대용량의 짧은 서열을 생산하는 차세대 시퀀싱(NGS; Next Generation Sequencing)이 전통적인 생거(Sanger) 시퀀싱 방식을 빠르게 대체하고 있다. 또한 다양한 NGS 서열재조합 프로그램들이 정확도에 초점을 맞추어 개발되었다. 그러나, 최근 차세대 시퀸싱 기술이 발전함에 따라 단편서열을 만들어 내는 비용이 예전의 절반 이하가 되었고, 이에 따라 사용할 수 있는 데이터의 양이 많아지게 되어서, 대용량의 짧은 서열들을 빠른 시간에 정확하게 처리하기 위한 기술이 필요하게 되었다.
서열 재조합의 첫 번째 단계는 염기 서열 정렬(alignment) 알고리즘을 통해 리드를 참조 서열의 정확한 위치에 맵핑(mapping)하는 것이다. 여기서의 문제점은 같은 종의 개체라 할지라도 다양한 유전적 변이로 인해 유전체 서열에 차이가 있을 수 있다는 점이다. 또한 시퀀싱 과정에서의 오류로 인해서도 염기 서열에 차이가 생길 수 있다. 따라서 염기 서열 정렬 알고리즘은 이러한 차이와 변이를 효과적으로 고려해서 맵핑 정확도를 높이지 않으면 안 된다.
결론적으로, 유전체 정보의 분석을 진행하기 위해서는, 될 수 있는 한 많은 수의 정확한 전체 유전체 정보 데이터가 필요하다. 또 이를 위해서는 무엇보다도 뛰어난 정확도와 큰 처리량을 갖는 염기 서열 정렬 알고리즘을 개발하는 것이 선행되어야 한다. 그러나 종래의 방법들은 이러한 요구 조건들을 만족시키는 데 한계가 있었다.
본 발명의 실시예들은 맵핑 정확도를 보장하는 동시에 맵핑 시의 복잡도를 개선하여 처리 속도를 높일 수 있는 염기 서열 재조합 수단을 제공하는 데 그 목적이 있다.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 염기 서열 재조합 시스템은, 리드로부터 생성된 복수 개의 시드들 중 하나의 시드를 선택하고, 선택된 시드의 대상 서열에서의 맵핑 위치를 계산하는 맵핑 위치 계산부; 및 계산된 상기 맵핑 위치로부터 상기 선택된 시드에 대한 중복 판단 영역을 계산하고, 계산된 상기 중복 판단 영역 내에서 전역 정렬이 기 수행되었는지의 여부를 판단하여, 수행되지 않은 경우 상기 계산된 맵핑 위치에서 상기 선택된 리드에 대한 전역 정렬(Global Alignment)을 수행하는 전역 정렬부를 포함한다.
한편, 상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 염기 서열 재조합 방법은, 맵핑 위치 계산부에서, 리드로부터 생성된 복수 개의 시드들 중 하나의 시드를 선택하고, 선택된 시드의 대상 서열에서의 맵핑 위치를 계산하는 단계; 전역 정렬부에서, 계산된 상기 맵핑 위치로부터 상기 선택된 시드에 대한 중복 판단 영역을 계산하는 단계; 및 상기 전역 정렬부에서, 계산된 상기 중복 판단 영역 내에서 전역 정렬이 기 수행되었는지의 여부를 판단하여, 수행되지 않은 경우 상기 계산된 맵핑 위치에서 상기 선택된 리드에 대한 전역 정렬(Global Alignment)을 수행하는 단계를 포함한다.
한편, 본 발명의 일 실시예에 따른 장치는 하나 이상의 프로세서; 메모리; 및 하나 이상의 프로그램을 포함하는 장치로서, 상기 하나 이상의 프로그램은 상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성되며, 상기 프로그램은, 리드로부터 생성된 복수 개의 시드들 중 하나의 시드를 선택하고, 선택된 시드의 대상 서열에서의 맵핑 위치를 계산하는 단계; 계산된 상기 맵핑 위치로부터 상기 선택된 시드에 대한 중복 판단 영역을 계산하는 단계; 및 계산된 상기 중복 판단 영역 내에서 전역 정렬이 기 수행되었는지의 여부를 판단하여, 수행되지 않은 경우 상기 계산된 맵핑 위치에서 상기 선택된 리드에 대한 전역 정렬(Global Alignment)을 수행하는 단계를 실행하기 위한 명령어들을 포함한다.
본 발명의 실시예들에 따를 경우, 염기 서열 정렬 시 전역 정렬을 수행한 위치를 기억해 두었다가 해당 위치의 주변에서는 전역 정렬을 수행하지 않으므로, 염기 서열 정렬 과정에서 많은 시간이 소요되는 전역 정렬의 수행 횟수를 감소시킬 수 있으며, 이에 따라 염기 서열 정렬 시간을 대폭 감소시킬 수 있다.
또한 상기와 같이 전역 정렬을 중복하여 수행하지 않는 중복 영역의 크기를 리드의 길이에 비례하도록 설정함으로써, 염기 서열 정렬 시간을 감소하면서도 염기 서열 정렬의 정확도를 유지할 수 있는 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 염기 서열 재조합 방법을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 염기 서열 정렬 방법의 에러 개수 계산 과정을 예시하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 전역 정렬 과정을 설명하기 위한 순서도이다.
도 4a 내지 4e는 본 발명의 일 실시예에 따른 전역 정렬 과정을 예를 들어 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 염기 서열 재조합 시스템을 도시한 블록도이다.
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하의 실시예는 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
본 발명의 실시예들을 상세히 설명하기 앞서, 먼저 본 발명에서 사용되는 용어들에 대하여 설명하면 다음과 같다.
먼저, "리드(read)"란 게놈 시퀀서(genome sequencer)에서 출력되는 짧은 길이의 염기서열 데이터이다. 리드의 길이는 게놈 시퀀서의 종류에 따라 일반적으로 35~500bp(base pair) 정도로 다양하게 구성되며, 일반적으로 DNA 염기의 경우 A, C, G, T의 알파벳 문자로 표현된다.
"대상 염기 서열"이란 상기 리드들로부터 전체 염기 서열을 생성하는 데 참조가 되는 염기 서열(reference sequence)을 의미한다. 염기 서열 분석에서는 게놈 시퀀서에서 출력되는 다량의 리드들을 대상 염기 서열에 맵핑함으로써 전체 염기 서열을 완성하게 된다. 본 발명에서 상기 대상 염기 서열은 염기 서열 분석 시 미리 설정된 서열(예를 들어 인간의 전체 염기 서열 등)일 수도 있으며, 또는 게놈 시퀀서에서 만들어진 염기 서열을 대상 염기 서열로 사용할 수도 있다.
"베이스(base)"는 대상 염기 서열 및 리드를 구성하는 최소 단위이다. 전술한 바와 같이 DNA 염기의 경우 A, C, G 및 T의 네 종류의 알파벳 문자로 구성될 수 있으며, 이들 각각을 베이스라 표현한다. 다시 말해 DNA 염기의 경우 4개의 베이스로 표현되며, 이는 리드 또한 마찬가지이다.
"시드(seed)"란 리드의 맵핑을 위하여 리드와 대상 염기 서열을 비교할 때의 단위가 되는 시퀀스이다. 이론적으로 리드를 대상 염기 서열에 맵핑하기 위해서는 리드 전체를 대상 염기 서열의 가장 첫 부분부터 순차적으로 비교해 나가면서 리드의 맵핑 위치를 계산하여야 한다. 그러나 이와 같은 방법의 경우 하나의 리드를 맵핑하는 데 너무 많은 시간 및 컴퓨팅 파워가 요구되므로, 실제로는 리드의 일부분으로 구성된 조각인 시드를 먼저 대상 염기 서열에 맵핑함으로써 전체 리드의 맵핑 후보 위치를 찾아 내고 해당 후보 위치에 전체 리드를 맵핑(전역 정렬; Global Alignment)하게 된다.
도 1은 본 발명의 일 실시예에 따른 염기 서열 재조합 방법(100)을 설명하기 위한 도면이다. 본 발명의 실시예에서, 염기 서열 재조합 방법(100)이란 게놈 시퀀서(genome)에서 출력되는 리드를 대상 염기 서열과 비교하여 리드의 상기 대상 염기 서열에서의 맵핑(또는 정렬) 위치를 결정하여 전체 서열을 완성하는 일련의 과정을 의미한다.
먼저, 게놈 시퀀서(genome sequencer)로부터 리드가 입력되면(102), 리드 전체와 상기 대상 염기 서열과의 일치 정합(exact matching)을 시도한다(104). 만약 상기 시도 결과 리드 전체에 대한 일치 정합이 성공한 경우에는 이후의 정렬 단계를 수행하지 않고 정렬에 성공한 것으로 판단한다(106).
인간의 염기 서열을 대상으로 한 실험 결과, 게놈 시퀀서에서 출력되는 100만 개의 리드를 인간의 염기 서열에 일치 정합할 경우, 각 리드의 길이가 755bp일 때, 총 200만회의 정렬 중(정방향 시퀀스 100만회, 역상보(reverse complement) 방향 시퀀스 100만회) 231,564회의 일치 정합이 발생되는 것으로 나타났다. 따라서 상기 104 단계의 수행 결과 약 11.6%만큼의 정렬 소요량을 감소시킬 수 있었다.
그러나, 이와 달리 상기 106 단계에서 해당 리드가 일치 정합되지 않는 것으로 판단되는 경우에는 해당 리드를 상기 대상 서열에 정렬했을 때 나타날 수 있는 에러 개수(mismatch)를 계산한다(108).
도 2는 상기 108 단계에서의 상기 에러 개수 계산 과정을 예시하기 위한 도면이다. 먼저, 도 2의 (a)에 도시된 바와 같이 에러 개수의 최초값을 0으로 설정하고(mismatch = 0) 리드의 가장 첫 번째 베이스부터 오른쪽으로 한 베이스씩 이동하면서 일치 정합을 시도한다. 이때 (b)에 도시된 바와 같이 리드의 특정 베이스(화살표로 표시)에서부터 더 이상 일치 정합이 불가능하다고 가정하자. 이 경우는 리드의 정합 시작 위치부터 현재 위치 사이의 구간 어딘가에서 에러가 발생한 것을 의미한다. 따라서 이 경우에는 에러 개수의 값을 1만큼 증가시키고(mismatch = 0 -> 1), 다음 위치에서 새로 일치 정합을 시작한다(도면에서 (c)로 표기). 이후 또 다시 일치 정합이 불가능하다고 판단되는 경우에는, 일치 정합을 새로 시작한 위치부터 현재 위치 사이의 구간 어디에서 다시 에러가 발생한 것이므로, 에러 개수 값을 다시 1만큼 증가시키고(mismatch = 1 -> 2), 다음 위치에서 새로 일치 정합을 시작한다(도면에서 (d)로 표기). 이와 같은 과정을 거쳐 리드의 끝까지 도달한 경우의 에러 개수 값이 해당 리드의 발생할 수 있는 에러 개수 값이 된다. 즉, 도시된 실시예에서 리드의 에러 개수는 2가 된다.
상기와 같은 과정을 거쳐 리드의 에러 개수가 계산되면, 계산된 에러 개수 값이 기 설정된 최대 에러 허용치(maxError)를 초과하는지의 여부를 판단하고(110), 초과하는 경우 해당 리드에 대한 정렬이 실패한 것으로 판단하여 정렬을 종료한다.
전술한 인간의 염기 서열을 대상으로 한 실험에서, 최대 에러 허용치(maxError)를 3으로 하고 나머지 리드들의 에러 개수를 계산한 결과, 총 844,891회에 해당하는 리드들이 상기 최대 에러 허용치를 초과하는 것으로 나타났다. 즉, 상기 108 단계의 수행 결과 약 42.2%만큼의 정렬 소요량을 감소시킬 수 있었다.
그러나 이와 달리 상기 110 단계에서의 판단 결과, 계산된 에러 개수 값이 상기 최대 에러 허용치 이하인 경우에는 다음과 같은 과정을 거쳐 해당 리드에 대한 정렬을 수행한다.
먼저, 상기 리드로부터 복수 개의 시드를 생성하고(112), 생성된 상기 복수 개의 시드를 이용하여 상기 리드에 대한 전역 정렬(global alignment)을 수행한다(114). 이때 상기 전역 정렬의 결과 리드의 에러 개수가 기 설정된 최대 에러 허용치(maxError)를 초과하는 경우에는 정렬 실패로, 그렇지 않은 경우에는 정렬에 성공한 것으로 판단된다.
이하에서는 상기 112 단계 및 114 단계의 구체적인 과정을 상세히 설명한다.
리드로부터 복수 개의 시드 생성(112)
본 단계는 본격적으로 리드의 정렬을 수행하기 위하여 리드로부터 복수 개의 작은 조각인 시드를 생성하는 단계이다. 본 단계에서는 상기 리드의 일부 또는 전체를 고려하여 복수 개의 시드들을 생성하게 된다. 예를 들어, 리드의 전체, 또는 특정 구간을 복수 개의 조각으로 분할하거나, 분할된 조각들을 조합합으로써 시드들을 생성할 수 있다. 이 경우 생성된 시드들은 서로 연속적으로 연결될 수 있으나 반드시 그러한 것은 아니며, 리드 내에서 서로 떨어진 조각들의 조합으로 시드들을 구성하는 것 또한 가능하다. 또한, 생성되는 시드들이 반드시 동일한 길이를 가질 필요는 없으며, 하나의 리드 내에서 다양한 길이를 가지는 시드들을 생성하는 것 또한 가능하다. 요컨대, 본 발명에서 리드로부터 시드를 생성하는 방법은 특별히 제한되지 않으며, 리드의 일부 또는 전체로부터 시드를 추출하는 다양한 알고리즘이 제한 없이 사용될 수 있다.
전역 정렬( Global Assignment )(114)
상기와 같은 과정을 거쳐 시드들이 생성되면, 다음으로 생성된 시드들을 이용하여 상기 리드의 상기 대상 서열에 대한 전역 정렬을 수행한다. 구체적으로, 본 단계에서는 상기 112 단계에서 생성된 시드들을 이용하여, 각 시드들의 상기 대상 서열에서의 맵핑 위치에서 차례로 전역 정렬을 수행함으로써 상기 리드를 상기 대상 서열에 맵핑하게 된다.
도 3은 본 발명의 일 실시예에 따른 전역 정렬 과정(114)을 설명하기 위한 순서도이다. 먼저, 리드로부터 생성된 복수 개의 시드들 중 하나의 시드를 선택하고(302), 선택된 시드의 대상 서열에서의 맵핑 위치를 계산한다(304). 본 발명의 실시예에서, 특별한 한정 없이 단순히 시드의 "맵핑 위치"라고만 기재할 경우에는 해당 시드의 첫 번째 베이스에 대응하는 대상 서열의 위치를 의미하며, 시드의 "k번째 맵핑 위치"는 해당 시드의 k 번째 베이스에 대응하는 대상 서열의 위치를 의미한다.
다음으로, 계산된 상기 맵핑 위치로부터 상기 선택된 시드에 대한 중복 판단 영역을 계산한다(306). 상기 중복 판단 영역은, 예를 들어 상기 선택된 시드의 상기 대상 서열에서의 k 번째 맵핑 위치(1<=k<=N, N은 상기 선택된 시드의 길이)로부터의 거리차가 설정된 기준값 이내인 영역으로 설정될 수 있다.
또는, 상기 중복 판단 영역은, 다음의 수학식 1에 의하여 계산될 수도 있다.
[수학식 1]
ma - V <= 중복 판단 영역 <= mb + V
(이때, ma는 상기 선택된 시드의 a번째 맵핑 위치(1<=a<=N), mb는 상기 선택된 시드의 b번째 맵핑 위치(1<=b<=N), N은 상기 선택된 시드의 길이, V는 기준값)
상기와 같은 방법으로 중복 판단 영역이 계산되면, 다음으로 계산된 상기 중복 판단 영역 내에서 전역 정렬이 기 수행되었는지의 여부를 판단한다(308). 이때, 상기 중복 판단 영역 내에서 전역 정렬이 기 수행되었는지의 여부는, 이전 단계의 전역 정렬시의 맵핑 위치가 (즉, 전역 정렬을 수행한 시드의 첫 번째 맵핑 위치가) 상기 중복 판단 영역에 포함되는지의 여부로 판단할 수 있다. 만약 상기 판단 결과 상기 중복 판단 영역 내에서 전역 정렬이 수행된 경우 상기 302 단계에서 선택된 시드에 대한 전역 정렬은 수행되지 않으며, 이 경우 생성된 상기 시드들 중 아직 전역 정렬을 수행하지 않고 남아 있는 시드가 존재하는지의 여부를 판단하고(314), 존재하는 경우 상기 302 단계로 돌아가 남은 시드 중 새롭게 선택된 시드에 대하여 상기 과정을 반복하게 된다. 이때 만약 상기 314 단계의 판단 결과 남은 시드가 존재하지 않는 경우에는 상기 리드에 대한 정렬은 실패한 것으로 판단된다.
한편, 상기 308 단계의 판단 결과 해당 영역에서 전역 정렬이 수행되지 않은 경우에는 계산된 상기 맵핑 위치에서 상기 리드에 대한 전역 정렬을 수행하여(310), 계산된 에러의 개수가 기 설정된 최대 에러 허용치를 초과하는지의 여부를 판단한다(312). 만약 상기 312 단계의 판단 결과 해당 맵핑 위치에서의 에러 개수가 상기 최대 에러 허용치 이내인 경우에는 리드의 정렬에 성공한 것으로 판단된다. 그러나 만약 상기 에러 개수가 최대 에러 허용치를 초과하는 경우에는, 다음으로 남은 시드가 존재하는지를 판단하고(314). 존재하는 경우 상기 302 단계로 돌아가 남은 시드 중 새롭게 선택된 시드에 대하여 상기 과정을 반복하게 된다. 이때 만약 상기 314 단계의 판단 결과 남은 시드가 존재하지 않는 경우에는 상기 리드에 대한 정렬은 실패한 것으로 판단된다.
전술한 306 단계 및 308 단계를 좀 더 상세히 설명하면 도 4a 내지 4e와 같다. 도시된 실시예에서, 리드로부터 3개의 시드(SEED 1, SEED 2, SEED 3)가 추출되었으며, 각각의 대상 염기 서열에서의 맵핑 위치는 각각 2001bp, 2101bp, 및 2301bp, 각 시드의 전역 정렬 여부를 판단하기 위한 기준값은 128bp, 각 시드의 길이는 30bp, 리드의 정렬을 위하여 SEED 1, SEED 2 및 SEED 3의 순서로 전역 정렬을 수행한다고 가정하자. 먼저 SEED 1의 경우 이전에 수행된 전역 정렬이 존재하지 않으므로 정상적으로 해당 위치(2001bp)에서 리드를 대상 서열에 전역 정렬한다. 그러나 다음에 맵핑될 SEED 2의 경우에는 SEED 2의 맵핑 위치로부터 계산되는 중복 판단 영역에 따라 전역 정렬 수행 여부가 달라진다.
먼저, 도 4a에 도시된 바와 같이, 상기 중복 판단 영역은 시드의 첫 번째 맵핑 위치로부터의 거리차가 기준값 만큼 떨어진 영역 내로 정의될 수 있다. 즉, 도시된 실시예에서 SEED 2의 중복 판단 영역은 SEED 2의 첫 번째 맵핑 위치인 2101bp의 앞뒤로 128bp에 해당하는 영역이 된다(도면에서 회색으로 표시된 영역). 이 경우에는 상기 중복 판단 영역 내에서 SEED 1에 대한 전역 정렬이 수행되었으므로, SEED 2의 맵핑 위치에서의 전역 정렬은 수행되지 않는다.
다음으로, 도 4b에 도시된 바와 같이, 상기 중복 판단 영역은 시드의 마지막 맵핑 위치로부터의 거리차가 기준값 만큼 떨어진 영역 내로 정의될 수 있다. 즉, 도시된 실시예에서 SEED 2의 중복 판단 영역은 SEED 2의 마지막 맵핑 위치인 2130bp의 앞뒤로 128bp에 해당하는 영역이 된다(도면에서 회색으로 표시된 영역). 이 경우에는 기 전역 정렬이 수행된 SEED 1의 맵핑 위치(2001bp)가 상기 중복 판단 영역의 밖에 있으므로, SEED 2의 맵핑 위치에서 전역 정렬이 수행된다.
도 4c는 상기 도 4a 및 4b의 실시예를 일반화하여 시드의 k 번째 맵핑 위치로부터(1<=k<=N, 이때 N은 시드의 길이)의 거리차가 기준값 만큼 떨어진 영역으로 중복 판단 영역을 설정하는 실시예를 나타낸 것이다. 이 경우는 상기 k 값에 따라 SEED 2의 전역 정렬 여부가 달라지게 된다.
한편, 도 4d에 도시된 바와 같이, 상기 중복 판단 영역은 시드의 첫 번째 맵핑 위치로부터 대상 서열의 앞쪽 방향으로 기준값 만큼 떨어진 위치로부터 시드의 마지막 맵핑 위치로부터 대상 서열의 뒤쪽 방향으로 기준값 만큼 떨어진 위치까지를 포함하도록 구성될 수도 있다. 즉, 이 경우는 상기 도 4a 및 4b에서의 중복 판단 영역을 합친 것과 동일한 결과가 된다. 도 4e는 이를 일반화하여 전술한 수학식 1에 따라 중복 판단 영역을 설정하는 실시예를 나타낸 것이다.
이상과 같이 하나의 시드에 대한 전역 정렬이 수행된 경우 그 주변에 대한 전역 정렬을 수행하지 않는 이유는 다음과 같다. 전역 정렬의 후보가 되는 각각의 시드들은 하나의 리드에서 나온 것이므로, 각 시드들이 대상 염기 서열에서 유사한 구간 내에 맵핑된다는 것은 결국 해당 리드는 해당 구간 내에 맵핑될 가능성이 매우 높다는 것을 의미한다. 따라서 이 경우에는 해당 구간 내의 맵핑되는 여러 개의 시드 중 하나의 시드에 대해서만 전역 정렬을 수행하더라도 해당 위치에 리드를 맵핑하는 것이 충분히 가능하다. 또한, 이를 반대로 판단해 보면, 비슷한 구간 내에 맵핑되는 여러 개의 시드 중 하나의 시드에 대한 전역 정렬 결과 리드가 맵핑되지 않는 경우에는 다른 시드 또한 해당 구간에는 맵핑되지 않을 가능성이 높다는 것을 의미한다. 따라서 본 발명의 실시예에서는 각 시드들에 대하여 중복 판단 영역을 설정하고, 해당 영역 내에서 전역 정렬이 기 수행된 경우에는 전역 정렬을 중복하여 수행하지 않음으로써 매우 많은 시간이 소요되는 전역 정렬의 횟수를 효과적으로 감소시킬 수 있도록 구성하였다. 구체적으로, 본 발명의 전역 정렬 방법을 사용한 알고리즘과 사용하지 않은 알고리즘 사이에는 약 30~35배의 속도 차이가 발생하는 것으로 나타났다.
한편, 상기 기준값은 상기 리드의 길이에 비례하도록 설정될 수 있으며, 구체적으로 상기 기준값은 상기 리드 길이의 100% 내지 170%로 설정될 수 있다. 상기 기준값이 리드의 길이에 비례하는 이유는, 전역 정렬이 리드를 이용하여 수행되기 때문이다. 즉, 맵핑 위치에서부터 리드의 길이만큼의 구간은 이미 전역 정렬이 수행되었으므로 중복하여 전역 정렬을 수행할 필요가 없기 때문이다. 또한, 상기 기준값이 리드 길이의 170%까지 확장되는 이유는 염기 서열의 추가(insertion) 또는 삭제(deletion) 등으로 인하여 리드 또는 대상 염기 서열에 오차가 발생할 수 있으므로, 이를 감안한 것이다. 이와 같이 상기 기준값을 리드의 길이에 연동하여 변화하도록 할 경우 전술한 바와 같이 염기 서열 재조합 알고리즘의 속도를 향상시키면서도 맵핑의 정확도를 유지할 수 있는 장점이 있다.
도 5는 본 발명의 일 실시예에 따른 염기 서열 재조합 시스템(500)의 블록도이다. 본 발명의 일 실시예에 따른 염기 서열 재조합 시스템(500)은 전술한 염기 서열 재조합 방법을 수행하기 위한 장치로서, 시드 생성부(502), 맵핑 위치 계산부(504) 및 전역 정렬부(506)를 포함한다.
시드 생성부(502)는 게놈 시퀀서로부터 얻어진 리드로부터 복수 개의 시드들을 생성한다. 전술한 바와 같이, 시드 생성부(502)에서 리드로부터 시드를 생성하는 방법은 특별히 제한되지 않으며, 리드의 일부 또는 전체로부터 시드를 추출하는 다양한 알고리즘이 제한 없이 사용될 수 있다.
맵핑 위치 계산부(504)는, 시드 생성부(502)에서 생성된 복수 개의 시드들 중 하나의 시드를 선택하고, 선택된 시드에 대한 대상 서열에서의 맵핑 위치를 계산한다.
전역 정렬부(506)는 맵핑 위치 계산부(504)에서 계산된 상기 맵핑 위치로부터 상기 선택된 시드에 대한 중복 판단 영역을 계산하고, 계산된 상기 중복 판단 영역 내에서 전역 정렬이 기 수행되었는지의 여부를 판단하여, 수행되지 않은 경우 상기 계산된 맵핑 위치에서 상기 리드에 대한 전역 정렬(Global Alignment)을 수행한다. 이 경우 상기 중복 판단 영역의 계산과 관련된 상세한 사항은 전술하였으므로 여기서는 그 상세한 설명을 생략한다.
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야에서 통상의 지식을 가진 자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플로피 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다.
그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
500: 염기 서열 재조합 시스템
502: 시드 생성부
504: 맵핑 위치 계산부
506: 전역 정렬부

Claims (17)

  1. 리드로부터 생성된 복수 개의 시드들 중 하나의 시드를 선택하고, 선택된 시드의 대상 서열에서의 맵핑 위치를 계산하는 맵핑 위치 계산부; 및
    계산된 상기 맵핑 위치로부터 상기 선택된 시드에 대한 중복 판단 영역을 계산하고, 계산된 상기 중복 판단 영역 내에서 전역 정렬이 기 수행되었는지의 여부를 판단하여, 수행되지 않은 경우 상기 계산된 맵핑 위치에서 상기 선택된 리드에 대한 전역 정렬(Global Alignment)을 수행하는 전역 정렬부를 포함하는 염기 서열 재조합 시스템.
  2. 청구항 1에 있어서,
    상기 중복 판단 영역은, 상기 선택된 시드의 상기 대상 서열에서의 k 번째 맵핑 위치(1<=k<=N, N은 상기 선택된 시드의 길이)로부터의 거리차가 설정된 기준값 이내인 영역인, 염기 서열 재조합 시스템.
  3. 청구항 2에 있어서,
    상기 기준값은 상기 리드의 길이에 비례하도록 설정되는, 염기 서열 재조합 시스템.
  4. 청구항 3에 있어서,
    상기 기준값은 상기 리드 길이의 100% 내지 170%로 설정되는, 염기 서열 재조합 시스템.
  5. 청구항 1에 있어서,
    상기 중복 판단 영역은, 다음의 수학식
    ma - V <= 중복 판단 영역 <= mb + V
    (이때, ma는 상기 선택된 시드의 a번째 맵핑 위치(1<=a<=N), mb는 상기 선택된 시드의 b번째 맵핑 위치(1<=b<=N), N은 상기 선택된 시드의 길이, V는 기준값)
    에 의하여 계산되는, 염기 서열 재조합 시스템.
  6. 청구항 5에 있어서,
    상기 기준값은 상기 리드의 길이에 비례하도록 설정되는, 염기 서열 재조합 시스템.
  7. 청구항 6에 있어서,
    상기 기준값은 상기 리드 길이의 100% 내지 170%로 설정되는, 염기 서열 재조합 시스템.
  8. 청구항 1에 있어서,
    상기 전역 정렬부는, 전역 정렬을 기 수행한 시드의 맵핑 위치가 상기 중복 판단 영역 내에 포함되는 경우, 상기 중복 판단 영역 내에서 전역 정렬이 수행된 것으로 판단하는, 염기 서열 재조합 시스템.
  9. 맵핑 위치 계산부에서, 리드로부터 생성된 복수 개의 시드들 중 하나의 시드를 선택하고, 선택된 시드의 대상 서열에서의 맵핑 위치를 계산하는 단계;
    전역 정렬부에서, 계산된 상기 맵핑 위치로부터 상기 선택된 시드에 대한 중복 판단 영역을 계산하는 단계; 및
    상기 전역 정렬부에서, 계산된 상기 중복 판단 영역 내에서 전역 정렬이 기 수행되었는지의 여부를 판단하여, 수행되지 않은 경우 상기 계산된 맵핑 위치에서 상기 선택된 리드에 대한 전역 정렬(Global Alignment)을 수행하는 단계를 포함하는 염기 서열 재조합 방법.
  10. 청구항 9에 있어서,
    상기 중복 판단 영역은, 상기 선택된 시드의 상기 대상 서열에서의 k 번째 맵핑 위치(1<=k<=N, N은 상기 선택된 시드의 길이)로부터의 거리차가 설정된 기준값 이내인 영역인, 염기 서열 재조합 방법.
  11. 청구항 10에 있어서,
    상기 기준값은 상기 리드의 길이에 비례하도록 설정되는, 염기 서열 재조합 방법.
  12. 청구항 11에 있어서,
    상기 기준값은 상기 리드 길이의 100% 내지 170%로 설정되는, 염기 서열 재조합 방법.
  13. 청구항 9에 있어서,
    상기 중복 판단 영역은, 다음의 수학식
    ma - V <= 중복 판단 영역 <= mb + V
    (이때, ma는 상기 선택된 시드의 a번째 맵핑 위치(1<=a<=N), mb는 상기 선택된 시드의 b번째 맵핑 위치(1<=b<=N), N은 상기 선택된 시드의 길이, V는 기준값)
    에 의하여 계산되는, 염기 서열 재조합 방법.
  14. 청구항 13에 있어서,
    상기 기준값은 상기 리드의 길이에 비례하도록 설정되는, 염기 서열 재조합 방법.
  15. 청구항 14에 있어서,
    상기 기준값은 상기 리드 길이의 100% 내지 170%로 설정되는, 염기 서열 재조합 방법.
  16. 청구항 9에 있어서,
    상기 전역 정렬부는, 전역 정렬을 기 수행한 시드의 맵핑 위치가 상기 중복 판단 영역 내에 포함되는 경우, 상기 중복 판단 영역 내에서 전역 정렬이 수행된 것으로 판단하는, 염기 서열 재조합 방법.
  17. 하나 이상의 프로세서;
    메모리; 및
    하나 이상의 프로그램을 포함하는 장치로서,
    상기 하나 이상의 프로그램은 상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성되며,
    상기 프로그램은,
    리드로부터 생성된 복수 개의 시드들 중 하나의 시드를 선택하고, 선택된 시드의 대상 서열에서의 맵핑 위치를 계산하는 단계;
    계산된 상기 맵핑 위치로부터 상기 선택된 시드에 대한 중복 판단 영역을 계산하는 단계; 및
    계산된 상기 중복 판단 영역 내에서 전역 정렬이 기 수행되었는지의 여부를 판단하여, 수행되지 않은 경우 상기 계산된 맵핑 위치에서 상기 선택된 리드에 대한 전역 정렬(Global Alignment)을 수행하는 단계를 실행하기 위한 명령어들을 포함하는 장치.

KR20120120447A 2012-10-29 2012-10-29 염기 서열 정렬 시스템 및 방법 KR101482011B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR20120120447A KR101482011B1 (ko) 2012-10-29 2012-10-29 염기 서열 정렬 시스템 및 방법
PCT/KR2013/007288 WO2014069766A1 (ko) 2012-10-29 2013-08-13 염기 서열 재조합 시스템 및 방법
US13/972,233 US20140121992A1 (en) 2012-10-29 2013-08-21 System and method for aligning genome sequence
CN201310369701.8A CN103793623B (zh) 2012-10-29 2013-08-22 碱基序列重组系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20120120447A KR101482011B1 (ko) 2012-10-29 2012-10-29 염기 서열 정렬 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20140054674A true KR20140054674A (ko) 2014-05-09
KR101482011B1 KR101482011B1 (ko) 2015-01-14

Family

ID=50548108

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20120120447A KR101482011B1 (ko) 2012-10-29 2012-10-29 염기 서열 정렬 시스템 및 방법

Country Status (4)

Country Link
US (1) US20140121992A1 (ko)
KR (1) KR101482011B1 (ko)
CN (1) CN103793623B (ko)
WO (1) WO2014069766A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101508817B1 (ko) * 2012-10-29 2015-04-08 삼성에스디에스 주식회사 염기 서열 정렬 시스템 및 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005096208A1 (ja) * 2004-03-31 2005-10-13 Bio-Think Tank Co., Ltd. 塩基配列検索装置及び塩基配列検索方法
CN101748213B (zh) * 2008-12-12 2013-05-08 深圳华大基因研究院 一种环境微生物检测方法和系统
KR101201626B1 (ko) * 2009-11-04 2012-11-14 삼성에스디에스 주식회사 부분 결합 서열을 이용한 유전자 서열 정렬장치 및 그 방법
CN101984445B (zh) * 2010-03-04 2012-03-14 深圳华大基因科技有限公司 一种基于聚合酶链式反应产物测序序列分型的实现方法和系统
WO2011137368A2 (en) * 2010-04-30 2011-11-03 Life Technologies Corporation Systems and methods for analyzing nucleic acid sequences

Also Published As

Publication number Publication date
CN103793623A (zh) 2014-05-14
KR101482011B1 (ko) 2015-01-14
CN103793623B (zh) 2017-07-04
WO2014069766A1 (ko) 2014-05-08
US20140121992A1 (en) 2014-05-01

Similar Documents

Publication Publication Date Title
KR101481457B1 (ko) 리드 전체를 고려한 염기 서열 정렬 시스템 및 방법
KR101508816B1 (ko) 염기 서열 정렬 시스템 및 방법
KR101508817B1 (ko) 염기 서열 정렬 시스템 및 방법
Vezzi et al. e-RGA: enhanced reference guided assembly of complex genomes
US9323889B2 (en) System and method for processing reference sequence for analyzing genome sequence
KR101480897B1 (ko) 염기 서열 정렬 시스템 및 방법
KR101482011B1 (ko) 염기 서열 정렬 시스템 및 방법
KR101522087B1 (ko) 미스매치를 고려한 염기 서열 정렬 시스템 및 방법
KR101584857B1 (ko) 염기 서열 정렬 시스템 및 방법
KR101525303B1 (ko) 염기 서열 정렬 시스템 및 방법
KR101394339B1 (ko) 시드의 길이를 고려한 염기 서열 처리 시스템 및 방법
Luo et al. GapReduce: A gap filling algorithm based on partitioned read sets
KR101576794B1 (ko) 리드 길이를 고려한 염기 서열 정렬 시스템 및 방법
KR20140093517A (ko) 리드 서열 정렬 방법 및 그것을 이용한 리드 서열 정렬 장치
KR101506371B1 (ko) 중복을 고려한 염기 서열 재조합 시스템 및 방법
KR20150049749A (ko) 정확도를 고려한 염기 서열 정렬 장치 및 방법
CA2953675A1 (en) A method for finding associated positions of bases of a read on a reference genome
Jain et al. GAMS: genome assembly on Multi-GPU using string graph
Fertin et al. DExTaR: Detection of exact tandem repeats based on the de Bruijn graph
KR101600660B1 (ko) 리드의 퀄리티를 고려한 염기 서열 처리 시스템 및 방법
García Mesa et al. COATi: statistical pairwise alignment of protein-coding sequences
Vezzi et al. Reevaluating Assembly Evaluations using Feature Analysis: GAGE and Assemblathons Supplementary material

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee