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

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

Info

Publication number
KR101584857B1
KR101584857B1 KR1020130105529A KR20130105529A KR101584857B1 KR 101584857 B1 KR101584857 B1 KR 101584857B1 KR 1020130105529 A KR1020130105529 A KR 1020130105529A KR 20130105529 A KR20130105529 A KR 20130105529A KR 101584857 B1 KR101584857 B1 KR 101584857B1
Authority
KR
South Korea
Prior art keywords
lead
seeds
mapping
reference sequence
mismatches
Prior art date
Application number
KR1020130105529A
Other languages
English (en)
Other versions
KR20150026542A (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 KR1020130105529A priority Critical patent/KR101584857B1/ko
Priority to US14/273,205 priority patent/US20150066384A1/en
Priority to CN201410196155.7A priority patent/CN104424398A/zh
Publication of KR20150026542A publication Critical patent/KR20150026542A/ko
Application granted granted Critical
Publication of KR101584857B1 publication Critical patent/KR101584857B1/ko

Links

Images

Classifications

    • 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
    • G16B20/00ICT specially adapted for functional genomics or proteomics, e.g. genotype-phenotype associations
    • 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
    • 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)
  • Engineering & Computer Science (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Health & Medical Sciences (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)
  • Wood Science & Technology (AREA)
  • Molecular Biology (AREA)
  • Zoology (AREA)
  • Genetics & Genomics (AREA)
  • Microbiology (AREA)
  • Immunology (AREA)
  • Biochemistry (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)

Abstract

염기 서열 정렬 시스템 및 방법이 개시된다. 본 발명의 일 실시예에 따른 염기 서열 정렬 시스템은, 입력된 리드(read)의 참조 서열(reference sequence)에 대한 일치 정합(exact matching)을 수행하는 일치 정합 모듈, 상기 리드가 상기 참조 서열에 일치 정합되지 않는 경우, 상기 리드와 상기 참조 서열 간의 미스매치(mismatch)를 고려하여 상기 리드를 상기 참조 서열에 맵핑하는 2차 정합 모듈, 및 상기 리드가 상기 2차 정합 모듈에 의하여 맵핑되지 않는 경우, 상기 리드의 상기 참조 서열에 대한 전역 정렬(global alignment)을 수행하는 전역 정렬 모듈을 포함한다.

Description

염기 서열 정렬 시스템 및 방법{SYSTEM AND METHOD FOR ALIGNING GENOME SEQUNCE}
본 발명의 실시예들은 유전체의 염기 서열을 분석하기 위한 기술과 관련된다.
저렴한 비용과 빠른 데이터 생산으로 인해 대용량의 짧은 서열을 생산하는 차세대 시퀀싱(NGS; Next Generation Sequencing)이 전통적인 생거(Sanger) 시퀀싱 방식을 빠르게 대체하고 있다. 또한 다양한 NGS 서열정렬 프로그램들이 정확도에 초점을 맞추어 개발되었다.
서열 재조합의 첫 번째 단계는 염기 서열 정렬(alignment) 알고리즘을 통해 리드(read)를 참조 서열의 정확한 위치에 맵핑(mapping)하는 것이다. 이를 위하여, 일반적인 종래의 염기 서열 정렬 알고리즘은 리드로부터 선택된 일정 길이의 시드(seed)를 먼저 참조 서열에 맵핑하고, 맵핑된 위치에서 나머지 리드를 전역 정렬(Global Alignment)하도록 구성된다.
이와 같은 종래의 서열 정렬 알고리즘의 경우 시드를 이용하여 얻어지는 참조 서열 내의 모든 후보 위치에서 전역 정렬을 수행하여야 한다. 그러나 전역 정렬은 그 복잡도가 O(N2)으로써 그 수행 시간이 매우 긴 작업이므로, 종래기술에 따를 경우 특히 후보 위치가 많아질수록 염기 서열 정렬 시간이 기하급수적으로 증가하는 문제가 있었다.
본 발명의 실시예들은 시퀀서로부터 입력되는 리드를 이용한 서열 정렬 시, 매우 큰 수행 시간 및 프로세싱 파워를 요구하는 전역 정렬의 수행 회수를 효과적으로 감소시키기 위한 수단을 제공하기 위한 것이다.
본 발명의 일 실시예에 따른 염기 서열 정렬 시스템은, 입력된 리드(read)의 참조 서열(reference sequence)에 대한 일치 정합(exact matching)을 수행하는 일치 정합 모듈, 상기 리드가 상기 참조 서열에 일치 정합되지 않는 경우, 상기 리드와 상기 참조 서열 간의 미스매치(mismatch)를 고려하여 상기 리드를 상기 참조 서열에 맵핑하는 2차 정합 모듈, 및 상기 리드가 상기 2차 정합 모듈에 의하여 맵핑되지 않는 경우, 상기 리드의 상기 참조 서열에 대한 전역 정렬(global alignment)을 수행하는 전역 정렬 모듈을 포함한다.
상기 염기 서열 정렬 시스템은, 상기 리드가 상기 참조 서열에 일치 정합되지 않는 경우, 상기 리드로부터 복수 개의 시드(seed)를 생성하는 시드 생성 모듈을 더 포함할 수 있다.
상기 시드 생성 모듈은, 상기 리드의 전 구간으로부터 상기 복수 개의 시드를 생성할 수 있다.
상기 시드 생성 모듈은, 상기 리드의 첫 번째 베이스(base)부터 설정된 간격만큼 이동하면서 설정된 크기만큼 상기 리드의 값을 읽음으로써 상기 복수 개의 시드를 생성할 수 있다.
상기 시드 생성 모듈은, 생성된 시드의 길이가 15bp 내지 30bp가 되도록 상기 복수 개의 시드를 생성할 수 있다.
상기 2차 정합 모듈은, 생성된 상기 각 시드들의 상기 참조 서열에서의 맵핑 위치를 계산하고, 상기 각 시드들의 맵핑 위치에서 상기 리드를 참조 서열에 일치 정합할 경우 발생하는 미스매치(mismatch)를 고려하여 상기 리드의 상기 참조 서열에서의 맵핑 위치를 결정할 수 있다.
상기 2차 정합 모듈은, 상기 각 시드들의 맵핑 위치 중 상기 미스매치의 개수가 가장 적은 위치를 상기 리드의 맵핑 위치로 결정할 수 있다.
상기 2차 정합 모듈은, 상기 각 시드들의 맵핑 위치 중, 상기 미스매치의 퀄리티 스코어의 합이 가장 작은 위치를 상기 리드의 맵핑 위치로 결정할 수 있다.
상기 2차 정합 모듈은, 상기 각 시드들의 맵핑 위치 중, 상기 미스매치 개수가 설정된 값 이하이면서 미스매치의 퀄리티 스코어의 합이 가장 작은 위치를 상기 리드의 맵핑 위치로 결정할 수 있다.
상기 전역 정렬 모듈은, 상기 각 시드들의 맵핑 위치에서 상기 리드의 상기 참조 서열에 대한 전역 정렬을 수행할 수 있다.
상기 전역 정렬 모듈은, 상기 각 시드들의 맵핑 위치 중, 상기 미스매치의 퀄리티 스코어의 합이 가장 작은 맵핑 위치부터 순차적으로 상기 전역 정렬을 수행할 수 있다.
상기 전역 정렬 모듈은, 상기 각 시드들의 맵핑 위치 중, 상기 미스매치의 개수 및 갭(gap)의 개수의 합이 설정된 값 이하이면서, 상기 미스매치의 개수 및 갭(gap)의 개수의 합이 가장 적은 맵핑 위치부터 순차적으로 상기 전역 정렬을 수행할 수 있다.
상기 전역 정렬 모듈은, 상기 각 시드들의 맵핑 위치 중, 상기 미스매치의 개수 및 갭(gap)의 개수의 합이 설정된 값 이하이면서, 상기 미스매치 및 상기 갭의 퀄리티 스코어의 합이 가장 작은 맵핑 위치부터 순차적으로 상기 전역 정렬을 수행할 수 있다.
한편, 본 발명의 일 실시예에 따른 염기 서열 정렬 방법은, 일치 정합 모듈에서, 입력된 리드(read)의 참조 서열(reference sequence)에 대한 일치 정합(exact matching)을 수행하는 일치 정합 단계, 상기 리드가 상기 참조 서열에 일치 정합되지 않는 경우, 2차 정합 모듈에서 상기 리드와 상기 참조 서열 간의 미스매치(mismatch)를 고려하여 상기 리드를 상기 참조 서열에 맵핑하는 2차 정합 단계, 및 상기 리드가 상기 2차 정합 단계에 의하여 맵핑되지 않는 경우, 전역 정렬 모듈에서 상기 리드의 상기 참조 서열에 대한 전역 정렬(global alignment)을 수행하는 단계를 포함한다.
상기 염기 서열 정렬 방법은, 상기 2차 정합 단계의 수행 전, 상기 리드가 상기 참조 서열에 일치 정합되지 않는 경우, 상기 리드로부터 복수 개의 시드(seed)를 생성하는 시드 생성 단계를 더 포함할 수 있다.
상기 시드 생성 단계는, 상기 리드의 전 구간으로부터 상기 복수 개의 시드를 생성할 수 있다.
상기 시드 생성 단계는, 상기 리드의 첫 번째 베이스(base)부터 설정된 간격만큼 이동하면서 설정된 크기만큼 상기 리드의 값을 읽음으로써 상기 복수 개의 시드를 생성할 수 있다.
상기 시드 생성 단계는, 생성된 시드의 길이가 15bp 내지 30bp가 되도록 상기 복수 개의 시드를 생성할 수 있다.
상기 2차 정합 단계는, 생성된 상기 각 시드들의 상기 참조 서열에서의 맵핑 위치를 계산하는 단계, 및 상기 각 시드들의 맵핑 위치에서 상기 리드를 참조 서열에 일치 정합할 경우 발생하는 미스매치(mismatch)를 고려하여 상기 리드의 상기 참조 서열에서의 맵핑 위치를 결정하는 단계를 더 포함할 수 있다.
상기 맵핑 위치를 결정하는 단계는, 상기 각 시드들의 맵핑 위치 중 상기 미스매치의 개수가 가장 적은 위치를 상기 리드의 맵핑 위치로 결정할 수 있다.
상기 맵핑 위치를 결정하는 단계는, 상기 각 시드들의 맵핑 위치 중, 상기 미스매치의 퀄리티 스코어의 합이 가장 작은 위치를 상기 리드의 맵핑 위치로 결정할 수 있다.
상기 맵핑 위치를 결정하는 단계는, 상기 각 시드들의 맵핑 위치 중, 상기 미스매치 개수가 설정된 값 이하이면서 미스매치의 퀄리티 스코어의 합이 가장 작은 위치를 상기 리드의 맵핑 위치로 결정할 수 있다.
상기 전역 정렬 단계는, 상기 각 시드들의 맵핑 위치에서 상기 리드의 상기 참조 서열에 대한 전역 정렬(global alignment)을 수행하도록 구성될 수 있다.
상기 전역 정렬 단계는, 상기 각 시드들의 맵핑 위치 중, 상기 미스매치 의 퀄리티 스코어의 합이 가장 작은 맵핑 위치부터 순차적으로 상기 전역 정렬을 수행하도록 구성될 수 있다.
상기 전역 정렬 단계는, 상기 각 시드들의 맵핑 위치 중, 상기 미스매치의 개수 및 갭(gap)의 개수의 합이 설정된 값 이하이면서, 상기 미스매치의 개수 및 갭(gap)의 개수의 합이 가장 적은 맵핑 위치부터 순차적으로 상기 전역 정렬을 수행할 수 있다.
상기 전역 정렬 단계는, 상기 각 시드들의 맵핑 위치 중, 상기 미스매치의 개수 및 갭(gap)의 개수의 합이 설정된 값 이하이면서, 상기 미스매치 및 상기 갭의 퀄리티 스코어의 합이 가장 작은 맵핑 위치부터 순차적으로 상기 전역 정렬을 수행할 수 있다.
본 발명의 실시예들에 따를 경우, 먼저 시퀀서로부터 생성된 리드 전체에 대한 일치 정합을 시도하고, 일치 정합되지 않는 리드에 대하여 미스매치(mismatch) 만을 고려한 2차 정합을 수행하며, 상기 2차 정합에서도 맵핑되지 않는 리드에 대해서만 선택적으로 전역 정렬, 즉 미스매치와 갭(gap)을 모두 고려한 정렬을 수행하는 단계적인 과정을 거치게 된다. 이때, 상기 2차 정합은 기본적으로 일치 정합(exact matching) 프로세스이므로 O(N2)의 복잡도를 가지는 전역 정렬에 비해 처리 속도가 현저히 빠르다. 즉, 본 발명의 실시예들에 의하면 전역 정렬의 수행 이전, 일치 정합 및 2차 정합 과정을 통해 참조 서열과 완전히 일치되는 리드 및 일부 미스매치만이 존재하는 리드들을 사전에 걸러낼 수 있게 되는 바, 단순히 리드를 곧바로 참조 서열에 전역 정렬하는 종래기술에 비해 염기 서열 정렬 속도를 효과적으로 감소시킬 수 있게 된다.
또한, 본 발명의 실시예들에 따를 경우 상기 2차 정합 시 미스매치의 퀄리티 스코어를 고려하여 리드의 맵핑 위치를 결정하도록 구성되는 바, 염기 서열 정렬 속도를 감소시키면서도 염기 서열 정렬의 정확도를 유지할 수 있는 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 염기 서열 정렬 방법(100)을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 염기 서열 정렬 방법(100)에서 mEB 계산 과정을 예시하기 위한 도면이다.
도 3 내지 5는 본 발명의 실시예들에 따른 시드 생성 과정을 예시하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따라 리드를 참조 서열에 일치 정합할 경우의 미스매치(mismatch)를 예시하여 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 2차 정합 과정을 예시하여 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 염기 서열 정렬 시스템(800)을 설명하기 위한 블록도이다.
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하의 실시예는 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
본 발명의 실시예들을 상세히 설명하기 앞서, 먼저 본 발명에서 사용되는 용어들에 대하여 설명하면 다음과 같다. 먼저, "리드(read)"란 게놈시퀀서(genome sequencer)에서 출력되는 짧은 길이의 염기서열 데이터이다. 리드의 길이는 시퀀서의 종류에 따라 일반적으로 35~500bp(base pair) 정도로 다양하게 구성되며, 일반적으로 DNA 염기의 경우 A, C, G, T의 알파벳 문자로 표현된다.
"참조 서열(reference sequence)"이란 상기 리드들로부터 전체 염기 서열을 생성하는 데 참조가 되는 염기 서열을 의미한다. 염기 서열 분석에서는 게놈 시퀀서에서 출력되는 다량의 리드들을 참조 서열을 참조하여 맵핑함으로써 전체 염기 서열을 완성하게 된다. 본 발명에서 상기 참조 서열은 염기 서열 분석 시 미리 설정된 서열(예를 들어 인간의 전체 염기 서열 등)일 수도 있으며, 또는 게놈 시퀀서에서 만들어진 염기 서열을 참조 서열로 사용할 수도 있다.
"베이스(base)"는 참조 서열 및 리드를 구성하는 최소 단위이다. 전술한 바와 같이 DNA 염기의 경우 A, C, G 및 T의 네 종류의 알파벳 문자로 구성될 수 있으며, 이들 각각을 베이스라 표현한다. 즉, DNA 염기의 경우 4개의 베이스로 표현되며, 이는 리드 또한 마찬가지이다. 다만, 참조 서열의 경우 다양한 이유(시퀀싱 오류, 샘플의 오류 등)로 인해 특정 위치의 염기가 A, C, G 또는 T 중 어떠한 베이스로 표현하여야 할 지 불분명한 경우가 발생할 수 있으며, 통상 이러한 불분명한 베이스의 경우 N 등의 별도의 문자로 표기한다.
"시드(seed)"란 리드의 맵핑을 위하여 리드와 참조 서열을 비교할 때의 단위가 되는 시퀀스이다. 이론적으로 리드를 참조 서열에 맵핑하기 위해서는 리드 전체를 참조 서열의 가장 첫 부분부터 순차적으로 비교해 나가면서 리드의 맵핑 위치를 계산하여야 한다. 그러나 이와 같은 방법의 경우 하나의 리드를 맵핑하는 데 너무 많은 시간 및 컴퓨팅 파워가 요구되므로, 실제로는 리드의 일부분으로 구성된 조각인 시드를 먼저 참조 서열에 맵핑함으로써 전체 리드의 맵핑 후보 위치를 찾아 내고 해당 후보 위치에 전체 리드를 맵핑(Global Alignment)하게 된다.
도 1은 본 발명의 일 실시예에 따른 염기 서열 정렬 방법(100)을 설명하기 위한 도면이다. 본 발명의 실시예에서, 염기 서열 정렬 방법(100)이란 게놈 시퀀서(genome)에서 출력되는 리드를 참조 서열과 비교하여 리드의 상기 참조 서열에서의 맵핑(또는 정렬) 위치를 결정하는 일련의 과정을 의미한다. 도시된 바와 같이, 본 발명의 일 실시예에 따른 염기 서열 정렬 방법(100)은 크게 리드 전체에 대한 일치 정합 단계, 일치 정합되지 않는 리드에 대한 2차 정합 단계 및 2차 정합되지 않는 나머지 리드에 대한 전역 정렬 단계를 포함하는 3단계로 구분된다.
먼저, 게놈 시퀀서(genome sequencer)로부터 리드가 입력되면(102), 리드 전체와 상기 참조 서열과의 일치 정합(exact matching)을 시도한다(104). 만약 상기 104단계의 수행 결과 리드 전체에 대한 일치 정합이 성공한 경우에는 이후의 정렬 단계를 수행하지 않고 정렬에 성공한 것으로 판단한다(106). 인간의 염기 서열을 대상으로 한 실험 결과, 게놈 시퀀서에서 출력되는 100만 개의 리드를 인간의 염기 서열에 일치 정합할 경우 총 200만회의 정렬 중(정방향 시퀀스 100만회, 역상보(reverse complement) 방향 시퀀스 100만회) 231,564회의 일치 정합이 발생되는 것으로 나타났다. 따라서 상기 104 단계의 수행 결과 약 11.6%만큼의 정렬 소요량을 감소시킬 수 있었다.
그러나, 이와 달리 상기 106 단계에서 해당 리드가 일치 정합되지 않는 것으로 판단되는 경우, 다시 말해 참조 서열에 리드와 완전히 일치하는 영역이 존재하지 않는 경우에는 다음으로 리드로부터 복수 개의 시드(seed)를 생성하고(108), 상기 시드의 참조 서열에서의 맵핑 위치에서의 상기 리드와 상기 참조 서열 간의 미스매치(mismatch)를 고려하여 상기 리드를 상기 참조 서열에 맵핑하는 2차 정합을 시도한다(110). 만약 상기 110 단계의 2차 정합 결과 2차 정합 조건을 만족하는 맵핑 위치가 적어도 하나 이상 존재하는 경우에는 이들 중 하나를 상기 리드의 맵핑 위치로 선택한다(112). 즉, 이 경우 2차 정합은 성공한 것이 된다. 그러나 만약 상기 112 단계에서 상기 2차 정합 조건을 만족하는 맵핑위치가 존재하지 않는 경우에는 마지막으로 상기 시드들의 상기 참조 서열에서의 맵핑 위치에서 상기 리드의 상기 참조 서열에 대한 전역 정렬(global alignment)을 수행한다(114). 이때 상기 전역 정렬의 결과 리드의 에러 개수가 기 설정된 최대 에러 허용치(maxError)를 초과하는 경우에는 정렬 실패로, 그렇지 않은 경우에는 정렬에 성공한 것으로 판단된다(116).
한편 도시되지는 않았으나, 상기 106 단계의 판단 결과 리드가 참조 서열에 일치 정합되지 않는 경우, 리드에 대한 2차 정합을 수행하기 앞서 실시예에 따라 해당 리드를 상기 참조 서열에 정렬했을 때 나타날 수 있는 에러 개수를 추정하는 단계가 추가될 수도 있다.
본 발명의 실시예에서, 상기 에러 개수의 추정은 상기 리드를 상기 참조 서열에 정렬했을 때 나타날 수 있는 에러의 최소값(mEB; minimum Error Bound)을 계산함으로써 이루어질 수 있다. 도 2는 상기 mEB 계산 과정을 예시하기 위한 도면이다. 먼저, 도 2의 (a)에 도시된 바와 같이 최초 mEB를 0으로 설정하고 리드의 가장 첫 베이스부터 리드의 끝 방향으로 한 베이스씩 이동하면서 일치 정합을 시도한다. 이때 (b)에 도시된 바와 같이 리드의 특정 베이스(도면에서 화살표로 표시된 부분)에서부터 더 이상 일치 정합이 불가능하다고 가정하자. 이 경우는 리드의 정합 시작 위치부터 현재 위치 사이의 구간 어딘가에서 에러가 발생한 것을 의미한다. 따라서 이 경우에는 mEB를 1 증가시키고, 다음 위치에서 새로 일치 정합을 시작한다(도면에서 (c)로 표기). 이후 특정 위치에서 재차 일치 정합이 불가능하다고 판단되는 경우에는, 일치 정합을 새로 시작한 위치부터 현재 위치 사이의 구간 어디에서 다시 에러가 발생한 것이므로, mEB를 다시 1만큼 증가시키고, 다음 위치에서 새로 일치 정합을 시작한다(도면에서 (d)로 표기). 이와 같은 과정을 거쳐 리드의 끝까지 도달한 경우, 즉 도면에서 (e)로 표기한 경우의 mEB가 해당 리드에 존재할 수 있는 에러의 개수의 최소값이 된다.
상기와 같은 과정을 거쳐 리드의 mEB가 계산되면, 다음으로 계산된 mEB가 기 설정된 최대 에러 허용치(MaxError)를 초과하는지의 여부를 판단하고, 초과하는 경우 해당 리드에 대한 정렬이 실패한 것으로 판단하여 정렬을 종료한다. 전술한 인간의 염기 서열을 대상으로 한 실험에서, 최대 에러 허용치(MaxError)를 3으로 하고 나머지 리드들의 mEB를 계산한 결과, 총 844,891회에 해당하는 리드들이 상기 최대 에러 허용치를 초과하는 것으로 나타났다. 즉, 상기 mEB 계산 단계의 수행 결과 약 42.2%만큼의 정렬 소요량을 감소시킬 수 있었다. 그러나 이와 달리 상기 판단 결과 mEB가 상기 최대 에러 허용치 이하인 경우에는 전술한 108 단계 이후의 단계들을 순차적으로 수행한다.
이하에서는 상기 108단계 내지 116 단계의 구체적인 과정을 상세히 설명한다.
리드로부터 복수 개의 시드 생성
본 단계는 본격적으로 리드의 정렬을 수행하기 위하여 리드로부터 복수 개의 작은 조각인 시드(seed)를 생성하는 단계이다. 본 단계에서는 상기 리드의 일부 또는 전체를 고려하여 복수 개의 시드들을 생성하게 된다.
도 3 내지 5는 이와 같이 리드의 전 구간을 고려한 시드 생성 방법의 예로 들어 설명하기 위한 도면이다. 다만, 본 발명에서 설명한 시드 생성 방법들은 단지 예시적인 것으로서, 본 발명은 특정 시드 생성 과정에 한정되는 것은 아니다. 예를 들어, 리드의 전체, 또는 일부 특정 구간을 복수 개의 조각으로 분할하거나, 분할된 조각들을 조합합으로써 시드들을 생성할 수 있다. 이 경우 생성된 시드들은 서로 연속적으로 연결될 수 있으나, 반드시 그러한 것은 아니며, 리드 내에서 서로 떨어진 조각들의 조합으로 시드들을 구성하는 것 또한 가능하다. 또한, 하나의 리드에서 생성되는 시드들이 반드시 동일한 길이를 가질 필요는 없으며, 하나의 리드 내에서 다양한 길이를 가지는 시드들을 생성하는 것 또한 가능하다. 요컨대, 본 발명의 실시예들에서 리드로부터 시드를 생성하는 방법은 특별히 제한되지 않으며, 리드의 일부 또는 전체로부터 시드를 추출하는 다양한 알고리즘이 제한 없이 사용될 수 있다.
먼저, 도 3은 본 발명의 일 실시예에 따른 시드 생성 과정을 예시하기 위한 도면이다. 도시된 바와 같이, 본 실시예에서는 리드 전체를 설정된 크기만큼의 조각으로 분할함으로써 시드를 생성할 수 있다. 즉, 일정 길이로 분할된 상기 조각들 각각이 본 발명에서의 시드가 될 수 있다. 도면에서는 리드를 6개의 조각으로 나눈 실시예를 도시하였으나, 조각의 개수 및 각 조각들의 길이는 별도로 한정되지 않으며, 이는 참조 서열의 종류 또는 리드의 길이, 리드의 최대 에러 허용치 등을 고려하여 적절하게 조절할 수 있다. 또한, 도면에서는 리드들을 각각 겹치는 부분(overlap)이 없이 분할하는 예만을 도시하였으나, 분할된 각 조각들에 일부 겹치는 부분이 존재하도록 리드들을 분할하는 것 또한 가능하다.
도 4는 본 발명의 다른 실시예에 따른 시드 생성 과정을 예시하기 위한 도면이다. 도시된 바와 같이, 본 실시예에서는 리드 전체를 설정된 크기만큼의 조각으로 분할한 뒤, 분할된 상기 리드의 각 조각들 중 둘 이상의 조각을 조합함으로써 상기 시드를 생성할 수 있다. 예를 들어, 도시된 바와 같이 리드를 4개의 조각(조각 1 내지 4)로 분할한 뒤, 이를 2개씩 조합할 경우 총 6개의 시드가 생성될 수 있다. 전술한 실시예에서와 마찬가지로, 분할되는 조각의 개수, 각 조각의 길이 및 조합되는 조각의 수 등은 별도로 한정되지 않으며, 이는 참조 서열의 종류 또는 리드의 길이, 리드의 최대 에러 허용치 등을 고려하여 적절하게 조절할 수 있다.
도 5는 본 발명의 또 다른 실시예에 따른 시드 생성 과정을 예시하기 위한 도면이다. 본 실시예의 경우 상기 리드의 첫 번째 베이스(base)부터 설정된 간격만큼 이동하면서 설정된 크기만큼 상기 리드의 값을 읽음으로써 상기 시드를 생성하게 된다. 도시된 실시예에서는 리드의 길이가 75bp(base pair), 리드의 최대 에러 허용 허용치가 3bp, 시드의 크기(fragment size)가 15bp, 이동 간격(shift size)가 4bp인 경우의 실시예를 나타낸 것이다. 즉, 리드의 첫 번째 베이스부터 4bp씩 오른쪽으로 이동하면서 시드를 생성하게 된다. 다만, 도시된 실시예의 경우 단지 예시적인 것으로서, 예컨대 상기 이동 간격, 시드의 크기 등은 리드의 길이, 리드의 최대 에러 허용치 등의 값을 고려하여 적절하게 정해질 수 있다. 다시 말해 본 발명의 권리범위는 특정한 시드의 크기 및 이동 간격에 한정된 것은 아님에 유의한다.
한편, 전술한 바와 같이 본 발명의 실시예에서 시드의 길이는 특별히 한정되지 않으나, 바람직하게는 상기 시드의 길이는 상기 리드 길이의 20% 내지 30%이 되도록 정해질 수 있다. 일반적으로 시드의 길이가 짧을수록 참조 서열에서 해당 시드의 맵핑수가 증가하며, 시드의 길이가 길어질수록 참조 서열에서의 해당 시드의 맵핑수는 감소하게 된다. 일반적으로 게놈 시퀀서에서 생산되는 리드의 길이를 고려할 때, 만약 시드의 길이가 리드 길이의 20% 이하로 구성될 경우에는 시드의 참조 서열에서의 맵핑수가 지나치게 증가하게 되므로, 이후 전역 정렬 과정에서의 전역 정렬 횟수가 불필요하게 증가하게 되는 문제가 발생한다. 반대로, 상기 시드의 길이가 리드 길이의 30% 이상일 경우에는 시드의 참조 서열에서의 맵핑수가 지나치게 감소하게 되는 바, 맵핑의 정확도가 떨어지게 된다. 따라서 본 발명에서는 리드의 길이를 고려하여 시드의 길이를 상기 리드 길이의 20% 내지 30%로 구성함으로써 맵핑의 퀄리티를 보장하면서 맵핑 시 발생할 수 있는 복잡도를 최소화할 수 있도록 하였다.
또한, 상기 참조 서열이 인간의 염기 서열일 경우, 상기 시드는 15bp 내지 30bp의 길이를 가지도록 생성될 수 있다. 전술한 바와 같이, 일반적으로 시드의 길이가 짧을수록 참조 서열에서 해당 시드의 맵핑수가 증가하며, 시드의 길이가 길어질수록 참조 서열에서의 해당 시드의 맵핑수는 감소하게 된다. 특히 인간의 염기 서열의 경우 시드의 길이가 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 이하로 구성할 경우에 비해 시드의 중복을 대폭 감소시킬 수 있다. 또한, 상기 시드의 길이가 30 이상일 경우에는 시드의 참조 서열에서의 맵핑수가 지나치게 감소하게 되는 바, 맵핑의 정확도가 감소하게 된다. 따라서 본 발명에서는 참조 서열이 인간의 염기 서열일 경우 시드의 길이를 15 내지 30으로 구성함으로써 맵핑의 퀄리티를 보장하면서 맵핑 시 발생할 수 있는 복잡도를 최소화할 수 있도록 하였다.
리드의 2차 정합 시도 및 맵핑 위치 결정
상기와 같이 리드로부터 시드들이 생성되면, 다음으로 생성된 상기 시드들 각각을 참조 서열(reference sequence)에 맵핑(mapping)한 뒤, 각 시드들의 맵핑 위치에서 리드의 2차 정합을 수행한다.
본 발명의 실시예에서 리드의 2차 정합이란, 리드로부터 시드를 생성하고,생성된 각 시드들의 참조 서열에서의 맵핑 위치에서 해당 리드의 나머지 구간 및 참조 서열을 서로 비교하여 리드의 미스매치를 계산하며, 계산된 미스매치 및 기 설정된 2차 정합 조건에 따라 리드의 참조 서열에서의 맵핑 위치를 결정하는 일련의 과정을 의미한다. 이때 해당 리드는 상기 104 단계의 수행 결과 참조 서열에 완전히 정합되지 않는 것으로 판단된 리드이므로, 시드의 맵핑 위치에서 리드를 참조 서열과 비교할 경우 반드시 하나 이상의 불일치(미스매치; mismatch)가 발생하게 된다. 이에 따라, 본 발명의 실시예에서는 리드로부터 생성된 각각의 시드들의 맵핑 위치에서 리드를 맵핑할 경우의 미스매치를 이용하여 상기 시드의 맵핑 위치 중 하나를 리드의 맵핑 위치로 결정하도록 구성된다. 즉, 본 발명의 실시예에서 2차 정합은 리드의 미스매치만을 고려하고 리드에 발생할 수 있는 갭(gap)은 고려하지 않는 정렬 방법(ungapped alignment)에 해당한다.
도 6은 본 발명의 일 실시예에 따라 리드를 참조 서열에 일치 정합할 경우의 미스매치를 예시하여 설명하기 위한 도면이다. 도시된 실시예에는 전체 길이가 12bp인 리드를 참조 서열에 일치 정합하는 실시예를 나타내었으며, 해당 리드에서 앞 4bp 부분을 시드로 가정한다. 도 3에 도시된 리드의 경우 첫 번째 베이스부터 5개의 베이스는 참조 서열과 일치 정합되나, 이후 6번째, 7번째 및 10번째 베이스의 경우 참조 서열과 일치 정합되지 않는 것을 알 수 있다. 즉, 도시된 예의 경우 해당 맵핑 위치에서 리드의 미스매치 개수는 3이 된다.
본 발명의 실시예들에서, 리드의 미스매치는 다양한 방식으로 고려될 수 있다. 일 실시예에서, 상기 110 단계는 각 시드들의 맵핑 위치에서 리드를 참조 서열에 일치 정합하고, 이 과정에서 발생되는 미스매치의 개수를 계산하도록 구성될 수 있다. 이 경우, 리드의 맵핑 위치를 결정하기 위한 2차 정합 조건은 미스매치의 개수가 될 수 있다. 예를 들어, 상기 시드들의 맵핑 위치 중 계산된 미스매치의 개수가 가장 적은 위치가 상기 리드의 맵핑 위치가 될 수 있다. 이와 같이 미스매치의 개수를 고려하여 2차 정합 조건을 설정할 경우, 산술적으로 가장 오류가 적은 위치에 리드를 맵핑하는 효과를 얻을 수 있다.
다른 실시예에서, 상기 110 단계는 각 시드들의 맵핑 위치 별 미스매치의 개수 퀄리티 스코어를 함께 고려하도록 구성될 수 있다. 즉, 상기 110 단계는 미스매치가 발생되는 위치에서의 퀄리티 스코어(Quality Score)의 합 계산하고, 계산된 퀄리티 스코어의 합이 가장 적은 위치를 상기 리드의 맵핑 위치로 결정할 수 있다. 즉, 이 경우의 2차 정합 조건은 미스매치의 퀄리티 스코어가 될 수 있다. 리드의 퀄리티 스코어(quality score)란 게놈 시퀀서로부터 출력되는 리드를 구성하는 각 베이스들의 에러율(error probability)을 스코어 값으로 환산하여 나타낸 것이다. 리드의 퀄리티 스코어를 계산하는 방법은 여러 가지가 있으며, 예를 들어 프레드 스코어(Phred Quality Score) 등이 사용될 수 있다. 다만, 본 발명은 특정한 퀄리티 스코어 계산 방법에 한정되는 것은 아니다. 퀄리티 스코어와 관련된 상세한 사항은 본 기술분야의 통상의 기술자에게 잘 알려져 있으므로 여기서는 그 상세한 설명을 생략하기로 한다.
일반적으로, 리드에서 퀄리티 스코어가 낮은 위치는 에러가 발생할 가능성이 그만큼 높은 위치임을 의미한다. 따라서 미스매치의 퀄리티 스코어의 합이 낮은 위치일수록 리드가 해당 위치에 맵핑될 가능성이 높아지게 되는 바, 본 실시예에 따를 경우 리드를 정확한 위치에 맵핑할 가능성이 높아지게 된다.
한편, 또 다른 실시예에서 상기 110 단계는 각 시드들의 맵핑 위치 별 미스매치의 개수 및 미스매치의 퀄리티 스코어를 함께 고려하도록 구성될 수 있다. 이 경우, 상기 110 단계는 먼저 상기 각 시드들의 맵핑 위치 중 상기 미스매치 개수가 설정된 값 이하인 위치들을 1차적으로 선택한 뒤, 선택된 위치 중 미스매치의 퀄리티 스코어의 합이 가장 작은 위치를 상기 리드의 맵핑 위치로 결정할 수 있다.
도 7은 이와 같은 본 발명의 일 실시예에 따른 2차 정합 과정을 예시하기 위한 도면이다. 예를 들어, 특정 시드가 참조 서열의 A, B, C 위치에서 각각 참조 서열에 맵핑되며, 해당 위치에서의 리드의 미스매치수(number of mismatches) 및 미스매치의 퀄리티 스코어(QS) 합이 도시된 바와 같다고 가정하자. 만약 2차 정합 조건이 "미스매치수가 5 이하인 위치 중 미스매치의 QS 합이 가장 적은 위치"로 설정될 경우, 이를 만족하는 위치는 A이므로, 해당 리드는 참조 서열의 A 위치에 맵핑되는 것으로 결정될 수 있다.
리드의 전역 정렬( Global Alignment )
한편, 상기 2차 정합에도 불구하고 2차 정합 조건을 만족하는 맵핑 위치가 존재하지 않는 경우가 발생할 수 있다. 이 경우에는 일반적인 리드의 맵핑 방법과 마찬가지로, 상기 각 시드들의 맵핑 위치에서 상기 리드의 상기 참조 서열에 대한 전역 정렬(global alignment)을 수행함으로써 리드를 참조 서열에 맵핑하게 된다. 본 발명의 실시예에서, 전역 정렬은 리드의 미스매치 뿐만 아니라 갭(gap)을 고려한 정렬 방법으로서, 예를 들어 Smith-Waterman 알고리즘 또는 Needleman-Wunsch 알고리즘 등이 사용될 수 있으나, 본 발명의 실시예들은 특정 알고리즘에 한정되는 것은 아니다.
일 실시예에서, 상기 전역 정렬 단계는 상기 각 시드들의 맵핑 위치 중 상기 미스매치의 퀄리티 스코어의 합이 가장 작은 맵핑 위치부터 순차적으로 상기 전역 정렬을 수행할 수 있다. 이는 퀄리티 스코어의 합이 적을수록 해당 위치에 맵핑될 가능성이 높아지기 때문이다.
또한, 상기 전역 정렬의 순서는 상기 미스매치와 함께 리드를 참조 서열에 정합할 때 나타나는 갭(gap)을 고려하여 정해질 수도 있다. 예를 들어, 상기 전역 정렬 단계는 상기 각 시드들의 맵핑 위치 중, 상기 미스매치의 개수 및 갭(gap)의 개수의 합이 설정된 값 이하이면서, 상기 미스매치의 개수 및 갭(gap)의 개수의 합이 가장 적은 맵핑 위치부터 순차적으로 상기 전역 정렬을 수행할 수 있다. 또는, 상기 전역 정렬 단계는 상기 각 시드들의 맵핑 위치 중, 상기 미스매치의 개수 및 갭(gap)의 개수의 합이 설정된 값 이하이면서, 상기 미스매치 및 상기 갭이 나타나는 위치의 상기 리드의 퀄리티 스코어의 합이 가장 작은 맵핑 위치부터 순차적으로 상기 전역 정렬을 수행할 수도 있다.
도 8은 본 발명의 일 실시예에 따른 염기 서열 정렬 시스템(800)을 설명하기 위한 블록도이다. 도시된 바와 같이, 본 발명의 일 실시예에 따른 염기 서열 정렬 시스템(800)은 일치 정합 모듈(802), 시드 생성 모듈(804), 2차 정합 모듈(806) 및 전역 정렬 모듈(808)을 포함한다.
일치 정합 모듈(802)은 입력된 리드(read)의 참조 서열(reference sequence)에 대한 일치 정합(exact matching)을 수행한다.
시드 생성 모듈(804)은 일치 정합 모듈(802)에 의하여 상기 리드가 상기 참조 서열에 일치 정합되지 않는 경우, 상기 리드로부터 복수 개의 시드(seed)를 생성한다. 시드 생성 모듈(804)에서의 구체적인 시드 생성 방법에 대해서는 전술하였다.
2차 정합 모듈(804)은 상기 리드가 상기 참조 서열에 일치 정합되지 않는 경우, 상기 리드와 상기 참조 서열 간의 미스매치(mismatch)를 고려하여 상기 리드를 상기 참조 서열에 맵핑한다. 2차 정합 모듈(806)은 생성된 상기 각 시드들의 상기 참조 서열에서의 맵핑 위치를 계산하고, 상기 각 시드들의 맵핑 위치에서 상기 리드를 참조 서열에 일치 정합할 경우 발생하는 미스매치(mismatch)를 고려하여 상기 리드의 상기 참조 서열에서의 맵핑 위치를 결정할 수 있다.
일 실시예에서, 2차 정합 모듈(806)은 상기 각 시드들의 맵핑 위치 중 상기 미스매치의 개수가 가장 적은 위치를 상기 리드의 맵핑 위치로 결정할 수 있다. 또한, 2차 정합 모듈(806)은 상기 각 시드들의 맵핑 위치 중, 상기 미스매치의 퀄리티 스코어의 합이 가장 작은 위치를 상기 리드의 맵핑 위치로 결정하거나, 상기 각 시드들의 맵핑 위치 중, 상기 미스매치 개수가 설정된 값 이하이면서 미스매치의 퀄리티 스코어의 합이 가장 작은 위치를 상기 리드의 맵핑 위치로 결정할 수 있다.
전역 정렬 모듈(808)은 상기 리드가 상기 2차 정합 모듈에 의하여도 맵핑되지 않는 경우, 상기 리드의 상기 참조 서열에 대한 전역 정렬(global alignment)을 수행한다. 전술한 바와 같이, 전역 정렬 모듈(808)은, 상기 각 시드들의 맵핑 위치에서 상기 리드의 상기 참조 서열에 대한 전역 정렬을 수행할 수 있으며, 이 경우 상기 각 시드들의 맵핑 위치 중, 상기 미스매치의 퀄리티 스코어의 합이 가장 작은 맵핑 위치부터 순차적으로 상기 전역 정렬을 수행할 수 있다. 물론, 전술한 바와 같이 이 경우 갭(gap)의 개수 및 미스매치의 개수의 합이 설정된 값 이하인 맵핑 위치만을 고려하여 전역 정렬을 수행할 수도 있다.
아래의 표 2는 본 발명의 실시예들에 따른 염기 서열 정렬 방법을 종래기술, 즉 전역 정렬만을 수행한 경우와 비교하여 본 발명의 효과를 설명하기 위한 것이다. 비교를 위하여 각각 75bp의 길이를 가지는 100만개의 리드를 참조 서열에 정렬할 경우의 맵핑 시간, 맵핑률 및 에러율을 각각 계산하였다.
지표 종래기술 본 발명
맵핑 시간 00:58:52 00:07:57
맵핑률 91.11% 93.52%
에러율 3.89% 3.90&
상기 표에서 알 수 있는 바와 같이, 본 발명을 적용할 경우에는 종래기술에 비해 맵핑 시간이 58분 52초에서 7분 57로 현저히 증가한 것을 알 수 있다. 이는 본 발명의 실시예에 따를 경우 전역 정렬의 수행 전, 일치 정합 및 2차 정합 단계에서 상당수의 리드들의 맵핑 위치를 결정할 수 있기 때문이다. 즉, 본 발명에 따를 경우 많은 시간이 소요되는 전역 정렬의 수행 회수를 감소시킴으로써 염기 서열 정렬의 속도를 증가할 수 있다.
또한, 맵핑률 및 에러율 측면에서도 본 발명이 종래기술과 비교하여 약간 좋아졌거나, 비슷한 수치를 가지는 것으로 나타났다. 즉, 상기 비교 실험 결과에 에 따라 본 발명의 실시 예들에 따르면 맵핑의 퀄리티를 유지하면서 맵핑 속도를 향상시킬 수 있는 효과가 있음을 확인할 수 있다.
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야에서 통상의 지식을 가진 자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플로피 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다.
그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
800: 염기 서열 정렬 시스템
802: 일치 정합 모듈
804: 시드 생성 모듈
806: 2차 정합 모듈
808: 전역 정렬 모듈

Claims (26)

  1. 입력된 리드(read)의 참조 서열(reference sequence)에 대한 일치 정합(exact matching)을 수행하는 일치 정합 모듈;
    상기 리드가 상기 참조 서열에 일치 정합되지 않는 경우, 상기 리드로부터 복수 개의 시드(seed)를 생성하는 시드 생성 모듈;
    상기 리드가 상기 참조 서열에 일치 정합되지 않는 경우, 생성된 상기 시드들의 상기 참조 서열에서의 맵핑 위치를 계산하고,
    상기 각 시드들의 맵핑 위치에서 상기 리드를 참조 서열에 일치 정합할 경우 발생하는 미스매치(mismatch)의 개수 및 상기 미스매치의 퀄리티 스코어(quality score)의 합 중 하나 이상을 이용하여 상기 리드를 상기 참조 서열에 맵핑하는 2차 정합 모듈; 및
    상기 리드가 상기 2차 정합 모듈에 의하여 맵핑되지 않는 경우, 상기 리드의 상기 참조 서열에 대한 전역 정렬(global alignment)을 수행하는 전역 정렬 모듈을 포함하는 염기 서열 정렬 시스템.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 시드 생성 모듈은, 상기 리드의 전 구간으로부터 상기 복수 개의 시드를 생성하는, 염기 서열 정렬 시스템.
  4. 청구항 1에 있어서,
    상기 시드 생성 모듈은, 상기 리드의 첫 번째 베이스(base)부터 설정된 간격만큼 이동하면서 설정된 크기만큼 상기 리드의 값을 읽음으로써 상기 복수 개의 시드를 생성하는, 염기 서열 정렬 시스템.
  5. 청구항 1에 있어서,
    상기 시드 생성 모듈은, 생성된 시드의 길이가 15bp 내지 30bp가 되도록 상기 복수 개의 시드를 생성하는, 염기 서열 정렬 시스템.
  6. 삭제
  7. 청구항 1에 있어서,
    상기 2차 정합 모듈은, 상기 각 시드들의 맵핑 위치 중 상기 미스매치의 개수가 가장 적은 위치를 상기 리드의 맵핑 위치로 결정하는, 염기 서열 정렬 시스템.
  8. 청구항 1에 있어서,
    상기 2차 정합 모듈은, 상기 각 시드들의 맵핑 위치 중, 상기 미스매치의 퀄리티 스코어의 합이 가장 작은 위치를 상기 리드의 맵핑 위치로 결정하는, 염기 서열 정렬 시스템.
  9. 청구항 1에 있어서,
    상기 2차 정합 모듈은, 상기 각 시드들의 맵핑 위치 중, 상기 미스매치 개수가 설정된 값 이하이면서 미스매치의 퀄리티 스코어의 합이 가장 작은 위치를 상기 리드의 맵핑 위치로 결정하는, 염기 서열 정렬 시스템.
  10. 청구항 1에 있어서,
    상기 전역 정렬 모듈은, 상기 각 시드들의 맵핑 위치에서 상기 리드의 상기 참조 서열에 대한 전역 정렬(global alignment)을 수행하는, 염기 서열 정렬 시스템.
  11. 청구항 10에 있어서,
    상기 전역 정렬 모듈은, 상기 각 시드들의 맵핑 위치 중, 상기 미스매치의 퀄리티 스코어의 합이 가장 작은 맵핑 위치부터 순차적으로 상기 전역 정렬을 수행하는, 염기 서열 정렬 시스템.
  12. 청구항 10에 있어서,
    상기 전역 정렬 모듈은, 상기 각 시드들의 맵핑 위치 중, 상기 미스매치의 개수 및 갭(gap)의 개수의 합이 설정된 값 이하이면서, 상기 미스매치의 개수 및 갭(gap)의 개수의 합이 가장 적은 맵핑 위치부터 순차적으로 상기 전역 정렬을 수행하는, 염기 서열 정렬 시스템.
  13. 청구항 10에 있어서,
    상기 전역 정렬 모듈은, 상기 각 시드들의 맵핑 위치 중, 상기 미스매치의 개수 및 갭(gap)의 개수의 합이 설정된 값 이하이면서, 상기 미스매치 및 상기 갭의 퀄리티 스코어의 합이 가장 작은 맵핑 위치부터 순차적으로 상기 전역 정렬을 수행하는, 염기 서열 정렬 시스템.
  14. 일치 정합 모듈에서, 입력된 리드(read)의 참조 서열(reference sequence)에 대한 일치 정합(exact matching)을 수행하는 일치 정합 단계;
    상기 리드가 상기 참조 서열에 일치 정합되지 않는 경우, 시드 생성 모듈에서 상기 리드로부터 복수 개의 시드(seed)를 생성하는 시드 생성 단계;
    상기 리드가 상기 참조 서열에 일치 정합되지 않는 경우, 2차 정합 모듈에서, 생성된 상기 시드들의 상기 참조 서열에서의 맵핑 위치를 계산하는 단계;
    상기 2차 정합 모듈에서, 상기 맵핑 위치에서 상기 리드를 참조 서열에 일치 정합할 경우 발생하는 미스매치(mismatch)의 개수 및 상기 미스매치의 퀄리티 스코어(quality score)의 합 중 하나 이상을 이용하여 상기 리드를 상기 참조 서열에 맵핑하는 맵핑 위치를 결정하는 단계; 및
    상기 리드가 상기 맵핑 위치를 결정하는 단계에 의하여 맵핑되지 않는 경우, 전역 정렬 모듈에서 상기 리드의 상기 참조 서열에 대한 전역 정렬(global alignment)을 수행하는 전역 정렬 단계를 포함하는 염기 서열 정렬 방법.
  15. 삭제
  16. 청구항 14에 있어서,
    상기 시드 생성 단계는, 상기 리드의 전 구간으로부터 상기 복수 개의 시드를 생성하는, 염기 서열 정렬 방법.
  17. 청구항 14에 있어서,
    상기 시드 생성 단계는, 상기 리드의 첫 번째 베이스(base)부터 설정된 간격만큼 이동하면서 설정된 크기만큼 상기 리드의 값을 읽음으로써 상기 복수 개의 시드를 생성하는, 염기 서열 정렬 방법.
  18. 청구항 14에 있어서,
    상기 시드 생성 단계는, 생성된 시드의 길이가 15bp 내지 30bp가 되도록 상기 복수 개의 시드를 생성하는, 염기 서열 정렬 방법.
  19. 삭제
  20. 청구항 14에 있어서,
    상기 맵핑 위치를 결정하는 단계는, 상기 각 시드들의 맵핑 위치 중 상기 미스매치의 개수가 가장 적은 위치를 상기 리드의 맵핑 위치로 결정하는, 염기 서열 정렬 방법.
  21. 청구항 14에 있어서,
    상기 맵핑 위치를 결정하는 단계는, 상기 각 시드들의맵핑 위치 중, 상기 미스매치의 퀄리티 스코어의 합이 가장 작은 위치를 상기 리드의 맵핑 위치로 결정하는, 염기 서열 정렬 방법.
  22. 청구항 14에 있어서,
    상기 맵핑 위치를 결정하는 단계는, 상기 각 시드들의맵핑 위치 중, 상기 미스매치 개수가 설정된 값 이하이면서 미스매치의 퀄리티 스코어의 합이 가장 작은 위치를 상기 리드의 맵핑 위치로 결정하는, 염기 서열 정렬 방법.
  23. 청구항 14에 있어서,
    상기 전역 정렬 단계는,상기 각 시드들의맵핑 위치에서 상기 리드의 상기 참조 서열에 대한 전역 정렬(global alignment)을 수행하도록 구성되는, 염기 서열 정렬 방법.
  24. 청구항 23에 있어서,
    상기 전역 정렬 단계는, 상기 각 시드들의맵핑 위치 중, 상기 미스매치의 퀄리티 스코어의 합이 가장 작은 맵핑 위치부터 순차적으로 상기 전역 정렬을 수행하도록 구성되는, 염기 서열 정렬 방법.
  25. 청구항 23에 있어서,
    상기 전역 정렬 단계는, 상기 각 시드들의 맵핑 위치 중, 상기 미스매치의 개수 및 갭(gap)의 개수의 합이 설정된 값 이하이면서, 상기 미스매치의 개수 및 갭(gap)의 개수의 합이 가장 적은 맵핑 위치부터 순차적으로 상기 전역 정렬을 수행하는, 염기 서열 정렬 방법.
  26. 청구항 23에 있어서,
    상기 전역 정렬 단계는, 상기 각 시드들의 맵핑 위치 중, 상기 미스매치의 개수 및 갭(gap)의 개수의 합이 설정된 값 이하이면서, 상기 미스매치 및 상기 갭의 퀄리티 스코어의 합이 가장 작은 맵핑 위치부터 순차적으로 상기 전역 정렬을 수행하는, 염기 서열 정렬 방법.
KR1020130105529A 2013-09-03 2013-09-03 염기 서열 정렬 시스템 및 방법 KR101584857B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020130105529A KR101584857B1 (ko) 2013-09-03 2013-09-03 염기 서열 정렬 시스템 및 방법
US14/273,205 US20150066384A1 (en) 2013-09-03 2014-05-08 System and method for aligning genome sequence
CN201410196155.7A CN104424398A (zh) 2013-09-03 2014-05-09 碱基序列对准系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130105529A KR101584857B1 (ko) 2013-09-03 2013-09-03 염기 서열 정렬 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20150026542A KR20150026542A (ko) 2015-03-11
KR101584857B1 true KR101584857B1 (ko) 2016-01-12

Family

ID=52584376

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130105529A KR101584857B1 (ko) 2013-09-03 2013-09-03 염기 서열 정렬 시스템 및 방법

Country Status (3)

Country Link
US (1) US20150066384A1 (ko)
KR (1) KR101584857B1 (ko)
CN (1) CN104424398A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12002548B2 (en) 2020-03-11 2024-06-04 Electronics And Telecommunications Research Institute Method for genome sequence alignment and apparatus thereof

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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101539967B (zh) * 2008-12-12 2010-12-01 深圳华大基因研究院 一种单核苷酸多态性检测方法
CN101751517B (zh) * 2008-12-12 2014-02-26 深圳华大基因科技服务有限公司 一种基因组短序列映射的快速处理方法及系统
US8340917B2 (en) * 2009-12-09 2012-12-25 Oracle International Corporation Sequence matching allowing for errors
CN101887493B (zh) * 2010-08-05 2013-02-20 湖州瑞万思信息技术有限公司 一种基于布尔逻辑的基因比对处理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12002548B2 (en) 2020-03-11 2024-06-04 Electronics And Telecommunications Research Institute Method for genome sequence alignment and apparatus thereof

Also Published As

Publication number Publication date
US20150066384A1 (en) 2015-03-05
KR20150026542A (ko) 2015-03-11
CN104424398A (zh) 2015-03-18

Similar Documents

Publication Publication Date Title
Nadalin et al. GapFiller: a de novo assembly approach to fill the gap within paired reads
US10204207B2 (en) Systems and methods for transcriptome analysis
KR101481457B1 (ko) 리드 전체를 고려한 염기 서열 정렬 시스템 및 방법
KR101508816B1 (ko) 염기 서열 정렬 시스템 및 방법
Voshall et al. Next-generation transcriptome assembly: strategies and performance analysis
KR101508817B1 (ko) 염기 서열 정렬 시스템 및 방법
KR101372947B1 (ko) 염기 서열 분석을 위한 참조 서열 처리 시스템 및 방법
KR101584857B1 (ko) 염기 서열 정렬 시스템 및 방법
KR101480897B1 (ko) 염기 서열 정렬 시스템 및 방법
KR101394339B1 (ko) 시드의 길이를 고려한 염기 서열 처리 시스템 및 방법
KR101525303B1 (ko) 염기 서열 정렬 시스템 및 방법
KR101522087B1 (ko) 미스매치를 고려한 염기 서열 정렬 시스템 및 방법
KR101538852B1 (ko) 정확도를 고려한 염기 서열 정렬 장치 및 방법
KR101482011B1 (ko) 염기 서열 정렬 시스템 및 방법
KR101576794B1 (ko) 리드 길이를 고려한 염기 서열 정렬 시스템 및 방법
KR20150137373A (ko) 유전체 분석 장치 및 방법
KR101600660B1 (ko) 리드의 퀄리티를 고려한 염기 서열 처리 시스템 및 방법
KR101506371B1 (ko) 중복을 고려한 염기 서열 재조합 시스템 및 방법
Liu et al. Bi-level error correction for PacBio long reads
Gomaa et al. H-RACER: Hybrid RACER to Correct Substitution, Insertion, and Deletion Errors
Višňovská et al. Alignments on Sequences with Internal Structure

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
FPAY Annual fee payment

Payment date: 20190102

Year of fee payment: 4