KR101906970B1 - 분산 처리를 이용한 핵산 서열의 분석 방법 및 장치, 핵산 서열 분석을 위한 분산 처리 시스템 - Google Patents

분산 처리를 이용한 핵산 서열의 분석 방법 및 장치, 핵산 서열 분석을 위한 분산 처리 시스템 Download PDF

Info

Publication number
KR101906970B1
KR101906970B1 KR1020110059648A KR20110059648A KR101906970B1 KR 101906970 B1 KR101906970 B1 KR 101906970B1 KR 1020110059648 A KR1020110059648 A KR 1020110059648A KR 20110059648 A KR20110059648 A KR 20110059648A KR 101906970 B1 KR101906970 B1 KR 101906970B1
Authority
KR
South Korea
Prior art keywords
nodes
node
sequences
nucleic acid
input sequences
Prior art date
Application number
KR1020110059648A
Other languages
English (en)
Other versions
KR20120140037A (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 KR1020110059648A priority Critical patent/KR101906970B1/ko
Publication of KR20120140037A publication Critical patent/KR20120140037A/ko
Application granted granted Critical
Publication of KR101906970B1 publication Critical patent/KR101906970B1/ko

Links

Images

Landscapes

  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Theoretical Computer Science (AREA)
  • Biotechnology (AREA)
  • Evolutionary Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Chemical & Material Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
  • Physiology (AREA)
  • Bioethics (AREA)
  • Genetics & Genomics (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Analytical Chemistry (AREA)
  • Databases & Information Systems (AREA)
  • Animal Behavior & Ethology (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Epidemiology (AREA)
  • Evolutionary Computation (AREA)
  • Public Health (AREA)
  • Software Systems (AREA)

Abstract

핵산 서열을 분석하는 방법 및 장치는 샘플로부터 생성된 핵산에 대한 입력 서열들을 복수의 노드들 각각에 분산시켜 전송하여 목표 서열들에 입력 서열들을 정렬하는 작업을 분산 처리하고, 노드들 각각에서 수신된 분산 처리 결과들을 병합하여 분석한다.

Description

분산 처리를 이용한 핵산 서열의 분석 방법 및 장치, 핵산 서열 분석을 위한 분산 처리 시스템{Method and apparatus for analyzing nucleic acid sequence using distributed processing, Distributed processing system for analyzing nucleic acid sequence}
분산 처리를 이용한 핵산 서열의 분석 방법 및 장치에 관한 발명이다. 또한, 핵산 서열 분석을 위한 분산 처리 시스템에 관한 발명이다.
생명공학 분야의 기술이 발달함에 따라 개체의 유전정보를 구성하는 DNA(deoxyribonucleic acid), RNA(ribonucleic acid)와 같은 핵산(nucleic acid)의 염기서열(base sequence)이 밝혀진 이후, 최근에 핵산의 염기서열은 개체의 형질 변환, 질병 추적 등 다양한 분야에 이용된다.
보다 상세하게 설명하면, 핵산 서열의 분석, 예를 들어 DNA 시퀀싱(DNA sequencing)은 당뇨병, 암과 같은 질병을 발현시키는 유전자를 찾거나, 유전적 다양성과 개체의 발현 특성 간의 상관관계 등을 파악하기 위하여 폭넓게 활용된다. 특히, 개인으로부터 수집된 유전자 정보는 서로 다른 증상이나 질병의 진행과 관련된 개인의 유전적인 특징을 규명하는데 있어서 중요하다. 따라서, 개인의 핵산 서열의 정보는 현재와 미래의 질병 관련 정보를 파악하여 질병을 예방하거나 질병의 초기 단계에서 최적의 치료 방법을 선택할 수 있도록 하는 핵심적인 데이터이다. 그러므로, DNA 시퀀싱 기술과 같은 핵산 서열 분석 기술이 개인의 맞춤 의학적 도구로 이용될 수 있도록, 개인의 핵산 서열 정보를 정확하게 분석할 수 있는 기술이 요구된다.
본 발명의 적어도 하나의 실시예가 이루고자 하는 기술적 과제는 여러 노드들이 존재하는 환경에서 서열 정렬 작업의 분산 처리를 이용하여 핵산 서열을 분석하는 방법 및 장치를 제공하는데 있다. 또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 있다. 나아가서, 상기 핵산 서열 분석을 위한 분산 처리 시스템을 제공하는데 있다. 본 실시예가 해결하려는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
일 측면에 따르면, 분산 처리를 이용한 핵산 서열의 분석 방법은 샘플로부터 생성된 핵산에 대한 복수의 입력 서열들을 수신하는 단계; 상기 수신된 입력 서열들을 핵산 정보가 알려진 목표 서열들에 정렬하는 작업을 분산 처리할 복수의 노드들 각각의 성능 정보에 기초하여, 상기 입력 서열들 각각에 대해 분산 처리될 노드를 결정하는 단계; 상기 결정된 노드에 상기 입력 서열들을 분산시켜 전송하는 단계; 및 상기 노드들 각각에서 수신된, 상기 목표 서열들에 상기 입력 서열들이 정렬된 상기 노드들의 분산 처리 결과들을 병합하여 분석하는 단계를 포함한다.
다른 일 측면에 따르면, 핵산 서열의 분석 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
또 다른 일 측면에 따르면, 분산 처리를 이용한 핵산 서열의 분석 장치는 샘플로부터 생성된 핵산에 대한 복수의 입력 서열들을 수신하는 서열 수신부; 상기 수신된 입력 서열들을 핵산 정보가 알려진 목표 서열들에 정렬하는 작업을 분산 처리할 복수의 노드들 각각의 성능 정보에 기초하여, 상기 입력 서열들 각각에 대해 분산 처리될 노드를 결정하는 노드 결정부; 상기 결정된 노드에 상기 입력 서열들을 분산시켜 전송하는 분산 처리 제어부; 및 상기 노드들 각각에서 수신된, 상기 목표 서열들에 상기 입력 서열들이 정렬된 상기 노드들의 분산 처리 결과들을 병합하여 분석하는 서열 분석부를 포함한다.
또 다른 일 측면에 따르면, 핵산 서열 분석을 위한 분산 처리 시스템은 샘플로부터 핵산 정보를 획득하고 상기 획득된 핵산 정보에 대한 복수의 입력 서열들을 생성하는 시퀀싱 장치; 핵산 정보가 이미 알려진 목표 서열들에 상기 입력 서열들을 정렬하는 작업을 분산 처리하는 복수의 노드들; 및 상기 입력 서열들을 수신하고, 상기 노드들 각각의 성능 정보에 기초하여 상기 입력 서열들 각각에 대해 분산 처리될 노드를 결정하고, 상기 결정된 노드에 상기 입력 서열들을 분산시켜 전송하고, 상기 노드들 각각에서 수신된 분산 처리 결과들을 병합하여 분석하는 핵산 서열 분석 장치를 포함한다.
상기된 바에 따르면, 유전자 샘플의 핵산 서열을 게놈의 핵산 서열에 정렬하는 작업을 분산 처리 환경에 적용함으로써 핵산 서열의 정렬 작업을 신속하고 효율적으로 수행할 수 있다. 또한, 분산 처리 환경에 존재하는 복수의 노드들의 성능이 동일한 경우와 동일하지 않은 경우를 모두 고려하여 성능에 맞게 데이터를 분산시킴으로써, 노드들간의 성능 차이로 인한 병목 현상 없이 최적화된 정렬 작업의 분산 처리를 수행할 수 있다.
도 1a는 본 발명의 일 실시예에 따른 핵산 서열 분석을 위한 분산 처리 시스템의 구성도이다.
도 1b는 본 발명의 일 실시예에 따른 핵산 서열 분석 장치의 구성도이다.
도 2a 및 도 2b는 본 발명의 일 실시예에 따른 분산 처리 시스템에서 복수의 노드들의 성능이 동일한 경우와 다른 경우를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따라 노드 결정부에서 입력 서열들 각각에 대해 분산 처리될 노드를 결정하는 알고리즘에 관한 표를 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 노드 결정부에서 입력 서열들 각각에 대해 분산 처리될 노드를 결정하는 알고리즘의 적용례이다.
도 5는 본 발명의 일 실시예에 따라 복수의 노드들에서 입력 서열들을 목표 서열들에 정렬하는 작업을 도시한 도면이다.
도 6a 및 도 6b는 종래의 Seed & extend 방법을 설명하는 도면들이다.
도 7은 본 발명의 일 실시예에 따른 실생활에 적용된 경우의 분산 처리 시스템을 도시한 도면이다.
도 8은 본 발명의 일 실시예예 따른 핵산 서열 분석 방법의 흐름도이다.
도 9는 도 8에 도시된 핵산 서열 분석 방법의 상세 흐름도이다.
이하에서는 도면을 참조하여 본 발명의 실시예들을 상세히 설명하도록 하겠다.
도 1a는 본 발명의 일 실시예예 따른 핵산 서열 분석을 위한 분산 처리 시스템(1)의 구성도이다. 도 1a을 참고하면, 분산 처리 시스템(1)은 시퀀싱 장치(10), 핵산 서열 분석 장치(20), 복수의 노드들(30, 40, 50)로 구성된다. 여기서, 노드들(30, 40, 50)은 일종의 컴퓨팅 장치(computing device)로써, 그 개수는 임의로 설정된 것이며, 이에 한정되지 않는다.
도 1a에서는 본 실시예의 특징이 흐려지는 것을 방지하기 위하여 본 실시예에 관련된 하드웨어 구성요소(hardware component)들만을 기술하기로 한다. 다만, 도 1a에 도시된 하드웨어 구성요소들 외에 다른 범용적인 하드웨어 구성요소들이 포함될 수 있음을 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
시퀀싱 장치(10)는 개체로부터 채취된 유전자 샘플, 예를 들어 혈액, 타액, 기타 신체조직 등으로부터 핵산 정보를 획득한다. 그리고 나서, 시퀀싱 장치(10)는 획득된 핵산 정보에 대한 복수의 입력 서열들(read sequences)을 생성한다. 여기서, 입력 서열이란 핵산 서열 분석 장치(20)를 이용하여 분석하고자 하는 유전자 샘플의 염기서열의 일부 조각을 의미한다. 시퀀싱 장치(10)에서 생성된 입력 서열들은 임의의 길이의 염기쌍(basepair)을 갖는다. 또한, 시퀀싱 장치(10)는 수천 또는 수백만 개의 입력 서열들을 생성한다.
이와 같은 시퀀싱 장치(10)는 당해 기술 분야에서 알려진 일반적인 유전자 시퀀싱 장치(gene sequencing device)로써, 유전자 샘플로부터 DNA 염기서열과 같은 핵산 정보를 획득할 수 있는 장치를 의미한다.
핵산(nucleic acid)은 개체의 유전 정보를 담고 있는 물질로써, DNA와 RNA로 대별된다. 이하에서는 설명의 편의를 위하여 핵산이 DNA인 경우를 가정하여 설명하겠으나, 당해 기술 분야에서 통상의 지식을 가진 자라면 이에 한정되지 않음을 이해할 수 있다.
개체의 DNA(DeoxyriboNucleic Acid)는 개체의 유전 정보를 포함하는 유전 물질, 즉 유전자에 해당된다. 이와 같은 DNA는 4종의 염기들(A, G, T, C)로 구성된 일종의 염기서열로 표시될 수 있다. DNA 서열은 개체를 구성하는 세포, 조직 등에 대한 정보를 포함하고, DNA 서열을 구성하는 염기들은 개체의 단백쿼리 구성 성분인 20종의 아미노산의 연결순서 또는 배열순서에 대한 정보를 나타낸다. 유전자인 DNA 서열이 특정 유전 형질을 나타나게 하는 것은 DNA 서열에 있는 염기들의 정보에 따라 결정된다. 그러므로, 개인의 완전한 DNA 염기서열(DNA sequence) 정보는 생명 현상을 이해하고 질병과 관련된 정보를 얻을 수 있는데 도움을 준다.
예를 들어, 개인의 DNA 염기서열 정보는 과거부터 미래까지의 질병과 관련된 정보를 담고 있다. 따라서, 질병이 있는 개인의 DNA 염기서열 정보와 정상인의 DNA 염기서열 정보를 정확하게 비교하여 파악할 수 있다면, 질병을 예방하거나 질병의 초기 단계에서 최적의 치료방법을 선택할 수 있다.
최근에는 인간에 대한 게놈 프로젝트(Genome project)를 통해 인간의 전체 유전자 정보가 파악되었다. 이와 같은 게놈 프로젝트 등을 통한 DNA 서열에 대한 연구는 앞서 설명한 바와 같이 개인의 질병의 진단 및 예방이나, 유전 연구 등과 같은 많은 분야에서 많이 수행되고 있다.
입력 서열을 목표 서열에 정렬시키는 종래의 방법들 중에는 Seed & extend 방법이 있다. 여기서, 목표 서열이란, 유전체에 대한 게놈 프로젝트(genome project) 등을 통해 염기서열과 같은 핵산 정보가 이미 공지된 서열을 의미한다. 이와 같은 목표 서열에 관한 정보는 NCBI(National Center for Biotechnology Information) 등과 같은 공인된 기관으로부터 얻을 수 있다.
Seed & extend 방법은 유전자 샘플로부터 생성된 입력 서열이 개체의 핵산 정보가 이미 알려진 목표 서열의 어느 위치에 매핑되는지를 결정하는 방법이다. 구체적으로, Seed & extend 방법은 입력 서열을 목표 서열과 비교하여 입력 서열을 목표 서열에 정렬하되, 처음부터 입력 서열 전체와 목표 서열을 비교하는 것이 아니라, 입력 서열을 구성하는 일부의 부분 서열들(partial sequence 또는 seed)을 추출하고 추출된 부분 서열들을 중심으로 목표 서열과 비교한다.
도 6a 및 도 6b는 종래의 Seed & extend 방법을 설명하는 도면들이다.
도 6a를 참조하면, 입력 서열(Read)의 일부인 부분 서열(Seed)이 목표 서열(Target)의 어느 위치에 있는지를 먼저 결정한다. 그리고, 결정된 위치에 부분 서열(Seed)을 배치시킨 후, 부분 서열(Seed)을 중심으로 양쪽의 서열들을 목표 서열(Target)과 비교함으로써, 입력 서열(Read)을 정렬한다.
도 6b 를 참조하면, 입력 서열(Read)을 구성하는 부분 서열들(Seed)의 위치는 해시 테이블(hash table)에 미리 저장되어 있다. 따라서, 입력 서열(Read)을 구성하는 모든 부분 서열들(Seed)을 해시 테이블에서 검색하여 해당 부분 서열(Seed)이 목표 서열(Target)의 어느 위치에 매핑되는지를 알 수 있다.
다음으로, 부분 서열(Seed)은 목표 서열(Target)의 특정 위치에 정렬되고, 부분 서열(Seed)을 기준으로 나머지 입력 서열(Read) 부분들과 목표 서열(Target)을 비교한다. 이와 같이, 부분 서열(Seed)을 중심으로 양쪽의 나머지 입력 서열(Read)의 부분들을 목표 서열(Target)과 비교하는 과정을 확장(extend)이라고 한다. 따라서, 이와 같은 방법을 Seed & extend 방법이라 일컫는다.
이 밖에 Seed & extend 방법에 관한 보다 상세한 내용은 당해 기술 분야에서 통상의 지식을 가진 자에게 자명하므로, 생략하도록 하겠다.
나아가서, 종래의 방법들 중에는 Seed & extend 방법에서 개선된 부분 결합 서열(partial combination sequence)을 이용한 방법도 있다.
부분 결합 서열이란, 인접한 2개 이상의 부분 서열들(Seed)이 결합된 서열을 의미한다. 부분 결합 서열은, 부분 서열들(Seed) 중에서 서로 인접한 부분 서열들(Seed)이 적어도 2개 이상 결합된 것이다. 여기서, 인접한 부분 서열들(Seed)은 2개 이상의 부분 서열들(Seed)이 서로 겹치거나 빠짐이 없이 연결되거나, 또는, 2개 이상의 부분 서열들(Seed)이 소정의 개수만큼 서로 겹치면서 연결되거나, 또는 2개 이상의 부분 서열들(Seed)이 소정의 개수만큼 결손된 채 연결된 것을 포함하는 개념이다. 이와 같은, Seed & extend 방법에서 개선된 부분 결합 서열을 이용한 방법에 관한 보다 상세한 내용은 당해 기술 분야에서 통상의 지식을 가진 자에게 공지되었는바, 생략하도록 하겠다.
앞서 설명한, Seed & extend 방법, 부분 결합 서열을 이용한 방법 등의 경우, 입력 서열들 각각은 특정 염색체(chromosome)의 목표 서열마다 독립적으로 정렬 작업을 수행한다. 그러므로, 입력 서열들 사이의 정렬 작업은 상호 영향이 없는 독립적인 작업들이다. 바꾸어 말하면, 입력 서열들 각각의 정렬 작업은 여러 개의 노드들을 활용하여 분산 처리를 할 수 있음을 의미한다.
게놈 프로젝트를 통해 파악된 인간의 전체 유전자 정보나, 다른 개체의 유전자 정보에 관한 데이터는 매우 방대한 크기를 갖는다는 것이 알려져 있다. 특히, 인간의 전체 염기서열의 개수는 약 30억 개이므로, 이를 저장하거나 분석하기 위해서는 엄청난 크기의 저장 공간과 처리 성능이 요구된다. 즉, 단일 노드의 컴퓨팅 장치만을 이용하여 이를 모두 분석하는 것은 비효율적이며, 불가능할 수 있다는 것을 의미한다.
하지만, 앞서 설명한 바와 같이, 본 실시예의 서열 정렬 작업은 입력 서열들마다 독립적이므로, 본 실시예의 분산 처리 시스템(1)과 같은 환경에서 다수의 노드들로 분산 처리를 하여 분석한다면, 단일 노드로 분석할 때보다 분석 시간을 단축할 수 있으며 훨씬 효율적일 수 있다.
이하에서는, 본 실시예에 따른 분산 처리 시스템(1)에서 다수의 노드들로 분산 처리를 하여 핵산 서열을 분석하는 과정에 대해 보다 상세하게 설명하도록 하겠다.
도 1b는 본 발명의 일 실시예에 따른 핵산 서열 분석 장치(20)의 구성도이다. 도 1b를 참고하면, 핵산 서열 분석 장치(20)는 서열 수신부(210), 노드 비교부(220), 노드 결정부(230), 분산 처리 제어부(240) 및 서열 분석부(250)의 구성 요소들을 포함한다. 서열 수신부(210)를 제외한 다른 구성 요소들은 프로세서에 해당될 수 있다. 이 프로세서는 다수의 논리 게이트들의 어레이로 구현될 수 있고, 범용적인 마이크로프로세서와 이 마이크로프로세서에서 실행될 수 있는 프로그램이 저장된 메모리의 조합으로 구현될 수도 있다. 또한, 다른 형태의 하드웨어로 구현될 수도 있음을 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
한편, 목표 서열을 독출(read-out)하기 위한 데이터 베이스(DB)(미도시)는 핵산 서열 분석 장치(20) 내에 구비되어 있거나, 또는 외부에 구비된 저장 장치, 서버 등으로 구현될 수 있다. 즉, 도 1b에서는 본 실시예의 특징이 흐려지는 것을 방지하기 위하여 본 실시예에 관련된 하드웨어 구성요소(hardware component)들만을 기술하기로 한다. 다만, 도 1b에 도시된 하드웨어 구성요소들 외에 다른 범용적인 하드웨어 구성요소들이 포함될 수 있음을 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
서열 수신부(210)는 시퀀싱 장치(10)로부터 생성된 복수의 입력 서열들을 수신한다. 이와 같은 서열 수신부(210)는 네트워크 인터페이스로 구현될 수 있다.
노드 비교부(220)는 핵산 서열 분석 장치(20)와 연결된 복수의 노드들(30, 40, 50) 각각의 성능을 비교한다. 보다 상세하게, 노드 비교부(220)는 복수의 노드들(30, 40, 50)의 성능이 동일한지, 아니면 서로 다른지 여부를 비교한다.
분산 처리 시스템(1)에서 복수의 노드들(30, 40, 50)의 성능은 모두 동일하지 않은 경우가 많다. 만약, 복수의 노드들(30, 40, 50)이 모두 동일한 성능을 갖는다고 할지라도, 추후에 스케일아웃(scale-out)의 가능성을 고려한다면 결국에는 복수의 노드들(30, 40, 50)을 포함한 전체 노드들 각각의 성능은 서로 다를 수 있다. 따라서, 노드 비교부(220)는 수신된 입력 서열들을 분산시키기 이전에 복수의 노드들(30, 40, 50) 각각의 성능을 먼저 파악한다.
도 2a 및 도 2b는 본 발명의 일 실시예에 따른 분산 처리 시스템(1)에서 복수의 노드들의 성능이 동일한 경우와 동일하지 않은 경우를 도시한 도면이다. 도 2a 및 도 2b를 참고하면, 도시된 노드의 크기는 노드의 성능이 우수한 정도를 상대적으로 나타낸 것이다.
도 2a를 참고하면, 핵산 서열 분석 장치(20)와 연결된 노드 1(201), 노드 2(202) 및 노드 3(203)은 모두 동일한 크기로 도시되어 있는바, 노드 1(201), 노드 2(202) 및 노드 3(203)의 성능은 모두 동일하다. 하지만, 도 2b를 참고하면, 핵산 서열 분석 장치(20)와 연결된 노드 1(204), 노드 2(205) 및 노드 3(206)은 서로 다른 크기들로 도시되어 있다. 즉, 노드 2(205)의 크기는 노드 1(204)보다 크게 도시되어 있는바, 노드 2(205)의 성능이 노드 1(204)보다 상대적으로 우수하다. 또한, 노드 1(204)의 크기는 노드 3(206)보다 크게 도시되어 있는바, 노드 1(204)의 성능이 노드 3(206)보다 상대적으로 우수하다.
도 2a와 도 2b에 도시된 경우를 비교하면, 도 2a에 도시된 바와 같이 각 노드들(201, 202, 203)에 동일한 크기의 데이터들이 분산되더라도, 각 노드들(201, 202, 203)에서 그 데이터의 처리 속도 및 처리 시간은 동일하다. 하지만, 도 2b에 도시된 바와 같이 각 노드들(204, 205, 206)에 동일한 크기의 데이터들이 분산되면, 각 노드들(204, 205, 206)의 성능의 차이로 인해 그 데이터의 처리 속도 및 처리 시간이 각기 다르게 된다. 따라서, 각 노드들(204, 205, 206)에서의 분산 처리 결과를 종합할 때, 성능이 가장 떨어지는 노드(206)에서 처리가 완료될 때까지 기다려야 하므로, 분산 처리가 비효율적이게 된다. 그러므로, 도 2b에 도시된 바와 같이 각 노드들(204, 205, 206)의 성능이 서로 다를 경우에는 각 노드들(204, 205, 206)의 성능에 맞게 데이터가 분산될 필요가 있다.
다시 도 1b를 참고하면, 노드 결정부(230)는 수신된 입력 서열들을 핵산 정보가 알려진 목표 서열들에 정렬하는 작업을 분산 처리할 복수의 노드들(30, 40, 50) 각각의 성능 정보에 기초하여, 입력 서열들 각각에 대해 분산 처리될 노드를 결정한다. 즉, 노드 결정부(230)는 노드 비교부(220)의 비교 결과에 기초하여 입력 서열들 각각에 대해 분산 처리될 노드를 결정한다. 바꾸어 말하면, 노드 결정부(230)에서 입력 서열들 각각에 대해 분산 처리될 노드를 결정한다는 것은, 분산 처리될 노드 각각에 분산된 입력 서열의 크기를 결정한다는 것과 같은 의미이다.
여기서, 성능 정보는 노드들(30, 40, 50) 각각의 CPU 성능과 RAM의 크기에 관한 정보를 포함하나, 이에 한정되지 않는다. 또한, 이하의 본 실시예에 따른 성능 정보에는 노드들의 저장 공간의 용량, 즉 하드 디스크의 용량은 충분하다고 가정한다. 왜냐하면, 하드 디스크에 입력 서열들을 저장할 수 있는 공간이 부족할 경우에는 그 노드에서는 분산 처리 자체를 수행할 수 없기 때문이다. 하지만, 다른 실시예에 따라서는 노드들의 저장 공간을 성능 정보에 포함할 수도 있다.
한편, 일 실시예예 따르면, 노드 결정부(230)는 수신된 입력 서열들 중 분산 처리에 의한 오버헤드에 대응되는 임계값 이내의 개수만을 이용하여 노드를 결정할 수 있다. 왜냐하면, 분산 처리로 얻는 처리 시간의 단축 효과보다, 서열 정렬이 아닌 분산 처리 자체에 소비되는 오버헤드(분산, 병합 과정 등)가 커지는 것을 방지하기 위함이다.
노드 결정부(230)는 노드들(30, 40, 50) 각각으로 분산될 입력 서열들의 데이터 크기가 노드들 각각의 성능에 대응되도록 입력 서열들 각각에 대해 분산 처리될 노드를 결정한다.
보다 상세하게 설명하면, 노드 결정부(230)는 노드 비교부(220)의 비교 결과, 노드들(30, 40, 50)의 성능이 동일한 경우 노드들(30, 40, 50) 각각이 동일한 크기의 데이터를 처리하도록 입력 서열들 각각에 대해 분산 처리될 노드를 결정한다.
하지만, 노드 결정부(230)는 노드 비교부(220)의 비교 결과, 노드들(30, 40, 50) 중 적어도 하나의 성능이 나머지와 다른 경우 상대적으로 우수한 성능의 노드가 보다 많은 데이터를 처리하도록 입력 서열들 각각에 대해 분산 처리될 노드를 결정한다.
노드 결정부(230)는 결정된 결과, 노드들(30, 40, 50) 각각에서 수행될 정렬 작업의 예상 수행 시간이 동일 또는 유사하도록 입력 서열들 각각에 대해 분산 처리될 노드를 결정한다. 이와 같이, 노드들(30, 40, 50) 각각에서의 예상 수행 시간이 동일 또는 유사하게 설정되기 위해서, 노드 결정부(230)는 예상 수행 시간이 소정의 시간 범위 내의 값을 갖도록 입력 서열들 각각에 대해 분산 처리될 노드를 결정한다.
본 실시예에 따라 노드 결정부(230)에서 입력 서열들 각각에 대해 분산 처리될 노드를 결정하는 알고리즘은 이하의 도 3 및 4와 같을 수 있다. 하지만, 도 3 및 4에 도시된 알고리즘은 하나의 실시예일 뿐, 본 실시예는 이에 한정되지 않는다. 즉, 노드 결정부(230)는 다른 종류의 알고리즘을 통해 입력 서열들 각각에 대해 분산 처리될 노드를 결정할 수 있다.
도 3은 본 발명의 일 실시예에 따라 노드 결정부(230)에서 입력 서열들 각각에 대해 분산 처리될 노드를 결정하는 알고리즘에 관한 표를 도시한 도면이다.
도 3을 참고하면, 분산 처리될 노드를 결정하기 위하여 노드 결정부(230)는 노드 1 내지 노드 n(n은 자연수)의 CPU 성능과 RAM의 크기와 같은 성능 정보를 이용한다. 또한, 노드 결정부(230)는 성능 정보 외에도 목표 서열들의 데이터 크기를 함께 고려하여 입력 서열들 각각에 대해 분산 처리될 노드를 결정한다.
여기서, 클럭 스피드와 같은 CPU 성능은 정렬 속도에 영향을 미친다. 그리고, 노드 결정부(230)는 목표 서열의 크기에 따라 요구되는 RAM 크기를 갖는 후보 노드들을 우선적으로 선별할 수 있다.
도 3의 표에 따르면, 분산 처리 시스템(1)에는 노드 1부터 노드 n (n은 자연수)까지 n개의 노드들이 존재함을 가정한다. 또한, 각각의 노드에서는 목표 서열들인 chromosome 1부터 chromosome m (m은 자연수)이 분석됨을 가정한다. 바꾸어 말하면, 분산 처리 시스템(1)은 n개의 노드로 구성되고, 각 노드는 m개의 목표 서열들에 입력 서열들을 정렬한다. 이 때, 인간의 경우, 25개의 염색체(chromosome 1-22, X, Y, M)의 종류를 갖는바, m은 25일 수 있다.
도 3의 표에서, k1, k2, ..., km은 입력 서열이 목표 서열에 정렬되는 작업에 소요되는 시간의 상대값으로써, 목표 서열의 크기에 비례하는 값이다. 그리고, 도 3의 표에서, Jm -n은 m번째 목표 서열에 대한 정렬 작업을 수행하기 위하여 n번째 노드에 분산된 입력 서열의 크기를 나타낸다.
이와 같이, 노드 결정부(230)는 노드 1부터 노드 n의 각각의 성능 정보인 CPU의 클럭 스피드 및 RAM의 크기와, chromosome 1부터 chromosome m의 목표 서열들 각각의 데이터 크기를 고려하여 입력 서열들 각각에 대해 분산 처리될 노드를 결정한다. 노드 결정부(230)는 최종적으로 노드들 각각에서의 예상 수행 시간이 동일 또는 유사하도록 입력 서열들 각각에 대해 분산 처리될 노드를 결정한다.
도 4는 본 발명의 일 실시예에 따른 노드 결정부(230)에서 입력 서열들 각각에 대해 분산 처리될 노드를 결정하는 알고리즘의 적용례이다.
여기서, 노드 결정부(230)는 목표 서열의 크기에 따라 필요한 RAM 크기를 갖는 후보 노드들을 우선적으로 선별할 수 있다. 이 때, 필요 RAM 크기를 계산하는 공식, 예를 들어 '목표 서열 크기 X 6 + 1GB'와 같은 공식을 이용하여, 목표 서열의 크기에 따라 필요 RAM 크기를 갖는 후보 노드들을 우선적으로 선별할 수 있다. 하지만, 본 실시예는 이와 같은 공식에 한정되지 않고, 필요 RAM 크기를 갖는 후보 노드들을 우선적으로 선별하지 않거나 또는 다른 공식에 의거하여 후보 노드들을 우선적으로 선별할 수 있다.
도 4를 참고하면, 분산 처리 시스템(1)에는 노드 1 내지 노드 4가 존재하고, 각각의 노드의 성능은 모두 다르다. 또한, 각각의 노드는 목표 서열들 chromosome 1, chromosome 6 및 chromosome 17에 대해 정렬 작업을 수행하고, 각 목표 서열들은 서로 다른 데이터 크기를 갖는다.
목표 서열 chromosome 1을 기준으로 살펴보면, 노드 1과 노드 2의 CPU 성능은 3.0Ghz로 동일하나 RAM 성능은 노드 1이 3GB로 노드 2보다 우수하다. 또한, 노드 1을 기준으로 살펴보면, 노드 1에는 입력 서열들 J1 -1, J2 -1, J3 -1이 분산 처리될 수 있고, 이 경우 입력 서열들 J1 -1, J2 -1, J3 -1 각각의 목표 서열들인 chromosome 1 (240MB), chromosome 6 (160MB) 및 chromosome 17 (80MB)의 크기가 각기 다르다. 앞서 설명한 바와 같이, 노드 결정부(230)는 CPU 성능 및 RAM의 크기와 같은 성능 정보와 함께, 목표 서열들의 데이터 크기를 고려하여 입력 서열들 각각에 대해 분산 처리될 노드를 결정할 수 있다.
그 결과, 도 4에 도시된 적용예에서 노드 결정부(230)는 노드 1에는 8GB의 입력 서열 J1 -1이 분산되도록 결정하고, 노드 2에는 7GB의 입력 서열 J1 -2가 분산되도록 결정한다. 그리고, 도 4에 도시된 적용예에서 노드 결정부(230)는 목표 서열 chromosome 1에 대해서 J1 -1은 8GB, 목표 서열 chromosome 6에 대해서 J2 - 1는 2GB, 목표 서열 chromosome 17에 대해서 J3 - 1는 0GB가 분산되도록 결정한다. 여기서, 입력 서열들이 CPU 성능, RAM의 크기 또는 목표 서열들의 크기에 정비례하게 분산되지 않는 이유는 앞서 설명한 바와 같이, 각각의 노드들의 성능과 함께 목표 서열들의 데이터 크기가 고려될 수 있고, 다른 실시예에 따라서는 필요 RAM 크기를 갖는 후보 노드들이 우선적으로 선별될 수 있기 때문이다.
최종적으로, 노드 결정부(230)는 이와 같은 알고리즘을 통해 예상 수행 시간이 동일 또는 유사하도록 입력 서열들 각각에 대해 분산 처리될 노드를 결정한다. 이 경우, 예상 수행 시간이 동일 또는 유사하게 설정되기 위해 소정의 시간 범위를 이용할 수 있다. 도 4의 예상 수행 시간들은 4.7, 4.8의 값이다. 이 값들은 정확한 계산에 의해 도출된 상대 값일 수도 있으나, 또는 예시의 편의를 위한 근사값일 수 있다. 본 실시예에서는 4.7과 4.8의 예상 수행 시간들은 동일 또는 유사한 범위라고 판단한다. 본 실시예의 예상 수행 시간들은 상대적인 값으로써 단위를 생략할 수 있거나, 또는 정확한 시간 단위를 갖는 값일 수 있다.
도 4는 본 실시예를 설명하기 위한 단지 하나의 적용예일 뿐, 본 실시예는 이에 한정되지 않는다. 즉, 다른 알고리즘을 이용하여 입력 서열들이 각각의 노드에 최적화되게 분산될 수 있음을 당해 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
다시 도 1b를 참고하면, 분산 처리 제어부(240)는 결정된 노드에 입력 서열들을 분산시켜 전송한다.
복수의 노드들(30, 40, 50)은 앞서 설명한 Seed & extend 방법, 부분 결합 서열 방법 등을 이용하여 각각에 분산된 입력 서열들을 목표 서열들에 정렬시킨다. 즉, 복수의 노드들(30, 40, 50)에서 사용하는 정렬 방법은 어느 하나에 한정되지 않는다.
도 5는 본 발명의 일 실시예에 따라 복수의 노드들에서 입력 서열들을 목표 서열들에 정렬하는 작업을 도시한 도면이다.
도 5를 참고하면, 노드 1은 목표 서열 chromosome 1에 입력 서열 1을 정렬하고, 노드 2는 동일한 목표 서열 chromosome 1에 서로 다른 입력 서열 2를 정렬한다. 그리고, 노드 3은 다른 목표 서열 chromosome 6에 입력 서열 1 및 입력 서열 2를 함께 정렬한다. 왜냐하면, 노드 3은 노드 1 및 노드 2보다 성능이 우수하여 노드 결정부(230)에서 입력 서열들이 많이 분산되었기 때문이다. 이와 같이, 분산 처리 제어부(240)에 의해 입력 서열들이 분산된 노드 1 내지 노드 3에서는 서로 독립적으로 정렬 작업을 수행한다.
다시 도 1b를 참고하면, 서열 분석부(250)는 노드들(30, 40, 50) 각각에서 수신된, 목표 핵산서열들에 입력 서열들이 정렬된 노드들의 분산 처리 결과들을 병합하여 분석한다.
앞서 설명한 바와 같이, 각각의 노드들(30, 40, 50)에서는 분산 처리를 수행하였는바, 서로 다른 입력 서열들과 서로 다른 목표 서열들에 대해 독립적으로 정렬 작업이 수행될 수 있다.
따라서, 유전자 샘플의 핵산 정보의 전체 게놈의 핵산 정보에 대한 정렬 결과를 알기 위해서는, 각각의 노드들로부터 수신된 분산 처리 결과들을 병합하여야 한다. 그러므로, 서열 분석부(250)는 각각의 노드들로부터 수신된 분산 처리 결과들을 병합함으로써 전체 목표 서열들에 전체 입력 서열들을 정렬한다. 즉, 서열 분석부(250)는 각각의 노드들로부터 수신된 분산 처리 결과들을 병합하여 분석함으로써 유전자 샘플의 전체 핵산 정보를 게놈의 전체 핵산 정보에 최종적으로 매핑한다.
그리고, 서열 분석부(250)에서 분석된 결과는 내부 또는 외부의 저장 장치(미도시)로 전송되어 저장되거나, 디스플레이와 같은 사용자 인터페이스부(미도시) 등을 통해 사용자에게 출력될 수 있다.
도 7은 본 발명의 일 실시예에 따른 실생활에 적용된 경우의 분산 처리 시스템(1)을 도시한 도면이다.
도 7을 참고하면, 유전 서열 시퀀싱을 신청한 대상자(고객)를 대상으로 공인된 기관에서 대상자의 유전자 샘플, 예를 들어 혈액, 타액, 기타 신체 조직을 채취한다. 시퀀싱 장치(10)는 채취된 유전자 샘플로부터 입력 서열들을 생성한다. 핵산 서열 분석 장치(20)는 복수의 노드들에 수신된 입력 서열들을 분산 처리한 후, 노드들 각각의 분석 처리 결과들을 병합하여 분석함으로써, 인간 게놈의 전체 핵산 정보에 대하여 대상자의 유전자 샘플의 핵산 정보를 정렬한 분석 결과를 출력한다. 분석 결과 DB(70)는 이와 같은 분석 결과를 저장해 놓는다. 분석 결과 DB(70)는 대상자 또는 대상자의 허가를 얻은 제 3 자(병원, 보험사 등)가 핵산 서열의 분석 결과를 조회하고자 할 때, 대상자의 핵산 서열의 분석 결과를 제공한다.
도 8은 본 발명의 일 실시예예 따른 핵산 서열 분석 방법의 흐름도이다. 도 8을 참고하면, 본 실시예에 따른 핵산 서열 분석 방법은 도 1b에 도시된 핵산 서열 분석 장치(1)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 1b에 도시된 핵산 서열 분석 장치(1)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 핵산 서열 분석 방법에도 적용된다.
801 단계에서, 서열 수신부(210)는 샘플로부터 생성된 핵산에 대한 복수의 입력 서열들을 수신한다.
802 단계에서, 노드 결정부(230)는 수신된 입력 서열들을 핵산 정보가 알려진 목표 서열들에 정렬하는 작업을 분산 처리할 복수의 노드들 각각의 성능 정보에 기초하여, 입력 서열들 각각에 대해 분산 처리될 노드를 결정한다.
803 단계에서, 분산 처리 제어부(240)는 결정된 노드에 입력 서열들을 분산시켜 전송한다.
804 단계에서, 서열 분석부(250)는 노드들 각각에서 수신된, 목표 핵산서열들에 입력 서열들이 정렬된 노드들의 분산 처리 결과들을 병합하여 분석한다.
도 9는 도 8에 도시된 핵산 서열 분석 방법의 상세 흐름도이다.
901 단계에서, 서열 수신부(210)는 샘플로부터 생성된 핵산에 대한 복수의 입력 서열들을 수신한다.
902 단계에서, 노드 비교부(220)는 핵산 서열 분석 장치(20)와 연결된 복수의 노드들(30, 40, 50) 각각의 성능을 비교한다.
903 단계에서, 노드 결정부(230)는 노드 비교부(220)의 비교 결과, 노드들(30, 40, 50)의 성능이 동일한 경우 노드들(30, 40, 50) 각각이 동일한 크기의 데이터를 처리하도록 입력 서열들 각각에 대해 분산 처리될 노드를 결정한다.
904 단계에서, 노드 결정부(230)는 노드 비교부(220)의 비교 결과, 노드들(30, 40, 50) 중 적어도 하나의 성능이 나머지와 다른 경우 상대적으로 우수한 성능의 노드가 보다 많은 데이터를 처리하도록 입력 서열들 각각에 대해 분산 처리될 노드를 결정한다.
905 단계에서, 분산 처리 제어부(240)는 결정된 노드에 입력 서열들을 분산시켜 전송한다.
906 단계에서, 서열 분석부(250)는 노드들 각각에서 수신된, 목표 핵산서열들에 입력 서열들이 정렬된 노드들의 분산 처리 결과들을 병합하여 분석한다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 본 발명의 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
1: 분산 처리 시스템
10: 시퀀싱 장치 20: 핵산 서열 분석 장치
210: 서열 수신부 220: 노드 비교부
230: 노드 결정부 240: 분산 처리 제어부
250: 서열 분석부 30: 노드 1
40: 노드 2 50: 노드 3

Claims (18)

  1. 네트워크 인터페이스를 통해, 샘플로부터 생성된 핵산에 대한 복수의 입력 서열들을 수신하는 단계;
    프로세서에 의해, 상기 수신된 입력 서열들을 핵산 정보가 알려진 목표 서열들에 정렬하는 작업을 분산 처리할 복수의 노드들 각각의 성능 정보에 기초하여, 상기 입력 서열들 각각에 대해 분산 처리될 노드를 결정하는 단계;
    상기 프로세서에 의해, 상기 결정된 노드에 상기 입력 서열들을 분산시켜 전송하는 단계; 및
    상기 프로세서에 의해, 상기 노드들 각각에서 수신된, 상기 목표 서열들에 상기 입력 서열들이 정렬된 상기 노드들의 분산 처리 결과들을 병합하여 분석하는 단계를 포함하고,
    상기 결정하는 단계는 상기 수신된 입력 서열들 중, 상기 분산 처리될 노드의 상기 결정에 소비되는 상기 프로세서의 오버헤드에 대응되는 임계값 이내의 개수의 입력 서열들만을 이용하여 상기 분산 처리될 노드를 결정하는, 핵산 서열 분석 장치에서 분산 처리를 이용한 핵산 서열의 분석 방법.
  2. 제 1 항에 있어서,
    상기 결정하는 단계는
    상기 노드들 각각으로 분산될 상기 입력 서열들의 데이터 크기가 상기 노드들 각각의 성능에 대응되도록 상기 노드를 결정하는 방법.
  3. 제 1 항에 있어서,
    상기 결정하는 단계는
    상기 노드들 각각에서 수행될 정렬 작업의 예상 수행 시간이 소정의 시간 범위 내의 값을 갖도록 상기 노드를 결정하는 방법.
  4. 제 1 항에 있어서,
    상기 프로세서에 의해, 상기 노드들 각각의 성능을 비교하는 단계를 더 포함하고,
    상기 결정하는 단계는 상기 비교 결과에 기초하여 상기 노드를 결정하는 방법.
  5. 제 4 항에 있어서,
    상기 결정하는 단계는
    상기 비교 결과, 상기 노드들 중 적어도 하나의 성능이 나머지와 다른 경우 상대적으로 우수한 성능의 노드가 보다 많은 데이터를 처리하도록 상기 노드를 결정하는 방법.
  6. 제 4 항에 있어서,
    상기 결정하는 단계는
    상기 비교 결과, 상기 노드들의 성능이 동일한 경우 상기 노드들 각각이 동일한 크기의 데이터를 처리하도록 상기 노드를 결정하는 방법.
  7. 제 1 항에 있어서,
    상기 결정하는 단계는
    상기 성능 정보와 상기 목표 서열들의 데이터 크기를 함께 고려하여 상기 입력 서열들 각각에 대해 분산 처리될 노드를 결정하는 방법.
  8. 삭제
  9. 제 1 항에 있어서,
    상기 성능 정보는 상기 노드들 각각의 CPU 성능과 RAM의 크기에 관한 정보를 포함하는 방법.
  10. 제 1 항에 있어서,
    상기 노드들 각각에서 상기 분산되어 전송된 입력 서열들의 부분 서열들을 이용하여 상기 목표 서열들에 정렬하는 단계를 더 포함하고,
    상기 병합하여 분석하는 단계는 상기 노드들 각각의 상기 부분 서열들의 정렬 결과들을 병합하여 분석하는 방법.
  11. 제 1 항 내지 제 7 항 및 제 9 항 내지 제 10항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  12. 샘플로부터 생성된 핵산에 대한 복수의 입력 서열들을 수신하는 서열 수신부;
    상기 수신된 입력 서열들을 핵산 정보가 알려진 목표 서열들에 정렬하는 작업을 분산 처리할 복수의 노드들 각각의 성능 정보에 기초하여, 상기 입력 서열들 각각에 대해 분산 처리될 노드를 결정하는 노드 결정부;
    상기 결정된 노드에 상기 입력 서열들을 분산시켜 전송하는 분산 처리 제어부; 및
    상기 노드들 각각에서 수신된, 상기 목표 서열들에 상기 입력 서열들이 정렬된 상기 노드들의 분산 처리 결과들을 병합하여 분석하는 서열 분석부를 포함하고,
    상기 노드 결정부는 상기 수신된 입력 서열들 중, 상기 분산 처리될 노드의 상기 결정에 소비되는 프로세서의 오버헤드에 대응되는 임계값 이내의 개수의 입력 서열들만을 이용하여 상기 분산 처리될 노드를 결정하는, 분산 처리를 이용한 핵산 서열의 분석 장치.
  13. 제 12 항에 있어서,
    상기 노드 결정부는
    상기 노드들 각각으로 분산될 상기 입력 서열들의 데이터 크기가 상기 노드들 각각의 성능에 대응되도록 상기 노드를 결정하는 장치.
  14. 제 12 항에 있어서,
    상기 노드 결정부는
    상기 노드들 각각에서 수행될 정렬 작업의 예상 수행 시간이 소정의 시간 범위 내의 값을 갖도록 상기 노드를 결정하는 장치.
  15. 제 12 항에 있어서,
    상기 노드들 각각의 성능을 비교하는 노드 비교부를 더 포함하고,
    상기 노드 결정부는 상기 비교 결과에 기초하여 상기 노드를 결정하는 장치.
  16. 제 15 항에 있어서,
    상기 노드 결정부는
    상기 비교 결과, 상기 노드들 중 적어도 하나의 성능이 나머지와 다른 경우 상대적으로 우수한 성능의 노드가 보다 많은 데이터를 처리하도록 상기 노드를 결정하는 장치.
  17. 제 12 항에 있어서,
    상기 성능 정보는 상기 노드들 각각의 CPU 성능과 RAM의 크기에 관한 정보를 포함하는 장치.
  18. 샘플로부터 핵산 정보를 획득하고 상기 획득된 핵산 정보에 대한 복수의 입력 서열들을 생성하는 시퀀싱 장치;
    핵산 정보가 이미 알려진 목표 서열들에 상기 입력 서열들을 정렬하는 작업을 분산 처리하는 복수의 노드들; 및
    상기 입력 서열들을 수신하고, 상기 노드들 각각의 성능 정보에 기초하여 상기 입력 서열들 각각에 대해 분산 처리될 노드를 결정하고, 상기 결정된 노드에 상기 입력 서열들을 분산시켜 전송하고, 상기 노드들 각각에서 수신된 분산 처리 결과들을 병합하여 분석하는 핵산 서열 분석 장치를 포함하고,
    상기 핵산 서열 분석 장치는 상기 수신된 입력 서열들 중, 상기 분산 처리될 노드의 상기 결정에 소비되는 프로세서의 오버헤드에 대응되는 임계값 이내의 개수의 입력 서열들만을 이용하여 상기 분산 처리될 노드를 결정하는, 핵산 서열 분석을 위한 분산 처리 시스템.
KR1020110059648A 2011-06-20 2011-06-20 분산 처리를 이용한 핵산 서열의 분석 방법 및 장치, 핵산 서열 분석을 위한 분산 처리 시스템 KR101906970B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110059648A KR101906970B1 (ko) 2011-06-20 2011-06-20 분산 처리를 이용한 핵산 서열의 분석 방법 및 장치, 핵산 서열 분석을 위한 분산 처리 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110059648A KR101906970B1 (ko) 2011-06-20 2011-06-20 분산 처리를 이용한 핵산 서열의 분석 방법 및 장치, 핵산 서열 분석을 위한 분산 처리 시스템

Publications (2)

Publication Number Publication Date
KR20120140037A KR20120140037A (ko) 2012-12-28
KR101906970B1 true KR101906970B1 (ko) 2018-12-06

Family

ID=47906198

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110059648A KR101906970B1 (ko) 2011-06-20 2011-06-20 분산 처리를 이용한 핵산 서열의 분석 방법 및 장치, 핵산 서열 분석을 위한 분산 처리 시스템

Country Status (1)

Country Link
KR (1) KR101906970B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102447192B1 (ko) * 2019-10-18 2022-09-26 한국과학기술정보연구원 염기 서열 처리 시스템 및 방법
CN111429084A (zh) * 2020-02-27 2020-07-17 深圳未知君生物科技有限公司 生物样本智能追踪管理方法、智能设备和移动终端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005115685A (ja) 2003-10-08 2005-04-28 Nippon Telegr & Teleph Corp <Ntt> 分散計算システムおよびその負荷分散方法
JP2006113868A (ja) 2004-10-15 2006-04-27 Hitachi Ltd データ分配方法、システム及びプログラム
KR100681795B1 (ko) * 2006-11-30 2007-02-12 한국정보통신대학교 산학협력단 그리드 컴퓨팅 환경에서의 유전체 서열 정렬 방법 및프로그램 저장 매체

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005115685A (ja) 2003-10-08 2005-04-28 Nippon Telegr & Teleph Corp <Ntt> 分散計算システムおよびその負荷分散方法
JP2006113868A (ja) 2004-10-15 2006-04-27 Hitachi Ltd データ分配方法、システム及びプログラム
KR100681795B1 (ko) * 2006-11-30 2007-02-12 한국정보통신대학교 산학협력단 그리드 컴퓨팅 환경에서의 유전체 서열 정렬 방법 및프로그램 저장 매체

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
BMC Bioinformatics. (2006) 7(Suppl 5):S10.
Journal of Computer Science (2007) 3(3):186-194
Neural, Parallel, and Scientific Computation (2008) 16:517-530*
Revue ARIMA, (2010) 12:43-60

Also Published As

Publication number Publication date
KR20120140037A (ko) 2012-12-28

Similar Documents

Publication Publication Date Title
US11837328B2 (en) Methods and systems for detecting sequence variants
US20220411881A1 (en) Methods and systems for identifying disease-induced mutations
AU2020201622B2 (en) Methods and system for detecting sequence variants
US20190272891A1 (en) Methods and systems for genotyping genetic samples
AU2014308794B2 (en) Methods and systems for aligning sequences
US11049587B2 (en) Methods and systems for aligning sequences in the presence of repeating elements
Taskiran et al. Cell-type-directed design of synthetic enhancers
US20190332963A1 (en) Systems and methods for visualizing a pattern in a dataset
KR101906970B1 (ko) 분산 처리를 이용한 핵산 서열의 분석 방법 및 장치, 핵산 서열 분석을 위한 분산 처리 시스템
WO2008007630A1 (fr) Méthode et appareil de recherche de protéine
Babcock et al. scRNA-seq for microcephaly research [III]: computational analysis of scRNA-seq data
Shannon et al. A bloody primer: analysis of RNA-seq from tissue admixtures
JP7129015B2 (ja) 情報処理システム、変異検出システム、記憶媒体および情報処理方法
Fortmann-Grote et al. RAREFAN: A webservice to identify REPINs and RAYTs in bacterial genomes
Fortmann-Grote et al. Peer Community Journal
Rautenstrauch et al. Liam tackles complex multimodal single-cell data integration challenges
Joshi et al. WHOLE GENOME SEQUENCING DATA ANALYSIS APPROACHES IN MODERN RESEARCH

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant