KR20140056559A - 염기 서열 정렬 시스템 및 방법 - Google Patents

염기 서열 정렬 시스템 및 방법 Download PDF

Info

Publication number
KR20140056559A
KR20140056559A KR1020120120649A KR20120120649A KR20140056559A KR 20140056559 A KR20140056559 A KR 20140056559A KR 1020120120649 A KR1020120120649 A KR 1020120120649A KR 20120120649 A KR20120120649 A KR 20120120649A KR 20140056559 A KR20140056559 A KR 20140056559A
Authority
KR
South Korea
Prior art keywords
sequence
fragment
mapping
sequences
lead
Prior art date
Application number
KR1020120120649A
Other languages
English (en)
Other versions
KR101508817B1 (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 KR20120120649A priority Critical patent/KR101508817B1/ko
Priority to JP2013033518A priority patent/JP5612144B2/ja
Priority to CN201310064514.9A priority patent/CN103793625A/zh
Priority to US13/780,593 priority patent/US20140121983A1/en
Priority to EP13157122.6A priority patent/EP2725509A1/en
Publication of KR20140056559A publication Critical patent/KR20140056559A/ko
Application granted granted Critical
Publication of KR101508817B1 publication Critical patent/KR101508817B1/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
    • G16B30/10Sequence alignment; Homology search
    • 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
    • G16B15/00ICT specially adapted for analysing two-dimensional or three-dimensional molecular structures, e.g. structural or functional relations or structure alignment
    • 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

Landscapes

  • Life Sciences & Earth Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Biotechnology (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Medical Informatics (AREA)
  • Theoretical Computer Science (AREA)
  • Analytical Chemistry (AREA)
  • Organic Chemistry (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Wood Science & Technology (AREA)
  • Zoology (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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

염기 서열 정렬 시스템 및 방법이 개시된다. 본 발명의 일 실시예에 따른 염기 서열 정렬 시스템은, 리드 서열로부터 복수 개의 단편(fragment) 서열들을 생성하는 단편 서열 생성부, 생성된 상기 복수 개의 단편 서열들 중 대상 서열과 매칭되는 단편 서열만을 포함하는 후보 단편 서열 집합을 구성하는 필터링부, 상기 후보 단편 서열들 각각의 상기 대상 서열에서의 맵핑 위치의 개수를 계산하고, 계산된 상기 맵핑 위치의 개수가 설정된 값을 초과하는 단편 서열을 선택하며, 상기 대상 서열에서의 맵핑 위치의 개수가 상기 설정된 값 이하가 될 때까지 선택된 단편 서열의 크기를 확장하는 단편 서열 확장부, 상기 대상 서열을 복수 개의 구간으로 분할하고, 상기 각 구간 별로 상기 후보 단편 서열들의 총 맵핑 길이를 계산하는 맵핑 길이 계산부, 및 계산된 상기 총 맵핑 길이가 기준값 이상인 구간을 선택하고, 선택된 구간에 대하여 상기 리드 서열에 대한 전역 정렬(global alignment)을 수행하는 정렬부를 포함한다.

Description

염기 서열 정렬 시스템 및 방법{SYSTEM AND METHOD FOR ALIGNING GENOME SEQUENCE}
본 발명의 실시예들은 유전체의 염기 서열을 분석하기 위한 기술과 관련된다.
저렴한 비용과 빠른 데이터 생산으로 인해 대용량의 짧은 서열을 생산하는 차세대 시퀀싱(NGS; Next Generation Sequencing)이 전통적인 생거(Sanger) 시퀀싱 방식을 빠르게 대체하고 있다. 또한 다양한 NGS 서열재조합 프로그램들이 정확도에 초점을 맞추어 개발되었다. 그러나, 최근 차세대 시퀸싱 기술이 발전함에 따라 단편서열을 만들어 내는 비용이 예전의 절반 이하가 되었고, 이에 따라 사용할 수 있는 데이터의 양이 많아지게 되어서, 대용량의 짧은 서열들을 빠른 시간에 정확하게 처리하기 위한 기술이 필요하게 되었다.
서열 재조합의 첫 번째 단계는 염기 서열 정렬(alignment) 알고리즘을 통해 리드를 참조 서열의 정확한 위치에 맵핑(mapping)하는 것이다. 여기서의 문제점은 같은 종의 개체라 할지라도 다양한 유전적 변이로 인해 유전체 서열에 차이가 있을 수 있다는 점이다. 또한 시퀀싱 과정에서의 오류로 인해서도 염기 서열에 차이가 생길 수 있다. 따라서 염기 서열 정렬 알고리즘은 이러한 차이와 변이를 효과적으로 고려해서 맵핑 정확도를 높이지 않으면 안 된다.
결론적으로, 유전체 정보의 분석을 진행하기 위해서는, 될 수 있는 한 많은 수의 정확한 전체 유전체 정보 데이터가 필요하다. 또 이를 위해서는 무엇보다도 뛰어난 정확도와 큰 처리량을 갖는 염기 서열 정렬 알고리즘을 개발하는 것이 선행되어야 한다. 그러나 종래의 방법들은 이러한 요구 조건들을 만족시키는 데 한계가 있었다.
본 발명의 실시예들은 맵핑 정확도를 보장하는 동시에 맵핑 시의 복잡도를 개선하여 처리 속도를 높일 수 있는 염기 서열 정렬 수단을 제공하는 데 그 목적이 있다.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 염기 서열 정렬 시스템은, 리드(read) 서열을 대상 서열에 정렬하기 위한 시스템으로서, 상기 리드 서열로부터 복수 개의 단편(fragment) 서열들을 생성하는 단편 서열 생성부, 생성된 상기 복수 개의 단편 서열들 중 대상 서열과 매칭되는 단편 서열만을 포함하는 후보 단편 서열 집합을 구성하는 필터링부, 상기 후보 단편 서열들 각각의 상기 대상 서열에서의 맵핑 위치의 개수를 계산하고, 계산된 상기 맵핑 위치의 개수가 설정된 값을 초과하는 단편 서열을 선택하며, 상기 대상 서열에서의 맵핑 위치의 개수가 상기 설정된 값 이하가 될 때까지 선택된 단편 서열의 크기를 확장하는 단편 서열 확장부, 상기 대상 서열을 복수 개의 구간으로 분할하고, 상기 각 구간 별로 상기 후보 단편 서열들의 총 맵핑 길이를 계산하는 맵핑 길이 계산부, 및 계산된 상기 총 맵핑 길이가 기준값 이상인 구간을 선택하고, 선택된 구간에 대하여 상기 리드 서열에 대한 전역 정렬(global alignment)을 수행하는 정렬부를 포함한다.
한편, 상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 리드(read) 서열을 대상 서열에 정렬하기 위한 방법은, 단편 서열 생성부에서, 상기 리드 서열로부터 복수 개의 단편(fragment) 서열들을 생성하는 단계, 필터링부에서, 생성된 상기 복수 개의 단편 서열들 중 상기 대상 서열과 매칭되는 단편 서열만을 포함하는 후보 단편 서열 집합을 구성하는 단계, 단편 서열 확장부에서, 생성된 상기 후보 단편 서열들 각각의 상기 대상 서열에서의 맵핑 위치의 개수를 계산하는 단계, 상기 단편 서열 확장부에서, 계산된 상기 맵핑 위치의 개수가 설정된 값을 초과하는 단편 서열을 선택하는 단계, 상기 단편 서열 확장부에서, 상기 대상 서열에서의 맵핑 위치의 개수가 상기 설정된 값 이하가 될 때까지 선택된 단편 서열의 크기를 확장하는 단계, 맵핑 길이 계산부에서, 상기 대상 서열을 복수 개의 구간으로 분할하고, 상기 각 구간 별로 상기 후보 단편 서열들의 총 맵핑 길이를 계산하는 단계, 및 정렬부에서, 계산된 상기 총 맵핑 길이가 기준값 이상인 구간을 선택하고, 선택된 구간에 대하여 상기 리드 서열에 대한 전역 정렬(global alignment)을 수행하는 단계를 포함한다.
한편, 상기 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 염기 서열 정렬 시스템은, 리드(read) 서열을 대상 서열에 정렬하기 위한 시스템으로서, 상기 리드 서열로부터 복수 개의 단편(fragment) 서열들을 생성하는 단편 서열 생성부, 생성된 상기 복수 개의 단편 서열들 중 대상 서열과 매칭되는 단편 서열만을 포함하는 후보 단편 서열 집합을 구성하는 필터링부, 상기 대상 서열을 복수 개의 구간으로 분할하고, 상기 각 구간 별로 상기 후보 단편 서열들의 총 맵핑 길이를 계산하는 맵핑 길이 계산부, 및 계산된 상기 총 맵핑 길이가 기준값 이상인 구간을 선택하고, 선택된 구간에 대하여 상기 리드 서열에 대한 전역 정렬(global alignment)을 수행하는 정렬부를 포함한다.
본 발명의 실시예들에 따를 경우 리드 서열의 정렬 시 리드 서열의 특정 영역만을 고려하는 것이 아니라 리드 전체를 고려하여 시드(단편 서열)를 선택하므로 리드의 일부분만을 고려하는 알고리즘에 비해 정확도를 향상할 수 있다.
또한 단편 서열 별로 대상 염기 서열 내에서의 반복수를 제한하고, 이를 초과하는 시드에 대해서는 시드의 길이를 확장함으로써 맵핑의 정확도를 높임과 동시에 속도 또한 향상할 수 있는 효과가 있다.
또한 맵핑 히스토그램을 이용하여 대상 염기 서열 내에 리드가 맵핑될 가능성이 높은 특정 영역을 선택하고, 해당 영역 내에서만 전역 정렬(Global Alignment)을 수행함으로써 전역 정렬 시간을 대폭 감소시킬 수 있다.
아울러 리드에서 도출된 단편 서열들의 맵핑 위치와 조합을 찾는 복잡한 과정 대신, 조합을 구성할 가능성이 높은 단편 서열에 대해 바로 전역 정렬을 수행함으로써 전역 정렬 속도를 더욱 높일 수 있으며, 전역 정렬 위치를 기억하여 두었다가 해당 위치 주변에서는 반복하여 전역 정렬을 수행하지 않도록 구성함으로써 불필요한 전역 정렬 횟수를 감소시킬 수 있는 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 염기 서열 정렬 방법(100)을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 염기 서열 정렬 방법(100)의 108 단계에서의 mEB 계산 과정을 예시하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 염기 서열 정렬 방법(100)의 112 단계에서의 단편 서열 생성 과정을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 맵핑 히스토그램을 이용한 맵핑 대상 구간 선택 과정을 예시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 전역 정렬 시 불필요한 전역 정렬 횟수를 감소시키기 위한 방법을 설명하기 위한 예시도이다.
도 6은 본 발명의 일 실시예에 따른 염기 서열 정렬 시스템(600)을 도시한 블록도이다.
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하의 실시예는 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
본 발명의 실시예들을 상세히 설명하기 앞서, 먼저 본 발명에서 사용되는 용어들에 대하여 설명하면 다음과 같다.
먼저, "리드(read) 서열"(또는 줄여서 "리드"로 지칭)이란 게놈 시퀀서(genome sequencer)에서 출력되는 짧은 길이의 염기서열 데이터이다. 리드 서열의 길이는 게놈 시퀀서의 종류에 따라 일반적으로 35~500bp(base pair) 정도로 다양하게 구성되며, 일반적으로 DNA 염기의 경우 A, C, G, T의 알파벳 문자로 표현된다.
"대상 염기 서열"이란 상기 리드 서열들로부터 전체 염기 서열을 생성하는 데 참조가 되는 염기 서열(reference sequence)을 의미한다. 염기 서열 분석에서는 게놈 시퀀서에서 출력되는 다량의 리드들을 대상 염기 서열을 참조하여 맵핑함으로써 전체 염기 서열을 완성하게 된다. 본 발명에서 상기 대상 염기 서열은 염기 서열 분석 시 미리 설정된 서열(예를 들어 인간의 전체 염기 서열 등)일 수도 있으며, 또는 게놈 시퀀서에서 만들어진 염기 서열을 대상 염기 서열로 사용할 수도 있다.
"베이스(base)"는 대상 염기 서열 및 리드를 구성하는 최소 단위이다. 전술한 바와 같이 DNA 염기의 경우 A, C, G 및 T의 네 종류의 알파벳 문자로 구성될 수 있으며, 이들 각각을 베이스라 표현한다. 다시 말해 DNA 염기의 경우 4개의 베이스로 표현되며, 이는 리드 서열 또한 마찬가지이다.
"단편(fragment) 서열"(또는 시드(seed))이란 리드 서열의 맵핑을 위하여 리드 서열과 대상 염기 서열을 비교할 때의 단위가 되는 시퀀스이다. 이론적으로 리드를 대상 염기 서열에 맵핑하기 위해서는 리드 전체를 대상 염기 서열의 가장 첫 부분부터 순차적으로 비교해 나가면서 리드의 맵핑 위치를 계산하여야 한다. 그러나 이와 같은 방법의 경우 하나의 리드를 맵핑하는 데 너무 많은 시간 및 컴퓨팅 파워가 요구되므로, 실제로는 리드의 일부분으로 구성된 조각인 단편 서열을 먼저 대상 염기 서열에 맵핑함으로써 전체 리드 서열의 맵핑 후보 위치를 찾아 내고 해당 후보 위치에 전체 리드 서열을 맵핑(Global Alignment)하게 된다.
도 1은 본 발명의 일 실시예에 따른 염기 서열 정렬 방법(100)을 설명하기 위한 도면이다. 본 발명의 실시예에서, 염기 서열 정렬 방법(100)이란 게놈 시퀀서(genome)에서 출력되는 리드 서열을 대상 염기 서열과 비교하여 리드 서열의 상기 대상 서열에서의 맵핑(또는 정렬) 위치를 결정하는 일련의 과정을 의미한다.
먼저, 게놈 시퀀서(genome sequencer)로부터 리드 서열이 입력되면(102), 리드 서열 전체와 상기 대상 염기 서열과의 일치 정합(exact matching)을 시도한다(104). 만약 상기 시도 결과 리드 전체에 대한 일치 정합이 성공한 경우에는 이후의 정렬 단계를 수행하지 않고 정렬에 성공한 것으로 판단한다(106).
인간의 염기 서열을 대상으로 한 실험 결과, 게놈 시퀀서에서 출력되는 100만 개의 리드 서열을 인간의 염기 서열에 일치 정합할 경우 총 200만회의 정렬 중(정방향 시퀀스 100만회, 역상보(reverse complement) 방향 시퀀스 100만회) 231,564회의 일치 정합이 발생되는 것으로 나타났다. 따라서 상기 104 단계의 수행 결과 약 11.6%만큼의 정렬 소요량을 감소시킬 수 있었다.
그러나, 이와 달리 상기 106 단계에서 해당 리드 서열이 일치 정합되지 않는 것으로 판단되는 경우에는 해당 리드 서열을 상기 대상 서열에 정렬했을 때 나타날 수 있는 에러의 최소 개수(mEB; minimum Error Bound)를 계산한다(108).
도 2는 상기 108 단계에서의 mEB 계산 과정을 예시하기 위한 도면이다. 먼저, 도 2의 (a)에 도시된 바와 같이 최초 mEB를 0으로 설정하고 리드 서열의 가장 첫 번째 베이스부터 오른쪽으로 한 베이스씩 이동하면서 일치 정합을 시도한다. 이때 (b)에 도시된 바와 같이 리드 서열의 특정 베이스(도면에서 두번째 T로 표기된 부분)에서부터 더 이상 일치 정합이 불가능하다고 가정하자. 이 경우는 리드 서열의 정합 시작 위치부터 현재 위치 사이의 구간 어딘가에서 에러가 발생한 것을 의미한다. 따라서 이 경우에는 mEB 값을 1만큼 증가시키고(mEB = 1), 다음 위치에서 새로 일치 정합을 시작한다(도면에서 (c)로 표기). 이후 또 다시 일치 정합이 불가능하다고 판단되는 경우에는, 일치 정합을 새로 시작한 위치부터 현재 위치 사이의 구간 어디에서 다시 에러가 발생한 것이므로, mEB 값을 다시 1만큼 증가시키고(mEB = 2), 다음 위치에서 새로 일치 정합을 시작한다(도면에서 (d)로 표기). 이와 같은 과정을 거쳐 리드의 끝까지 도달한 경우의 mEB 값이 해당 리드의 mEB 값이 된다.
상기와 같은 과정을 거쳐 리드 서열의 mEB 값이 계산되면, 계산된 mEB 값이 기 설정된 최대 에러 허용치(maxError)를 초과하는지의 여부를 판단하고(110), 초과하는 경우 해당 리드 서열에 대한 정렬이 실패한 것으로 판단하여 정렬을 종료한다.
전술한 인간의 염기 서열을 대상으로 한 실험에서, 최대 에러 허용치(maxError)를 3으로 하고 나머지 리드들의 mEB를 계산한 결과, 총 844,891회에 해당하는 리드들이 상기 최대 에러 허용치를 초과하는 것으로 나타났다. 즉, 상기 108 단계의 수행 결과 약 42.2%만큼의 정렬 소요량을 감소시킬 수 있었다.
그러나 이와 달리 상기 110 단계에서의 판단 결과, 계산된 mEB 값이 상기 최대 에러 허용치 이하인 경우에는 다음과 같은 과정을 거쳐 해당 리드 서열에 대한 정렬을 수행한다.
먼저, 상기 리드 서열로부터 복수 개의 단편(fragment) 서열들을 생성하고(112), 생성된 상기 복수 개의 단편 서열들 중 상기 대상 서열과 매칭되는 단편 서열만을 포함하는 후보 단편 서열 집합을 구성한다(114). 이후 상기 대상 서열을 복수 개의 구간으로 분할하고, 상기 각 구간 별로 상기 후보 단편 서열들의 총 맵핑 길이를 계산함으로써 맵핑 히스토그램을 생성하며(116), 생성된 맵핑 히스토그램에서 상기 총 맵핑 길이가 기준값(Histogram Cut) 이상인 구간을 선택하고, 선택된 구간에 대하여 상기 리드 서열에 대한 전역 정렬(global alignment)을 수행하게 된다(118). 이때 상기 전역 정렬의 결과 리드의 에러 개수가 기 설정된 최대 에러 허용치(maxError)를 초과하는 경우에는 정렬 실패로, 그렇지 않은 경우에는 정렬에 성공한 것으로 판단된다(120).
이하에서는 상기 112 단계 내지 118 단계의 구체적인 과정을 상세히 설명한다.
리드 서열로부터 복수 개의 단편 서열 생성(112)
본 단계는 본격적으로 리드 서열의 정렬을 수행하기 위하여 리드 서열로부터 복수 개의 작은 조각인 단편 서열을 생성하는 단계이다. 본 단계에서는, 상기 리드 서열의 첫 번째 베이스부터 마지막 베이스까지 설정된 간격(shift size) 만큼 이동하면서 설정된 크기(fragment size)만큼 리드 서열의 값을 읽음으로써 상기 단편 서열들을 생성하게 된다.
도 3은 상기 112 단계에서의 단편 서열 생성 과정을 설명하기 위한 도면이다. 도시된 실시예에서는 리드 서열의 길이가 75bp(base pair), 리드의 최대 에러 허용 허용치가 3bp, 단편 서열의 크기(fragment size)가 15bp, 이동 간격(shift size)가 4bp인 경우의 실시예를 나타낸 것이다. 즉, 리드 서열의 첫 번째 베이스부터 4bp씩 오른쪽으로 이동하면서 단편 서열을 생성하게 된다. 다만, 도시된 실시예의 경우 단지 예시적인 것으로서, 예컨대 상기 이동 간격, 단편 서열의 크기 등은 리드 서열의 길이, 리드의 최대 에러 허용치 등의 값을 고려하여 적절하게 정해질 수 있다. 다시 말해 본 발명의 권리범위는 특정한 단편 서열의 크기 및 이동 간격에 한정된 것은 아님에 유의한다.
생성된 단편 서열의 필터링 및 확장(114)
상기와 같은 과정을 거쳐 단편 서열들이 생성되면, 다음으로 생성된 단편 서열 중 대상 서열과 매칭되지 않는 단편 서열들을 제외하는 필터링 과정을 거쳐 후보 단편 서열 집합(sub-candidate)을 구성한다. 즉, 생성된 단편 서열들과 상기 대상 서열과의 일치 정합(exact matching)을 시도하고, 그 결과 불일치하는 베이스의 수가 기 설정된 허용치 이하인 단편 서열들(후보 단편 서열들)로 상기 후보 단편 서열 집합을 구성하게 된다. 이때, 상기 허용치가 0인 경우, 상기 후보 단편 서열 집합에는 상기 대상 서열과 일치 정합되는 단편 서열들만이 포함된다.
예를 들어, 도 3에 도시된 실시예에서, 상기 리드의 15번째, 31번째 및 47번째 자리에서 에러가 발생하였다고 가정하자(도면에서 점선으로 표시). 이 경우 상기 에러를 포함하는 단편 서열들(도면에서 회색으로 표시)의 경우에는 대상 서열과의 일치 정합이 되지 않으며, 에러의 영향을 받지 않는 49~63, 53~67, 57~71 및 61~75의 4개의 단편 서열들만이 대상 서열과 일치 정합된다. 따라서 이 경우 상기 후보 단편 서열 집합에는 상술한 4개의 단편 서열들만이 포함된다.
한편, 일반적으로 대상 염기 서열(예를 들어 인간의 유전체)은 다수의 중복 시퀀스(repeat sequence)를 포함한다. 이러한 중복 시퀀스는 대상 서열의 여러 위치에 분포하며, 동일한 염기 서열을 반복적으로 포함하고 있기 때문에 일부 단편 서열들의 경우 대상 서열과의 맵핑 시 너무 많은 위치에서 일치 정합이 발생하게 된다. 그러나 이와 같은 중복 시퀀스로 인해 일부 단편 서열들에서 너무 많은 수의 맵핑이 생성될 경우 전체 정렬 알고리즘의 복잡도 및 정확도에 악영향을 끼치므로, 이 경우 적절한 방법을 이용하여 맵핑되는 위치의 중복수를 줄일 필요가 있다.
이를 위하여, 본 단계에서는 후보 단편 서열들 중 상기 대상 서열에서의 맵핑 위치가 기 설정된 값(예를 들어 50개)을 초과할 경우 상기 맵핑 위치의 개수가 상기 설정된 값 이하가 될 때까지 해당 단편 서열의 크기를 확장하는 단계를 더 포함할 수 있다.
구체적으로, 본 단계에서는 생성된 상기 후보 단편 서열들 각각의 상기 대상 서열에서의 맵핑 위치의 개수를 계산하고, 계산된 상기 맵핑 위치의 개수가 설정된 값을 초과하는 단편 서열을 선택한 뒤, 상기 대상 서열에서의 맵핑 위치의 개수가 상기 설정된 값 이하가 될 때까지 선택된 단편 서열의 크기를 확장하게 된다. 이때 상기 선택된 단편 서열의 크기 확장은, 상기 선택된 단편 서열의 처음 또는 끝 부분에, 해당 위치에 대응되는 상기 리드 서열에서의 베이스를 추가함으로써 수행될 수 있다.
이를 예를 들어 설명하면 다음과 같다. 예를 들어, 다음과 같이 리드 서열로부터 단편 서열이 생성되었다고 가정하자.
리드 서열: A T T G C C T C A G T
단편 서열: T T G C (리드 서열에서 밑줄 친 부분)
만약 상기 단편 서열에 대한 맵핑 결과 대상 서열에서의 맵핑 위치의 개수가 기준치인 50개를 초과하는 65개일 경우에는, 아래와 같이 상기 맵핑 위치의 개수가 기준치 이하로 떨어질 때까지 상기 단편 서열의 길이를 1bp씩 확장하게 된다.
T T G C (65 맵핑 위치)
T T G C C (54 맵핑 위치)
T T G C C T (27 맵핑 위치)
위의 예시의 경우, 리드 서열을 참조하여 2개의 베이스를 추가하였을 경우 맵핑 위치의 개수가 설정값 이하로 떨어지므로, 최종 단편 서열은 최초 생성된 값보다 2bp 확장된 T T G C C T 가 된다. 한편, 전술한 다른 예에서와 마찬가지로, 상기 설정값 또한 대상 서열, 리드 서열 및 단편 서열의 특성 등에 따라서 적절하게 정해질 수 있는 값으로서 본 발명은 특정한 설정값에 그 권리범위가 한정되는 것은 아님에 유의하여야 한다.
인간의 염기 서열을 대상으로 한 실험에서, 100만 개의 리드에서 단편 서열의 길이 15bp, 시프트 간격 4bp로 단편 서열들을 생성한 후 생성된 단편 서열들을 대상 서열에 매칭할 경우, 기준치를 50으로 할 때 총 15,547,856개의 단편 서열 중 약 77%의 단편 서열이 50개 이하의 맵핑을 가지는 것으로 나타났다. 즉, 실험 결과 기준치를 50으로 할 경우 77%의 단편 서열은 이를 그대로 활용할 수 있으며, 나머지 23%의 단편 서열들은 전술한 방법에 따른 단편 서열 확장이 필요한 것으로 나타났다.
맵핑 히스토그램 생성(116)
상술한 과정을 통하여 후보 단편 서열 집합(sub-candidate)이 구성되면, 원칙적으로 이들 후보 단편 서열 집합들의 상기 대상 서열 내에서의 맵핑 위치들을 이용하여 리드 서열을 대상 서열에 맵핑하는 것이 가능하다. 그러나 이 경우 후보 단편 서열들의 각 맵핑 위치의 모든 조합들을 고려하여야 하기 때문에 리드 서열의 맵핑을 위한 계산의 복잡도가 매우 높아지게 된다. 예를 들어, 후보 단편 서열 집합에 포함된 후보 단편 서열이 4개이고, 각각의 후보 단편 서열들의 대상 서열에서의 맵핑 위치의 개수가 각각 3, 6, 24, 49개일 경우, 21,168(=3*6*24*49)개의 조합을 모두 조사하여야 한다. 본 발명에서는 이와 같은 계산의 복잡도를 줄이기 위해 맵핑 히스토그램을 이용하게 된다.
본 발명에서 맵핑 히스토그램은 일정 크기를 갖는 배열(integer array)로, 배열의 값은 대상 서열을 동일한 크기를 가지는 복수 개의 구간으로 분할할 때의 각 구간에 대응된다. 예를 들어, 대상 서열을 65536(=216)bp 크기를 가지는 구간으로 분할할 경우, 대상 서열의 0~65535bp까지의 구간은 맵핑 히스토그램(h)의 첫 번째 값인 h[0]에 대응되고, 65536~131071까지의 구간은 맵핑 히스토그램(h)의 두 번째 값인 h[1]에 대응된다. 이와 같은 방식으로 대상 서열의 분할된 각 구간들을 맵핑 히스토그램에 대응시킬 수 있다.
또한, 맵핑 히스토그램의 각 값(h[i])에는 대응되는 대상 서열 구간에서의 상기 후보 단편 서열의 총 맵핑 길이(A)가 저장되며, 추가적으로 해당 대상 서열 구간에 맵핑되는 후보 단편 서열의 리드 서열에서의 위치 중 가장 큰 값(B)이 저장될 수 있다.
예를 들어, 도 3에 도시된 실시예에서 53~67의 단편 서열이 h[0] 구간에 맵핑될 경우 h[0]의 히스토그램 값은 (15, 67)이 된다(이때, 15는 h[0] 구간에 맵핑되는 후보 단편 서열의 총 맵핑 길이, 67은 맵핑되는 후보 단편 서열의 리드 서열에서의 마지막 위치). 동일한 방식으로, 49~63의 단편 서열이 h[1] 구간에 맵핑된 경우 h[1]의 히스토그램 값은 (15, 63)이 된다. 이후 61~75의 단편 서열이 h[0] 구간에 맵핑될 경우 h[0]의 히스토그램 값은 (23, 75)로 업데이트되며 그 이유는 다음과 같다.
첫 번째 값 23: 최초 맵핑된 53~67 및 이후에 맵핑된 61~75의 오버랩되는 구간을 고려한 총 맵핑 길이
두 번째 값 75: 맵핑되는 단편 서열들의 마지막 위치. 즉 61~75의 마지막 위치에 해당
맵핑 대상 구간 선택 및 전역 정렬( Global Assignment )(118)
상기와 같은 과정을 거쳐 맵핑 히스토그램이 생성되면, 맵핑 히스토그램의 히스토그램 값(해당 구간에서의 후보 단편 서열들의 총 맵핑 길이)가 기 설정된 기준값(히스토그램 컷; Histogram Cut) 이상인 구간을 맵핑 대상 구간으로 선택한다.
도 4는 본 발명의 일 실시예에 따른 맵핑 히스토그램을 이용한 맵핑 대상 구간 선택 과정을 예시한 도면이다. 도시된 바와 같이, 대상 서열이 h[0] 부터 h[3]까지 4개의 구간으로 분할되고, 각 구간의 히스토그램 값이 아래와 같이 계산되었다고 가정하자.
h[0] = 15, h[1] = 0, h[2] = 23, h[3] = 15
이때 상기 히스토그램 컷 값이 22로 설정될 경우 히스토그램 컷 값보다 큰 구간은 h[2]에 해당하는 구간이 되며, 본 단계에서는 h[2]에 해당하는 구간을 맵핑 대상 구간으로 선택하게 된다. 이때, 만약 히스토그램 값이 히스토그램 컷보다 큰 구간이 복수 개일 경우에는 해당하는 모든 구간이 맵핑 대상 구간이 되며, 맵핑 대상 구간에 포함된 복수 개의 구간 모두에서 전역 정렬이 수행된다. 이 경우에는 정렬 속도를 높이기 위하여 맵핑 대상 구간에 포함된 각 구간들의 히스토그램 값을 서로 비교하고, 히스토그램 값이 높은 구간부터 순차적으로 전역 정렬을 수행할 수 있다. 히스토그램 값이 높다는 것은 맵핑되는 단편 서열의 총 길이가 더 길다는 의미이므로, 해당 구간에서 리드 서열이 맵핑될 가능성이 높기 때문이다. 또한, 이 경우 각 구간 별 히스토그램 값이 동일할 경우에는 각 구간들에 맵핑되는 후보 단편 서열들의 개수를 계산하고, 단편 서열의 개수가 많은 구간부터 전역 정렬을 수행할 수 있다.
이와 같이 맵핑 대상 구간이 선택되면, 다음으로 후보 단편 서열(sub-candidate) 중 해당 맵핑 대상 구간에 맵핑되는 후보 단편 서열들을 최종 후보 단편 서열(candidate)로 선정하고, 선정된 최종 후보 단편 서열들 각각의 맵핑 위치에서 리드 서열에 대한 전역 정렬을 수행함으로써 리드 서열에 대한 정렬을 완료한다.
예를 들어, 상기 도 4의 실시예에서 h[2] 구간에 맵핑되는 후보 단편 서열들이 49~63, 53~67, 61~75의 3개라고 가정하면, 상기 3개의 후보 단편 서열들이 최종 후보가 되며, 이들의 해당 구간 내 맵핑 위치에서 리드 서열의 전역 정렬을 수행하게 된다.
한편, 상기 최종 후보 단편 서열에 대한 전역 정렬 시에는, 전역 정렬에 소요되는 시간을 줄이기 위하여 한 번 전역 정렬을 수행한 대상 서열에서의 위치를 기억하여 두었다가 그와 가까운 위치에서는 반복하여 여러 번 전역 정렬이 수행되지 않도록 한다. 구체적으로, 본 단계에서는 상기 맵핑 대상 구간을 복수 개의 소구간으로 분할한 뒤, 전역 정렬이 수행된 소구간의 경우 이를 기록하여 두도록 구성된다. 이후, 해당 소구간에 대한 전역 정렬 시에는 상기 기록된 정보를 이용하여 해당 소구간에서 전역 정렬이 기 수행되었는지의 여부를 판단하고, 상기 판단 결과 전역 정렬이 기 수행되지 않은 경우에만 전역 정렬을 수행하게 된다.
이를 예를 들어 설명하면 도 5와 같다. 도시된 바와 같이 맵핑 대상 구간이 5개의 소구간으로 나뉘어지고, 상기 3개의 최종 후보 중 49~63, 53~67은 두번째 소구간에, 61~75는 4번째 소구간에 맵핑된다고 가정하자. 이 경우 만약 49~63의 단편 서열에 대하여 2번째 소구간에서 전역 정렬이 수행될 경우, 그 결과에 관계 없이 동일한 소구간에 속한 53~67에 대해서는 전역 정렬이 수행되지 않으며, 이는 그 반대의 경우도 마찬가지이다. 따라서 도시된 실시예의 경우, 전역 정렬은 49~63/61~75 또는 53~67/61~75의 조합에 대해서만 실시되게 된다. 본 발명에서와 같이 대상 서열 전체가 아닌 맵핑 대상 구간 내에서만 전역 정렬이 수행된다고 하더라도 전역 정렬을 위해서는 시간이 많이 소요되므로, 이와 같은 과정을 통할 경우 전열 정렬에 소요되는 시간을 줄일 수 있다.
히스토그램 컷( Histogram Cut ) 계산
상기 실시예서, 히스토그램 컷은 다음과 같은 방식으로 계산될 수 있다.
먼저, f를 단편 서열의 크기, s를 단편 서열을 생성하기 위한 리드 서열 내에서의 이동 간격, L을 리드 서열의 길이, e를 리드 서열에서 허용되는 최대 에러의 개수, H를 히스토그램 컷이라 할 때, 리드 서열에서 에러의 영향을 받지 않는 영역의 길이 T 는 아래 수식과 같이 구할 수 있다.
T = L - f*e - s
이때, L과 e는 본 발명의 수행 시 미리 결정되어 있는 값이므로, f, s값에 따라 T가 결정된다. 즉, f와 s값을 어떻게 변화시키느냐에 따라 알고리즘의 성능이 변화하게 된다.
먼저, H 값을 결정할 때는 아래의 두 가지 조건을 고려한다. 이 중 필수 조건은 반드시 충족해야 하며, 추가 조건은 가능한 경우에 고려한다.
- 필수 조건: 맵핑의 기본 단위가 단편 서열이기 때문에, 히스토그램 컷이 아무리 작더라도 적어도 오버랩되는 2개 이상의 단편 서열을 포함할 수 있는 크기여야 한다. 만약 도 2에서와 같이 f=15, s=4인 경우 오버랩되는 2개의 단편 서열들의 최소 길이는 15+4=19가 되므로, 적어도 H 값은 19 이상이어야 한다. 또한, 상기 H 값은 적어도 2개의 단편 서열이 포함되도록 설정되어야 하므로 최소한 f + s 보다는 크거나 같아야 한다. 후술할 바와 같이, f 값은 최소 15 이상이어야 하므로, s값을 그 최소값인 1로 가정할 경우 H는 최소한 16 (=15 + 1) 이상의 값이 된다.
- 추가 조건: 이상적인 상황을 가정했을 때, H = T 로 설정하고 T 이상의 시퀀스가 맵핑된 히스토그램을 찾으면 주어진 에러에 대한 모든 맵핑을 찾을 수 있다. 그러나 전술한 바와 같이 대상 서열 자체에 중복이 많을 경우 상황에 따라 단편 서열의 길이를 확장하여야 할 경우가 발생할 수 있다. 따라서 이를 고려하여 H 값을 정할 때는 T보다 약간 작은 T - s 를 사용하는 것이 맵핑률 측면에서 유리하다. 만약 H = T로 가정할 경우, H = T - f*e - s가 되며, 이 중 e를 최소값인 1로 가정할 경우(e가 0인 경우는 대상 서열과 일치 정합되는 경우이므로 전술한 104 단계에서 맵핑이 완료됨), H = T - f - s가 된다. 이 값이 히스토그램 값의 최대값이 된다. 만약 L = 75bp, f = 15bp, s = 1로 가정할 경우, H의 최대값은 75 - 15 -1 = 59가 된다.
정리하면, 상기 H 값은 다음의 범위를 만족하여야 한다.
f + s <= H <= T - (f + s)
다음으로, f 값은 아래 두 가지 조건을 만족하는 값 중에서 큰 값을 고른다. 역시 필수 조건은 반드시 충족해야 하며, 추가 조건은 가능한 경우에 고려한다.
- 필수 조건: f는 15 이상이어야 하며, 그 이유는 단편 서열의 길이가 14 이하일 경우 대상 서열 내에서의 맵핑 위치의 개수가 급격히 증가하기 때문이다.
아래의 표 1은 단편 서열 길이에 따른 인간 유전체 내에서의 단편 서열의 평균 등장 빈도를 나타낸 것이다.
단편 서열의 길이 평균 등장 빈도
10 2,726.1919
11 681.9731
12 170.9185
13 42.7099
14 10.6470
15 2.6617
16 0.6654
17 0.1664
상기 표에서 알 수 있는 바와 같이, 단편 서열의 길이가 14 이하일 경우에는 단편 서열 별 빈도가 10 이상이나, 15일 경우에는 3 이하로 감소하는 것을 알 수 있다. 즉, 단편 서열의 길이를 15 이상으로 구성할 경우 14 이하로 구성할 경우에 비해 단편 서열의 중복을 대폭 감소시킬 수 있다.
- 추가 조건: f = L/(e+2) 을 만족하여야 하며, 이는 T의 길이를 단편 서열 2개의 크기 이상으로 보장하기 위함이다.
예를 들어, L=100, e=4일 때 f는 16 이하의 값을 가져야 한다.
위의 조건을 정리하여, f와 s, H를 결정하는 방법을 정리하면 다음과 같다.
- s는 4로 고정한 뒤, f와 H를 결정한다.
- 15 ≤ f ≤ L/(e+2) 범위 내에서 가장 큰 값을 f 로 결정한다. (단, 반드시 f = 15)
- H 는 아래 식을 이용해 결정한다.
H = L - f * e - 2s 또는 H = f + s 에서 계산되는 값 중 큰 값
(이때, H는 기준값, L은 리드 서열의 길이, f는 단편 서열의 길이, e는 리드 서열의 최대 에러 개수, s는 각 단편 서열들의 이동 간격)
예 1) L = 75, e = 3일 때,
f = 15~15이므로 15,
s = 4,
H = 75 - 3*15 - 2*4 = 22가 된다.
예 2) L = 100, e = 4일 때,
f = 15~16이므로 16,
s = 4,
H = 100 - 4*16 - 2*4 = 36 - 8 = 28가 된다.
예 3) L = 75, e = 4일 때
f = 15~12이지만, 15 이상이어야 하므로 15,
s = 4,
H = 75 - 4*15 - 2*4 = 15-8 = 7이지만, f + s = 19 이므로, 결과적으로 H = 19가 된다.
도 6은 본 발명의 일 실시예에 따른 염기 서열 정렬 시스템(600)의 블록도이다. 본 발명의 일 실시예에 따른 염기 서열 정렬 시스템(600)은 전술한 염기 서열 정렬 방법을 수행하기 위한 장치로서, 단편 서열 생성부(602), 필터링부(604), 맵핑 길이 계산부(606), 정렬부(608) 및 단편 서열 확장부(610)를 포함한다.
단편 서열 생성부(602)는 게놈 시퀀서로부터 얻어진 리드 서열로부터 복수 개의 단편(fragment) 서열들을 생성한다. 전술한 바와 같이, 단편 서열 생성부(602)는 상기 리드 서열의 첫 번째 베이스부터 설정된 간격만큼 이동하면서 설정된 크기만큼 상기 리드 서열의 값을 읽음으로써 상기 단편 서열들을 생성하게 된다.
필터링부(604)는 생성된 상기 복수 개의 단편 서열들 중 상기 대상 서열과 매칭되는 단편 서열만을 포함하는 후보 단편 서열 집합을 구성한다. 이때, 상기 대상 서열과 매칭되는 단편 서열은, 상기 대상 서열과의 일치 정합(exact matching) 결과 불일치하는 베이스의 수가 설정된 개수 이하인 단편 서열을 의미한다.
맵핑 길이 계산부(606)는 상기 대상 서열을 복수 개의 구간으로 분할하고, 상기 각 구간 별로 상기 후보 단편 서열들의 맵핑 위치 및 각 구간 별 상기 후보 단편 서열들의 총 맵핑 길이를 계산한다.
정렬부(608)는 맵핑 길이 계산부(606)에 의하여 분할된 구간 중 계산된 상기 총 맵핑 길이가 기준값 이상인 구간을 선택하고, 선택된 구간에 대하여 상기 리드 서열에 대한 전역 정렬을 수행한다. 구체적으로, 정렬부(608)는 상기 후보 단편 서열 중 상기 선택된 구간에 맵핑되는 후보 단편 서열의 상기 대상 서열 내에서의 맵핑 위치에 기초하여 상기 리드 서열에 대한 전역 정렬을 수행한다.
또한 정렬부(608)는 상기 선택된 구간(맵핑 대상 구간)을 복수 개의 소구간으로 분할하고, 상기 전역 정렬을 수행하려는 상기 대상 서열 내 위치가 속한 소구간에서 전역 정렬이 기 수행되었는지의 여부를 판단하며, 상기 판단 결과 전역 정렬이 기 수행되지 않은 경우에만 상기 전역 정렬을 수행함으로써 불필요한 전역 정렬의 횟수를 감소시키도록 구성될 수 있다.
단편 서열 확장부(610)는 상기 필터링부(604)에서 생성된 상기 후보 단편 서열들 각각의 상기 대상 서열에서의 맵핑 위치의 개수를 계산하고, 계산된 상기 맵핑 위치의 개수가 설정된 값을 초과하는 단편 서열을 선택하며, 상기 대상 서열에서의 맵핑 위치의 개수가 상기 설정된 값 이하가 될 때까지 선택된 단편 서열의 크기를 확장한다. 이때, 단편 서열 확장부(610)는 상기 선택된 단편 서열의 처음 또는 끝 부분에, 해당 위치에 대응되는 상기 리드 서열에서의 베이스를 추가함으로써 상기 확장을 수행한다.
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야에서 통상의 지식을 가진 자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플로피 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다.
그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
600: 염기 서열 정렬 시스템
602: 단편 서열 생성부
604: 필터링부
606: 맵핑 길이 계산부
608: 정렬부
610: 단편 서열 확장부

Claims (19)

  1. 리드 서열로부터 복수 개의 단편(fragment) 서열들을 생성하는 단편 서열 생성부;
    생성된 상기 복수 개의 단편 서열들 중 대상 서열과 매칭되는 단편 서열만을 포함하는 후보 단편 서열 집합을 구성하는 필터링부;
    상기 후보 단편 서열들 각각의 상기 대상 서열에서의 맵핑 위치의 개수를 계산하고, 계산된 상기 맵핑 위치의 개수가 설정된 값을 초과하는 단편 서열을 선택하며, 상기 대상 서열에서의 맵핑 위치의 개수가 상기 설정된 값 이하가 될 때까지 선택된 단편 서열의 크기를 확장하는 단편 서열 확장부;
    상기 대상 서열을 복수 개의 구간으로 분할하고, 상기 각 구간 별로 상기 후보 단편 서열들의 총 맵핑 길이를 계산하는 맵핑 길이 계산부; 및
    계산된 상기 총 맵핑 길이가 기준값 이상인 구간을 선택하고, 선택된 구간에 대하여 상기 리드 서열에 대한 전역 정렬(global alignment)을 수행하는 정렬부를 포함하는 염기 서열 정렬 시스템.
  2. 청구항 1에 있어서,
    상기 단편 서열 생성부는, 상기 리드 서열의 첫 번째 베이스부터 설정된 간격만큼 이동하면서 설정된 크기만큼 상기 리드 서열의 값을 읽음으로써 상기 단편 서열들을 생성하는, 염기 서열 정렬 시스템.
  3. 청구항 1에 있어서,
    상기 대상 서열과 매칭되는 단편 서열은, 상기 대상 서열과의 일치 정합(exact matching) 결과 불일치하는 베이스의 수가 설정된 개수 이하인 단편 서열인, 염기 서열 정렬 시스템.
  4. 청구항 1에 있어서,
    상기 단편 서열 확장부는, 상기 선택된 단편 서열의 처음 또는 끝 부분에, 해당 위치에 대응되는 상기 리드 서열에서의 베이스를 추가하는, 염기 서열 정렬 시스템.
  5. 청구항 1에 있어서,
    상기 정렬부는, 상기 후보 단편 서열 중 상기 선택된 구간에 맵핑되는 후보 단편 서열을 선택하고, 선택된 각각의 후보 단편 서열의 상기 대상 서열 내에서의 맵핑 위치에서 상기 리드 서열에 대한 전역 정렬을 수행하는, 염기 서열 정렬 시스템.
  6. 청구항 5에 있어서,
    상기 정렬부는, 상기 선택된 구간을 복수 개의 소구간으로 분할하고, 상기 전역 정렬을 수행하려는 상기 대상 서열 내 위치가 속한 소구간에서 전역 정렬이 기 수행되었는지의 여부를 판단하며, 상기 판단 결과 전역 정렬이 기 수행되지 않은 경우에만 상기 전역 정렬을 수행하는, 염기 서열 정렬 시스템.
  7. 청구항 1에 있어서,
    상기 기준값은 다음의 수학식
    H = L - f * e - 2s
    (이때, H는 기준값, L은 리드 서열의 길이, f는 단편 서열의 길이, e는 리드 서열의 최대 에러 개수, s는 각 단편 서열들의 이동 간격)
    또는, H = f + s
    에서 계산되는 값 중 큰 값인, 염기 서열 정렬 시스템.
  8. 청구항 7에 있어서,
    상기 기준값은 다음의 수학식
    f + s <= H <= T - (f + s)
    을 만족하는, 염기 서열 정렬 시스템.
  9. 청구항 1에 있어서,
    상기 기준값은 16 이상 59 이하인, 염기 서열 정렬 시스템.
  10. 리드(read) 서열을 대상 서열에 정렬하기 위한 방법으로서,
    단편 서열 생성부에서, 상기 리드 서열로부터 복수 개의 단편(fragment) 서열들을 생성하는 단계;
    필터링부에서, 생성된 상기 복수 개의 단편 서열들 중 상기 대상 서열과 매칭되는 단편 서열만을 포함하는 후보 단편 서열 집합을 구성하는 단계;
    단편 서열 확장부에서, 생성된 상기 후보 단편 서열들 각각의 상기 대상 서열에서의 맵핑 위치의 개수를 계산하는 단계;
    상기 단편 서열 확장부에서, 계산된 상기 맵핑 위치의 개수가 설정된 값을 초과하는 단편 서열을 선택하는 단계;
    상기 단편 서열 확장부에서, 상기 대상 서열에서의 맵핑 위치의 개수가 상기 설정된 값 이하가 될 때까지 선택된 단편 서열의 크기를 확장하는 단계;
    맵핑 길이 계산부에서, 상기 대상 서열을 복수 개의 구간으로 분할하고, 상기 각 구간 별로 상기 후보 단편 서열들의 총 맵핑 길이를 계산하는 단계; 및
    정렬부에서, 계산된 상기 총 맵핑 길이가 기준값 이상인 구간을 선택하고, 선택된 구간에 대하여 상기 리드 서열에 대한 전역 정렬(global alignment)을 수행하는 단계를 포함하는 염기 서열 정렬 방법.
  11. 청구항 10에 있어서,
    상기 단편 서열들을 생성하는 단계는, 상기 리드 서열의 첫 번째 베이스부터 설정된 간격만큼 이동하면서 설정된 크기만큼 상기 리드 서열의 값을 읽음으로써 상기 단편 서열들을 생성하는, 염기 서열 정렬 방법.
  12. 청구항 10에 있어서,
    상기 대상 서열과 매칭되는 단편 서열은, 상기 대상 서열과의 일치 정합(exact matching) 결과 불일치하는 베이스의 수가 설정된 개수 이하인 단편 서열인, 염기 서열 정렬 방법.
  13. 청구항 10에 있어서,
    상기 선택된 단편 서열의 크기를 확장하는 단계는, 상기 선택된 단편 서열의 처음 또는 끝 부분에, 해당 위치에 대응되는 상기 리드 서열에서의 베이스를 추가하도록 구성되는, 염기 서열 정렬 방법.
  14. 청구항 10에 있어서,
    상기 전역 정렬을 수행하는 단계는, 상기 후보 단편 서열 중 상기 선택된 구간에 맵핑되는 후보 단편 서열을 선택하고, 선택된 각각의 후보 단편 서열의 상기 대상 서열 내에서의 맵핑 위치에서 상기 리드 서열에 대한 전역 정렬을 수행하는, 염기 서열 정렬 방법.
  15. 청구항 14에 있어서,
    상기 전역 정렬을 수행하는 단계는, 상기 선택된 구간을 복수 개의 소구간으로 분할하는 단계; 및
    상기 전역 정렬을 수행하려는 상기 대상 서열 내 위치가 속한 소구간에서 전역 정렬이 기 수행되었는지의 여부를 판단하는 단계를 더 포함하며,
    상기 판단 결과 전역 정렬이 기 수행되지 않은 경우에만 상기 전역 정렬을 수행하는, 염기 서열 정렬 방법.
  16. 청구항 10에 있어서,
    상기 기준값은 다음의 수학식
    H = L - f * e - 2s
    (이때, H는 기준값, L은 리드 서열의 길이, f는 단편 서열의 길이, e는 리드 서열의 최대 에러 개수, s는 각 단편 서열들의 이동 간격)
    또는, H = f + s
    에서 계산되는 값 중 큰 값인, 염기 서열 정렬 방법.
  17. 청구항 16에 있어서,
    상기 기준값은 다음의 수학식
    f + s <= H <= T - (f + s)
    을 만족하는, 염기 서열 정렬 방법.
  18. 청구항 10에 있어서,
    상기 기준값은 16 이상 59 이하인, 염기 서열 정렬 방법.
  19. 리드 서열로부터 복수 개의 단편(fragment) 서열들을 생성하는 단편 서열 생성부;
    생성된 상기 복수 개의 단편 서열들 중 대상 서열과 매칭되는 단편 서열만을 포함하는 후보 단편 서열 집합을 구성하는 필터링부;
    상기 대상 서열을 복수 개의 구간으로 분할하고, 상기 각 구간 별로 상기 후보 단편 서열들의 총 맵핑 길이를 계산하는 맵핑 길이 계산부; 및
    계산된 상기 총 맵핑 길이가 기준값 이상인 구간을 선택하고, 선택된 구간에 대하여 상기 리드 서열에 대한 전역 정렬(global alignment)을 수행하는 정렬부를 포함하는 염기 서열 정렬 시스템.
KR20120120649A 2012-10-29 2012-10-29 염기 서열 정렬 시스템 및 방법 KR101508817B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR20120120649A KR101508817B1 (ko) 2012-10-29 2012-10-29 염기 서열 정렬 시스템 및 방법
JP2013033518A JP5612144B2 (ja) 2012-10-29 2013-02-22 塩基配列アラインメントシステム及び方法
CN201310064514.9A CN103793625A (zh) 2012-10-29 2013-02-28 碱基序列比对系统及方法
US13/780,593 US20140121983A1 (en) 2012-10-29 2013-02-28 System and method for aligning genome sequence
EP13157122.6A EP2725509A1 (en) 2012-10-29 2013-02-28 System and method for aligning genome sequence

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
KR20140056559A true KR20140056559A (ko) 2014-05-12
KR101508817B1 KR101508817B1 (ko) 2015-04-08

Family

ID=47757455

Family Applications (1)

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

Country Status (5)

Country Link
US (1) US20140121983A1 (ko)
EP (1) EP2725509A1 (ko)
JP (1) JP5612144B2 (ko)
KR (1) KR101508817B1 (ko)
CN (1) CN103793625A (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101480897B1 (ko) * 2012-10-29 2015-01-12 삼성에스디에스 주식회사 염기 서열 정렬 시스템 및 방법
NL2013120B1 (en) 2014-07-03 2016-09-20 Genalice B V A method for finding associated positions of bases of a read on a reference genome.
US20180067992A1 (en) * 2016-09-07 2018-03-08 Academia Sinica Divide-and-conquer global alignment algorithm for finding highly similar candidates of a sequence in database
CN108614954B (zh) * 2016-12-12 2020-07-28 深圳华大基因科技服务有限公司 一种二代序列的短序列纠错的方法和装置
CN112825268B (zh) * 2019-11-21 2024-05-14 深圳华大基因科技服务有限公司 测序结果比对方法及其应用
CN111402956A (zh) * 2020-02-28 2020-07-10 苏州浪潮智能科技有限公司 一种序列比对方法、装置、设备、介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004234297A (ja) * 2003-01-30 2004-08-19 Biomatics Inc 生物学的な配列情報処理装置
WO2011137368A2 (en) * 2010-04-30 2011-11-03 Life Technologies Corporation Systems and methods for analyzing nucleic acid sequences
WO2011143525A2 (en) * 2010-05-13 2011-11-17 Life Technologies Corporation Computational methods for translating a sequence of multi-base color calls to a sequence of bases
KR101726195B1 (ko) * 2010-08-25 2017-04-13 삼성전자주식회사 공진 전력 전달 시스템에서 공진 임피던스 트래킹 장치 및 방법
JP2012078880A (ja) * 2010-09-30 2012-04-19 Mitsubishi Space Software Kk ゲノム配列特定装置、ゲノム配列特定プログラムおよびゲノム配列特定装置のゲノム配列特定方法
CN102206704B (zh) * 2011-03-02 2013-11-20 深圳华大基因科技服务有限公司 组装基因组序列的方法和装置
CN102682226B (zh) * 2012-04-18 2015-09-30 盛司潼 一种核酸测序信息处理系统及方法
KR101482011B1 (ko) * 2012-10-29 2015-01-14 삼성에스디에스 주식회사 염기 서열 정렬 시스템 및 방법
KR101481457B1 (ko) * 2012-10-29 2015-01-12 삼성에스디에스 주식회사 리드 전체를 고려한 염기 서열 정렬 시스템 및 방법
KR101506371B1 (ko) * 2012-10-29 2015-03-26 삼성에스디에스 주식회사 중복을 고려한 염기 서열 재조합 시스템 및 방법
KR101480897B1 (ko) * 2012-10-29 2015-01-12 삼성에스디에스 주식회사 염기 서열 정렬 시스템 및 방법
KR101508816B1 (ko) * 2012-10-29 2015-04-07 삼성에스디에스 주식회사 염기 서열 정렬 시스템 및 방법
KR101584857B1 (ko) * 2013-09-03 2016-01-12 삼성에스디에스 주식회사 염기 서열 정렬 시스템 및 방법

Also Published As

Publication number Publication date
JP2014089690A (ja) 2014-05-15
JP5612144B2 (ja) 2014-10-22
KR101508817B1 (ko) 2015-04-08
US20140121983A1 (en) 2014-05-01
CN103793625A (zh) 2014-05-14
EP2725509A1 (en) 2014-04-30

Similar Documents

Publication Publication Date Title
KR101508816B1 (ko) 염기 서열 정렬 시스템 및 방법
KR101508817B1 (ko) 염기 서열 정렬 시스템 및 방법
KR101481457B1 (ko) 리드 전체를 고려한 염기 서열 정렬 시스템 및 방법
CN108629156B (zh) 三代测序数据纠错的方法、装置和计算机可读存储介质
KR101480897B1 (ko) 염기 서열 정렬 시스템 및 방법
KR101372947B1 (ko) 염기 서열 분석을 위한 참조 서열 처리 시스템 및 방법
KR101394339B1 (ko) 시드의 길이를 고려한 염기 서열 처리 시스템 및 방법
KR101584857B1 (ko) 염기 서열 정렬 시스템 및 방법
KR101522087B1 (ko) 미스매치를 고려한 염기 서열 정렬 시스템 및 방법
KR101506371B1 (ko) 중복을 고려한 염기 서열 재조합 시스템 및 방법
KR101482011B1 (ko) 염기 서열 정렬 시스템 및 방법
KR101525303B1 (ko) 염기 서열 정렬 시스템 및 방법
CA2953675A1 (en) A method for finding associated positions of bases of a read on a reference genome
KR101576794B1 (ko) 리드 길이를 고려한 염기 서열 정렬 시스템 및 방법
KR20150049749A (ko) 정확도를 고려한 염기 서열 정렬 장치 및 방법
Rezar Sestavljanje genoma iz odčitkov zaporedja
Zerbino Thesis Advisory Committee Start-Up Meeting: Using de Bruijn graphs to assemble and compare genomic sequences
JP2005190248A (ja) 配列探索システムおよび探索プログラム
JPH05173999A (ja) 最適化問題の解の探索方式

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
LAPS Lapse due to unpaid annual fee