KR20240050268A - 스파크 오픈 소스 프레임워크 기반 유전체 데이터 처리 장치 및 방법 - Google Patents
스파크 오픈 소스 프레임워크 기반 유전체 데이터 처리 장치 및 방법 Download PDFInfo
- Publication number
- KR20240050268A KR20240050268A KR1020230117570A KR20230117570A KR20240050268A KR 20240050268 A KR20240050268 A KR 20240050268A KR 1020230117570 A KR1020230117570 A KR 1020230117570A KR 20230117570 A KR20230117570 A KR 20230117570A KR 20240050268 A KR20240050268 A KR 20240050268A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- genome
- genome data
- genomic
- spark
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 title abstract description 26
- 238000004364 calculation method Methods 0.000 claims abstract description 30
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 15
- 238000004458 analytical method Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 description 11
- 238000002864 sequence alignment Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000003672 processing method Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 230000000052 comparative effect Effects 0.000 description 5
- 201000010099 disease Diseases 0.000 description 4
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 4
- 239000003153 chemical reaction reagent Substances 0.000 description 3
- 241000711573 Coronaviridae Species 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000009007 Diagnostic Kit Methods 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 238000012300 Sequence Analysis Methods 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B50/00—ICT programming tools or database systems specially adapted for bioinformatics
- G16B50/30—Data warehousing; Computing architectures
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B30/00—ICT specially adapted for sequence analysis involving nucleotides or amino acids
- G16B30/10—Sequence alignment; Homology search
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B40/00—ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
- G16B40/20—Supervised data analysis
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B5/00—ICT specially adapted for modelling or simulations in systems biology, e.g. gene-regulatory networks, protein interaction networks or metabolic networks
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B50/00—ICT programming tools or database systems specially adapted for bioinformatics
- G16B50/50—Compression of genetic data
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Theoretical Computer Science (AREA)
- Biophysics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biotechnology (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Databases & Information Systems (AREA)
- Bioethics (AREA)
- Data Mining & Analysis (AREA)
- Physiology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Molecular Biology (AREA)
- Epidemiology (AREA)
- Evolutionary Computation (AREA)
- Public Health (AREA)
- Software Systems (AREA)
- Genetics & Genomics (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Proteomics, Peptides & Aminoacids (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
스파크 오픈 소스 프레임워크 기반 유전체 데이터 처리 장치 및 방법이 개시된다. 본 발명의 실시예에 따른 스파크 오픈 소스 프레임워크 기반 유전체 데이터 처리 장치는, 외부 유전체 데이터베이스로부터 미리 설정된 소정 조건에 따라 데이터를 검색하여 내부 데이터베이스에 저장하고, 유전체 데이터의 고속 계산 및 분석에 필요한 크기 및 형태로 변환하여 내부 저장시스템에 저장하는 분류부, 적어도 하나 이상의 서열 계산 알고리즘을 적용하여 목표 유전체 데이터와 참조 유전체 데이터들을 비교 계산하는 정렬부, 정렬부의 비교 계산 결과 검출된 유사도가 높은 유사 유전체 데이터들을 기반으로 인공 유전체 데이터를 조합하는 조합부, 및 적어도 하나 이상의 소프트웨어 시뮬레이션 환경을 통해 인공 유전체 데이터를 검증하는 탐색부를 포함할 수 있다.
Description
기재된 실시예는 진단 시약 등 진단 의약품 개발에서 대규모 유전체 데이터를 다양한 기준으로 가공, 서열 정렬 계산 및 선별하며, 서열 정렬 계산을 효율적으로 처리하는 기술에 관한 것이다.
대규모 데이터는 수집부터 저장, 계산 및 관리 등의 복수의 단계들을 거쳐 처리된다. 이러한 과정을 처리하는 오픈 소스 플랫폼 기술이 존재하며, 대표적으로 분산 병렬 처리 방식인 하둡 맵리듀스(Hadoop MapReduce)와 인메모리 방식인 아파치 스파크(Apache Spark)가 있다.
이러한 두 기술들은 데이터 처리 중에 대규모 데이터가 저장되는 저장소가 무엇인지에 차이가 있다. 우선, 하둡 맵리듀스는 기본적으로 디스크로부터 처리할 데이터를 불러오고, 처리 결과도 디스크에 저장한다. 반면, 아파치 스파크는 메모리에 데이터를 두고 처리한다. 따라서, 메모리 기반이 처리 속도에 장점이 있는 아파치 스파크 기술이 응용 현장에 더 많이 활용되고 있다.
이러한 아파치 스파크는 2011년 버클리 대학에서 개발되어 아파치 재단의 오픈 소스로 관리되고 있으며, 인메모리 기반의 대용량 데이터 고속 처리 엔진으로 범용 컴퓨팅 프레임워크이다. 이는 인메모리 기반의 신속 처리와 자바 및 파이선 등 다양한 언어를 지원하여 사용의 편의성을 제공한다는 특징이 있다. 또한, SQL 쿼리, 스트리밍 데이터, 머신 러닝 및 그래프 처리 등 다양한 기능을 제공하며, 클러스터 환경에서도 동작이 가능하다. 또한, 아파치 스파크는 대규모 데이터를 처리하는데 사용할 수 있는 인터페이스들을 제공하며, SQL 쿼리, 스트리밍 데이터, 머신 러닝 및 그래프 처리에 대한 지원하기 위한 상위 라이브러리들을 제공하고 있다. 따라서, 개발자는 아파치 스파크에서 제공하는 라이브러리 및 인터페이스를 이용하여 복잡한 데이터 처리의 워크플로우를 간편하고 편리하게 구현할 수 있다.
한편, 유전체 데이터는 대규모 데이터 처리 응용 분야에서 최근 중요한 요소이며, 서열 분석 이외에도 구조 기능 해석, 질병과의 상관 관계 등을 어떻게 분석하는지에 따라 엄청난 사업적 가치를 얻을 수 있는 데이터이다. 하지만, 현장에서 많이 활용되는 스파크 프레임워크는 SQL 데이터, 스트리밍 데이터, 그래프 데이터 및 머신 러닝의 데이터셋의 분석 처리만을 지원하고 있을 뿐, 유전체 데이터 처리에 지원은 하고 있지 않은 상태이다.
기재된 실시예는 스파크 오픈소스 프레임워크에서 유전체 데이터 처리 기능을 제공하는데 그 목적이 있다.
실시예에 따른 스파크 오픈 소스 프레임워크 기반 유전체 데이터 처리 장치는, 외부 유전체 데이터베이스로부터 미리 설정된 소정 조건에 따라 데이터를 검색하여 내부 데이터베이스에 저장하고, 유전체 데이터의 고속 계산 및 분석에 필요한 크기 및 형태로 변환하여 내부 저장시스템에 저장하는 분류부, 적어도 하나 이상의 서열 계산 알고리즘을 적용하여 목표 유전체 데이터와 참조 유전체 데이터들을 비교 계산하는 정렬부, 정렬부의 비교 계산 결과 검출된 유사도가 높은 유사 유전체 데이터들을 기반으로 인공 유전체 데이터를 조합하는 조합부, 및 적어도 하나 이상의 소프트웨어 시뮬레이션 환경을 통해 인공 유전체 데이터를 검증하는 탐색부를 포함할 수 있다.
이때, 분류부는, 저장된 유전체 데이터를 서열 정렬에 따른 유사도 계산 방식에 맞게 데이터 크기를 분할, 압축 및 포맷할 수 있다.
이때, 저장된 유전체 데이터의 서열 정렬에 따른 유사도 계산을 위해 임의의 알고리즘들이 플러그인 구조로 미리 설정할 수 있다.
이때, 유사도 계산 과정의 유사도 정도의 기준이 미리 설정될 수 있다.
이때, 실시예에 스파크 프레임워크 기반 유전체 데이터 처리 장치는, 정렬부의 진행 상태를 체크 포인팅하고, 체크 결과에 따라 장애 발생시 장애 이후부터 비교 계산을 재개하는 체크 및 재개부를 더 포함할 수 있다.
이때, 유사 유전체 데이터를 이용하여 인공 유전체 데이터를 조합하는 기준은 미리 설정될 수 있다.
이때, 실시예에 스파크 프레임워크 기반 유전체 데이터 처리 장치는, 정렬부에서 계산한 결과를 기억하여, 정렬부에 의해 이미 계산된 동일한 데이터가 다시 계산될 경우 이미 계산된 결과값을 재사용되도록 지원하는 브레이너를 더 포함할 수 있다.
실시예에 따른 스파크 오픈 소스 프레임워크 기반 유전체 데이터 처리 라이브러리 방법은, 외부 유전체 데이터베이스로부터 미리 설정된 소정 조건에 따라 데이터를 검색하여 내부 데이터베이스에 저장하는 단계, 유전체 데이터의 고속 계산 및 분석에 필요한 크기 및 형태로 변환하여 내부 저장시스템에 저장하는 단계, 적어도 하나 이상의 서열 계산 알고리즘을 적용하여 목표 유전체 데이터와 참조 유전체 데이터들을 비교 계산하는 단계, 정렬부의 비교 계산 결과 검출된 유사도가 높은 유사 유전체 데이터들을 기반으로 인공 유전체 데이터를 조합하는 단계, 및 적어도 하나 이상의 소프트웨어 시뮬레이션 환경을 통해 인공 유전체 데이터를 검증하는 단계를 포함할 수 있다.
이때, 저장된 유전체 데이터의 서열 정렬에 따른 유사도 계산을 위해 임의의 알고리즘들이 플러그인 구조로 미리 설정할 수 있다.
이때, 유사도 계산 과정의 유사도 정도의 기준이 미리 설정될 수 있다.
이때, 실시예에 스파크 프레임워크 기반 유전체 데이터 처리 방법은, 정렬부의 진행 상태를 체크 포인팅하고, 체크 결과에 따라 장애 발생시 장애 이후부터 비교 계산을 재개하는 단계를 더 포함할 수 있다.
이때, 유사 유전체 데이터를 이용하여 인공 유전체 데이터를 조합하는 기준은 미리 설정될 수 있다.
이때, 실시예에 스파크 프레임워크 기반 유전체 데이터 처리 방법은, 비교 계산한 결과를 기억하여, 이미 계산된 동일한 데이터가 다시 계산될 경우 이미 계산된 결과값을 재사용되도록 지원하는 단계를 더 포함할 수 있다.
기재된 실시예에 따라, 스파크 프레임워크에 유전체 데이터 처리 분석에 대한 기능 및 장치를 제공할 수 있어 스파크 프레임워크의 활용 증대 뿐만 아니라 헬스케어, 생명과학, 질병 진단 등 다양한 바이오 산업의 활성화에 활용되길 기대할 있다.
또한, 기재된 실시예에 따라, 스파크 오픈소스 기술에 유전체 데이터의 서열 정렬 계산을 위한 기능과 흐름을 제공하여, 스파크 프레임워크에 유전체 데이터 처리 기능을 제공하여, 처리 과정의 기능들을 분산 병렬할 수 있다.
또한, 기재된 실시예에 따라, 대규모 데이터의 수집, 저장, 계산, 관리 과정을 통합 환경에서 일관성 있게 제어, 관리할 수 있다.
또한, 기재된 실시예에 따라, 데이터 처리의 각 과정에 여러 기준과 적용 알고리즘을 쉽게 적용할 수 있는 구조를 제공할 수 있다.
또한, 기재된 실시에의 따라, 스파크 프레임워크에 발명 기능을 제공함으로써, 유전체 데이터 처리 과정 중에 머신 러닝 등 타 기능이 필요한 경우에 기존의 스파크 기능을 이용할 수 있다.
도 1은 실시예가 적용되는 스파크 프레임워크 구조도이다.
도 2의 실시예에 따른 스파크 프레임워크 기반 유전체 데이터 처리(Genome) 라이브러리의 블록 구성도이다.
도 3은 실시예에 따른 스파크 프레임워크 기반 유전체 데이터 처리 라이브러리에서의 데이터 및 신호 흐름도이다.
도 4는 실시예에 따른 스파크 프레임워크 기반 유전체 데이터 처리 방법을 설명하기 위한 순서도이다.
도 5는 실시예에 따른 컴퓨터 시스템 구성을 나타낸 도면이다.
도 2의 실시예에 따른 스파크 프레임워크 기반 유전체 데이터 처리(Genome) 라이브러리의 블록 구성도이다.
도 3은 실시예에 따른 스파크 프레임워크 기반 유전체 데이터 처리 라이브러리에서의 데이터 및 신호 흐름도이다.
도 4는 실시예에 따른 스파크 프레임워크 기반 유전체 데이터 처리 방법을 설명하기 위한 순서도이다.
도 5는 실시예에 따른 컴퓨터 시스템 구성을 나타낸 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
비록 "제1" 또는 "제2" 등이 다양한 구성요소를 서술하기 위해서 사용되나, 이러한 구성요소는 상기와 같은 용어에 의해 제한되지 않는다. 상기와 같은 용어는 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용될 수 있다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있다.
본 명세서에서 사용된 용어는 실시예를 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 또는 "포함하는(comprising)"은 언급된 구성요소 또는 단계가 하나 이상의 다른 구성요소 또는 단계의 존재 또는 추가를 배제하지 않는다는 의미를 내포한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 해석될 수 있다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
도 1은 실시예가 적용되는 스파크 오픈 소스 프레임워크의 구조도이다.
도 1을 참조하면, 스파크 오픈 소스 프레임워크는 인메모리 컴퓨팅 기반의 스파크 엔진에 구조화된 SQL 데이터 처리 라이브러리(10), 실시간 스트리밍(STREAMING) 데이터 처리 라이브러리(20), 기계 학습(MACHINE LEARNING) 알고리즘 라이브러리(30) 및 그래프 데이터(GRAPHS) 처리 라이브러리(40)가 결합되어 있는 형태로 구성되어 있다.
그런데, 종래의 스파크 오픈 소스 기술은 유전체 데이터 처리를 위한 라이브러리를 제공하지 않는다.
따라서, 기재된 실시예에 따라, 도 1에 도시된 스파크 오픈 소스 프레임워크는 유전체(GENOME) 데이터 처리 라이브러리(100)를 더 포함한다.
이를 통해, 대규모 유전체 데이터를 다양한 응용 분야에 활용하는데 있어 수집부터 저장, 분석 및 관리 등의 단계들을 매니코어, 가속 하드웨어 및 클라우드 등 다양한 컴퓨팅 환경에서 파이프라인 흐름으로 처리 및 관리할 수 있다.
동식물 및 인간 등의 전세계 유전체 데이터는 온라인 데이터베이스로 제공된다. 그러면, 생명 공학자는 통상적으로 이러한 온라인 데이터베이스로부터 주어진 조건들에 따라 필요한 데이터만을 수집하여 저장하고, 유전체 데이터 분석 목적에 맞게 적절한 유전체 분석 알고리즘을 적용하여 유전체 데이터를 계산하고 분석한다.
실시예에 따른 유전체(GENOME) 데이터 처리 라이브러리(100)는 전술한 바와 같은 생명 공학자가 수행하는 단계들에 상응하는 기능들로 구성될 수 있다.
도 2의 실시예에 따른 스파크 프레임워크 기반 유전체 데이터 처리(Genome) 라이브러리의 블록 구성도이고, 도 3은 실시예에 따른 스파크 프레임워크 기반 유전체 데이터 처리 라이브러리에서의 데이터 및 신호 흐름도이다.
도 2 및 도 3을 참조하면, 실시예에 따른 스파크 프레임워크에 적용되는 유전체 데이터 처리(Genome) 라이브러리(100)는, 분류부(Classifier)(110), 정렬부(Aligner)(120), 조합부(Picker)(130) 및 탐색부(Explorer)(160)를 포함할 수 있다.
추가적으로, 확인 및 재개부(Checker & Resumer)(140), 브레이너(Brainer)(150)를 더 포함할 수 있다.
도 3을 참조하면, 다수의 코어들로 구성된 CPU 소켓(예, CPU 소켓에 24코어 구성)으로 구성된 매니코어 시스템에서 유전체 데이터가 처리될 수 있다. 이러한 매니코어 시스템에서 여러 노드들은 Infiniband 연결망으로 연결되며, 한 노드는 복수의 CPU 소켓들을 포함하고, 수십 내지 수백코어로 구성된 시스템일 수 있다.
실시예에 따른 목표 유전체 데이터와 참조 유전체 데이터 처리에 있어, 유전체 데이터 내의 신속한 처리는 노드 내에서, 유전체 데이터 간의 동시 처리는 노드 간에서 처리될 수 있다.
분류부(Classifier)(110)는, 외부 유전체 데이터베이스로부터 주어진 조건에 따라 데이터를 검색하여 내부 데이터베이스에 저장하여 참조 유전체 데이터로 관리한다.
즉, 목표 유전체 데이터 분석을 위해 비교 분석할 대상의 유전체 데이터를 종합적으로 저장 관리하는 온라인 데이터베이스(예, 미국 NCBI 데이터베이스)(101)에서 다양한 기준을 설정하여 그 기준에 부합하는 유전체 데이터를 내부 데이터베이스(102)로 저장한다.
이때, 생명공학자가 여러 기준 또는 알고리즘을 분류부(Classifier)(110)에 설정할 수 있는 플러그인 구조도 제공될 수 있다.
또한, 분류부(Classifier)(110)는, 유전체 데이터를 고속 계산 및 분석에 필요한 크기, 형태로 변환하여 내부 저장 시스템에 저장한다. 즉, 유전체 데이터 고속 처리 방식에 따라 데이터 크기 분할, 압축, 포맷 등을 전처리 과정을 거쳐 저장 파일 시스템(103-1, ...103-N)에 분산 저장할 수 있다.
정렬부(Aligner)(120)는, 다양한 유전체 서열 계산 알고리즘을 적용하여 목표 유전체 데이터(예, 코로나 바이스러)와 참조 유전체 데이터들을 서열 정렬에 따른 유사도 계산한다.
이때, 니들만 분쉬 알고리즘 등 다양한 알고리즘을 적용할 수 있는 플러그인 구조를 제공할 수 있다.
이때, 정렬부(Aligner)(120)에서 테라바이트(Terabyte) 규모의 참조 유전체 데이터의 유사도 계산 및 처리 과정에 긴 처리 시간이 소요되는데, 이러한 계산 및 처리 과정에 장애 등의 문제가 발생될 경우 처음부터 다시 처리 및 처리하게 되면 처리 시간이 매우 지연되어 비효율적이다.
따라서, 실시예에 따른 확인 및 재개부(Checker & Resumer)(140)는 정렬부(Aligner)(120)의 계산 및 처리 과정에 장애 등의 문제가 발생될 경우, 처음부터 다시 계산 및 처리하지 않고 장애가 발생한 지점부터 다시 재개하도록 하는 기능을 수행한다.
또한, 정렬부(Aligner)(120)에는 테라바이트(Terabyte) 규모의 참조 유전체 데이터를 목표 유전체 데이터와 비교 및 계산하게 되는데, 이 과정에서 동일한 데이터가 반복적으로 계산될 경우 비효율적일 수 있다.
따라서, 실시예에 따른 브레이너(Brainer)(150)는 정렬부(Aligner)(120)에서 계산한 결과를 기억하여, 정렬부(Aligner)(120)에 의해 이미 계산된 동일한 데이터가 다시 계산될 경우 이미 계산된 결과값을 재사용하도록 하는 기능을 수행한다.
즉, 정렬부(Aligner)(120)에 의해 비교 계산된 결과값들은 해싱 기법 등으로 브레이너(Brainer)(150) 의해 저장 관리되며, 향후 같은 데이터간 계산에 재사용하도록 한다. 이 과정을 통해 유사도 기준 등 설정하는 다양한 기준으로 목표 유전체 데이터와 유사한 유전체 데이터를 저장 관리한다.
조합부(Picker)(130)는, 정렬부(Aligner)(120)의 계산 과정에서 검출된 유사도가 높은 유사 유전체 데이터들을 이용하여 인공 유전체 데이터를 조합한다.
여기서, 인공 유전체 데이터는 진단 시약 개발 응용에서는 진단 화합물 개발에 활용되는 데이터로, 진단하고자 하는 질병에만 반응하고 유사한 다른 질병에는 반응하지 않는 유전체 데이터 조합이다.
탐색부(Explorer)(160)는, 다양한 소프트웨어 시뮬레이션 환경을 통해 인공 유전체 데이터를 검증할 수 있다.
전술한 바와 같이 검증을 마친 인공 유전체 데이터로 코로나 바이러스 진단 키드와 같은 진단 시약이 개발될 수 있다.
도 4는 실시예에 따른 스파크 프레임워크 기반 유전체 데이터 처리 방법을 설명하기 위한 순서도이다.
도 4를 참조하면, 실시예에 따른 스파크 프레임워크 기반 유전체 데이터 처리 방법은, 외부 유전체 데이터베이스로부터 미리 설정된 소정 조건에 따라 데이터를 검색하여 내부 데이터베이스에 저장하는 단계(S210), 유전체 데이터의 고속 계산 및 분석에 필요한 크기 및 형태로 변환하여 내부 저장시스템에 저장하는 단계(S220), 적어도 하나 이상의 서열 계산 알고리즘을 적용하여 목표 유전체 데이터와 참조 유전체 데이터들을 비교 계산하는 단계(S230), 비교 계산 결과 검출된 유사도가 높은 유전체 데이터들을 기반으로 인공 유전체 데이터를 조합하는 단계(S240) 및 인공 유전체 데이터를 소프트웨어 시뮬레이션을 설정하고 검증하는 단계(S250)를 포함할 수 있다.
실시예에 따른 내부 저장시스템에 저장하는 단계(S220)에서, 저장된 유전체 데이터를 서열 정렬에 따른 유사도 계산 방식에 맞게 데이터 크기를 분할, 압축 및 포맷할 수 있다.
실시예에 따른 비교 계산하는 단계(S230)에서, 저장된 유전체 데이터의 서열 정렬에 따른 유사도 계산을 위해 임의의 알고리즘들을 설정할 수 있다.
또한, 실시예에 따른 비교 계산하는 단계(S230)에서, 유사도 계산 과정의 유사도 정도의 기준을 설정할 수 있다.
또한, 실시예에 따른 비교 계산하는 단계(S230)에서 발생된 결과값이 해싱되며, 이를 위한 해싱 기준이 미리 설정될 수 있다.
한편, 실시예에 스파크 프레임워크 기반 유전체 데이터 처리 방법은, 비교 계산하는 단계(S230)의 진행 상태를 체크 포인팅하는 단계(미도시) 및 체크 결과에 따라 장애 발생시 장애 이후부터 비교 계산을 재개하는 단계(미도시)를 더 포함할 수 있다.
인공 유전체 데이터를 조합하는 단계(S240)에서, 유사 유전체 데이터를 이용하여 인공 유전체 데이터를 조합하는 기준은 미리 설정될 수 있다.
도 5는 실시예에 따른 컴퓨터 시스템 구성을 나타낸 도면이다.
실시예에 따른 실시예에 따른 스파크 오픈 소스 프레임워크 기반 유전체 데이터 처리 장치는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1000)에서 구현될 수 있다.
컴퓨터 시스템(1000)은 버스(1020)를 통하여 서로 통신하는 하나 이상의 프로세서(1010), 메모리(1030), 사용자 인터페이스 입력 장치(1040), 사용자 인터페이스 출력 장치(1050) 및 스토리지(1060)를 포함할 수 있다. 또한, 컴퓨터 시스템(1000)은 네트워크(1080)에 연결되는 네트워크 인터페이스(1070)를 더 포함할 수 있다. 프로세서(1010)는 중앙 처리 장치 또는 메모리(1030)나 스토리지(1060)에 저장된 프로그램 또는 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1030) 및 스토리지(1060)는 휘발성 매체, 비휘발성 매체, 분리형 매체, 비분리형 매체, 통신 매체, 또는 정보 전달 매체 중에서 적어도 하나 이상을 포함하는 저장 매체일 수 있다. 예를 들어, 메모리(1030)는 ROM(1031)이나 RAM(1032)을 포함할 수 있다.
이상에서 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
Claims (1)
- 외부 유전체 데이터베이스로부터 미리 설정된 소정 조건에 따라 데이터를 검색하여 내부 데이터베이스에 저장하고, 유전체 데이터의 고속 계산 및 분석에 필요한 크기 및 형태로 변환하여 내부 저장시스템에 저장하는 분류부;
적어도 하나 이상의 서열 계산 알고리즘을 적용하여 목표 유전체 데이터와 참조 유전체 데이터들을 비교 계산하는 정렬부;
정렬부의 비교 계산 결과 검출된 유사도가 높은 유사 유전체 데이터들을 기반으로 인공 유전체 데이터를 조합하는 조합부; 및
적어도 하나 이상의 소프트웨어 시뮬레이션 환경을 통해 인공 유전체 데이터를 검증하는 탐색부를 포함하는, 스파크 오픈 소스 프레임워크 기반 유전체 데이터 처리 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20220129624 | 2022-10-11 | ||
KR1020220129624 | 2022-10-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240050268A true KR20240050268A (ko) | 2024-04-18 |
Family
ID=90844496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230117570A KR20240050268A (ko) | 2022-10-11 | 2023-09-05 | 스파크 오픈 소스 프레임워크 기반 유전체 데이터 처리 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20240050268A (ko) |
-
2023
- 2023-09-05 KR KR1020230117570A patent/KR20240050268A/ko unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102485179B1 (ko) | 설명 정보 확정 방법, 장치, 전자 기기 및 컴퓨터 저장 매체 | |
US10445657B2 (en) | General framework for cross-validation of machine learning algorithms using SQL on distributed systems | |
Liu et al. | Fauce: fast and accurate deep ensembles with uncertainty for cardinality estimation | |
JP6427592B2 (ja) | データ型に関連するデータプロファイリング操作の管理 | |
CN109614432B (zh) | 一种基于语法分析的获取数据血缘关系的系统及方法 | |
US8719271B2 (en) | Accelerating data profiling process | |
US20150089309A1 (en) | Troubleshooting based on log similarity | |
CN106294762B (zh) | 一种基于学习的实体识别方法 | |
CN105917336B (zh) | 数据库键识别 | |
US12026631B2 (en) | Generalized production rules—N-gram feature extraction from abstract syntax trees (AST) for code vectorization | |
CN102736896B (zh) | 运行前近似计算 | |
US11449517B2 (en) | Kernel subsampling for an accelerated tree similarity computation | |
US20190213007A1 (en) | Method and device for executing the distributed computation task | |
CN112287603A (zh) | 一种基于机器学习的预测模型构建方法、装置和电子设备 | |
US20230368054A1 (en) | Anomaly score normalisation based on extreme value theory | |
EP4302244A1 (en) | Explainable artificial intelligence in computing environment | |
CN111984745A (zh) | 数据库字段动态扩展方法、装置、设备及存储介质 | |
US11520834B1 (en) | Chaining bloom filters to estimate the number of keys with low frequencies in a dataset | |
Zhao et al. | Tod: Gpu-accelerated outlier detection via tensor operations | |
US20150134660A1 (en) | Data clustering system and method | |
KR20240050268A (ko) | 스파크 오픈 소스 프레임워크 기반 유전체 데이터 처리 장치 및 방법 | |
CN114443783A (zh) | 一种供应链数据分析和增强处理方法及装置 | |
Khashan et al. | An adaptive spark-based framework for querying large-scale NoSQL and relational databases | |
Papanikolaou | Distributed algorithms for skyline computation using apache spark | |
Zerabi et al. | External clustering validation in big data context |