KR20210091126A - Fpga 기반 리시퀀싱 분석 방법 및 장치 - Google Patents

Fpga 기반 리시퀀싱 분석 방법 및 장치 Download PDF

Info

Publication number
KR20210091126A
KR20210091126A KR1020217010322A KR20217010322A KR20210091126A KR 20210091126 A KR20210091126 A KR 20210091126A KR 1020217010322 A KR1020217010322 A KR 1020217010322A KR 20217010322 A KR20217010322 A KR 20217010322A KR 20210091126 A KR20210091126 A KR 20210091126A
Authority
KR
South Korea
Prior art keywords
resequencing
fpga
data
task
result
Prior art date
Application number
KR1020217010322A
Other languages
English (en)
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 엠쥐아이 테크 컴퍼니 엘티디.
Publication of KR20210091126A publication Critical patent/KR20210091126A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30123Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • 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
    • G16B20/20Allele or variant detection, e.g. single nucleotide polymorphism [SNP] detection
    • 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
    • G16B40/00ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding

Abstract

본 개시는 FPGA 기반 리시퀀싱 분석 방법 및 장치를 제시된다. 상기 방법은, 게놈 리시퀀싱 데이터를 수신하는 단계와, 상기 리시퀀싱 데이터를 FPGA 입력으로 사용하고, 상기 FPGA 출력에 따라 상기 리시퀀싱 프로세스에서 비교 결과를 결정하고, 동시에 상기 비교 결과에 대한 분류 및 중복 제거 작업을 수행하는 단계와, 분류 및 중복 제거 프로세싱 후에 상기 비교 결과의 기본 품질 값을 교정하는 단계와, 그리고 상기 교정된 비교 결과에 따라 변이 결과를 검출하는 단계를 포함한다. 전술한 방법은 프로그램 실행 시간을 줄이고, 계산 비용을 절감하며, 리시퀀싱 효율을 개선할 수 있다.

Description

FPGA 기반 리시퀀싱 분석 방법 및 장치
본 개시는 바이오인포매틱스 분석 기술 분야에 관한 것으로, 특히 FPGA (Field-Programmable Gate Array) 기반 리시퀀싱 분석 방법 및 장치에 관한 것이다.
차세대 유전자 시퀀싱 기술의 출현으로, 유전자 시퀀싱 비용이 급격하게 하락하였고 시퀀싱 데이터의 가용성이 향상되었다. 게놈의 변이 검출 및 상관 연구는 의료 분야의 발전을 촉진할 것이다. 그러나, 인간 게놈은 30억개 이상의 염기 쌍으로 구성되는 데, 그 수가 상대적으로 크다. 따라서, 인간 게놈을 시퀀싱하고 분석하기 위해서는, 높은 컴퓨팅 능력, 저장 용량 및 네트워크 대역폭이 요구된다.
종래 기술에서, 리시퀀싱 분석은 시퀀싱 시퀀스 정렬 및 변이 검출을 포함하고, 시퀀싱 시퀀스 정렬은 동적 시드-앤-익스텐드(seed-and-extend) 알고리즘을 사용한다. 초기 시드 길이에 의하여 얻어진 정렬 위치(alignment position)의 수가 소정의 고정 값을 초과하는 경우, 시드 길이가 증가하여 보다 적은 수의 정렬 위치를 얻게 된다. 이후, 스미스-워터맨(Smith-Waterman) 알고리즘을 이용하여 정렬하고, 다중 스레드(thread)를 이용하여 변이를 검출한다.
그러나, 위에서 언급한 방법은 그 단계들이 순차적으로(serially) 수행되기 때문에 실행 효율 및 분석 속도가 낮다는 문제점이 있다.
본 개시는 실시예를 통하여 프로그램 실행 시간 및 계산 비용을 절약하고 리시퀀싱 효율을 개선함으로써, 종래 기술의 낮은 실행 효율 및 느린 분석 속도의 기술적 문제점을 해결할 수 있는 FPGA(Field-Programmable Gate Array) 기반 리시퀀싱 분석 방법 및 장치를 제시한다.
일 측면에서, 본 개시는 FPGA 기반 리시퀀싱 분석 방법을 실시예를 통하여 제시하는 데, 상기 방법은 게놈 리시퀀싱 데이터를 수신하는 단계와, 상기 게놈 리시퀀싱 데이터를 FPGA의 입력으로 사용하고, FPGA 출력에 따라 리시퀀싱 프로세스에서 정렬 결과를 결정하고, 동시에 상기 정렬 결과를 분류하고 중복 제거하는 단계와, 분류 및 중복 제거된 정렬 결과를 기본 품질 값에 따라 교정하는 단계와, 그리고 교정된 정렬 결과에 기초하여 변이 결과를 검출하는 단계를 포함한다.
본 개시의 실시예에 따르면, FPGA 기반 리시퀀싱 분석 방법은 게놈 리시퀀싱 데이터를 수신하고, 상기 게놈 리시퀀싱 데이터를 FPGA 입력으로 사용하고, FPGA 출력에 따라 리시퀀싱 프로세스에서 정렬 결과를 결정하고, 동시에 상기 정렬 결과를 분류 및 중복 제거하고, 분류 및 중복 제거된 정렬 결과를 기본 품질 값에 따라 교정하고, 교정된 결과에 기초하여 변이 결과를 검출한다. 본 개시의 실시예에서, 정렬, 분류 및 중복 제거 프로세스를 병렬로 수행하여 프로그램 실행 시간 및 계산 비용을 절약하고 리시퀀싱 효율을 개선할 수 있다.
다른 측면에서, 본 개시는 실시예를 통하여 FPGA 기반 리시퀀싱 분석 장치를 제시하는 데, 상기 분석 장치는 게놈 리시퀀싱 데이터를 수신하도록 구성된 수신 모듈과, 상기 리시퀀싱 데이터를 FPGA의 입력으로 사용하고, FPGA 출력에 기초하여 리시퀀싱 프로세스에서 정렬 결과를 결정하고, 동시에 상기 정렬 결과를 분류 및 중복 제거하도록 구성된 프로세싱 모듈과, 분류 및 중복 제거된 정렬 결과를 기본 품질 값에 따라 교정하도록 구성된 교정 모듈과, 그리고 교정된 정렬 결과에 기초하여 변이 결과를 검출하도록 구성된 검출 모듈을 포함한다.
본 개시의 실시예에 따르면, FPGA 기반 리시퀀싱 분석 장치는 게놈 리시퀀싱 데이터를 수신하고; 상기 게놈 리시퀀싱 데이터를 FPGA의 입력으로 사용하고, FPGA 출력에 기초하여 리시퀀싱 프로세스에서 정렬 결과를 결정하고, 동시에 상기 정렬 결과를 분류 및 중복제거하고; 분류 및 중복 제거된 결과를 기본 품질 값에 따라 교정하고; 그리고 교정된 정렬 결과에 기초하여 변이 결과를 검출한다. 본 개시의 실시예에서, 정렬, 분류 및 중복 제거 과정을 병렬로 수행하여 프로그램 실행 시간 및 계산 비용을 절약하여 리시퀀싱 효율을 향상시킬 수 있다.
또 다른 측면에서, 본 개시는 실시예에서 컴퓨터 장치를 제공하는 데, 상기 컴퓨터 장치는 메모리, 프로세서, 및 상기 메모리에 저장되고 상기 프로세서에 의해 실행가능한 컴퓨터 프로그램을 포함하고, 상기 컴퓨터 프로그램은, 상기 프로세서에 의하여 실행되는 경우, 본 개시의 전술한 실시예에 따른 FPGA 기반 리시퀀싱 분석 방법을 구현한다.
또 다른 측면에서, 본 개시는 실시예를 통하여 컴퓨터 판독 가능 명령어를 저장하는 컴퓨터 판독 가능 저장 매체를 제시하고, 상기 컴퓨터 판독 가능 명령어는 컴퓨터가 본 개시의 전술한 실시예에 따른 FPGA 기반 리시퀀싱 분석 방법을 수행하게 한다.
본 개시의 추가적인 측면과 장점은 다음의 설명을 통하여 일부 제공되며, 일부는 이하의 설명을 통해 명백해지거나 본 개시의 실시를 통하여 이해될 것이다.
이하, 본 개시의 실시예를 보다 명확히 설명하기 위하여 실시예에서 사용되는 도면을 간략히 소개한다.
도 1은 본 개시의 제1 실시예에 따른 FPGA 기반 리시퀀싱 분석 방법을 도시한 흐름도이다.
도 2는 본 개시의 제2 실시예에 따른 FPGA 기반 리시퀀싱 분석 방법을 도시한 흐름도이다.
도 3은 본 개시의 실시예에 따른 FPGA 기반 리시퀀싱 분석 시스템을 나타낸 제1 개략도이다.
도 4는 본 개시의 실시예에 따른 핑퐁 버퍼링 기술(ping-pong buffering technology)을 이용한 가속을 나타낸 개략도이다.
도 5는 본 개시의 실시예에 따른 FPGA 기반 리시퀀싱 분석 시스템을 나타낸 제2 개략도이다.
도 6은 본 개시의 실시예에 따른 동작 타이밍 시퀀스의 개략도이다.
도 7은 본 개시의 실시예에 따른 FPGA 기반 리시퀀싱 분석 시스템을 나타낸 제3 개략도이다.
도 8은 본 개시의 제3 실시예에 따른 FPGA 기반 리시퀀싱 분석 방법을 나타낸 흐름도이다.
도 9는 본 개시의 제4 실시예에 따른 FPGA 기반 리시퀀싱 분석 장치를 나타낸 개략도이다.
도 10은 본 개시의 제5 실시예에 따른 FPGA 기반 리시퀀싱 분석 장치를 나타낸 개략도이다.
이하, 본 개시의 실시예를 상세히 설명한다. 동일 또는 유사한 구성 요소와, 동일 또는 유사한 기능을 갖는 구성 요소는 명세서 전반에서 동일 또는 유사한 참조 번호로 표시된다. 도면을 참조하여 설명되는 실시예는 예시적인 것이며, 본 개시를 일반적으로 이해하도록 설명하는 데 이용된다. 본 개시의 실시예는 본 개시를 제한하는 것으로 해석될 수 없다.
이하, 도면을 참조하여 본 개시의 실시예에 따른 FPGA 기반 리시퀀싱 분석 방법 및 장치를 설명한다. 본 개시의 실시예를 상세히 설명하기 앞서, 이해를 돕기 위하여 일반적인 기술 용어를 먼저 정의한다.
FPGA(Field-Programmable Gate Array, 필드 프로그램 가능 게이트 어레이)는 로직 어레이 모듈, 임베디드 메모리 모듈, 및 디지털 신호 프로세서(약칭, DSP) 모듈을 연결하는 프로그램 가능한 배선(wiring) 네트워크를 포함하는 구성 가능한 집적 회로이며, 프로그램 명령어 처리를 위한 중앙 처리 장치(CPU) 및 그래픽 처리 장치(GPU)의 데이터 경로와 토폴로지는 고정되어 있다. 또한, FPGA 리소스는 데이터 처리를 위한 사용자 지정 명령어 파이프 라인(customized instruction pipeline)을 설정하도록 구성 및 연결될 수 있고, 그로 인한 시스템 구성은 많은 컴퓨팅 문제를 효율적으로 해결할 수 있다. 또한, 잘 개발되고 대규모로 사용되는 애플리케이션은 좀더 빠르지만 덜 유연한 ASIC(Application Specific Integrated Circuit, 응용 주문형 집적 회로) 설계의 기반 및 검증으로서 FPGA에 의존할 수 있다.
리시퀀싱은 알려진 게놈 시퀀스를 갖는 종의 다른 개체의 각 게놈을 시퀀싱하는 것으로 의미하고, 이를 기반으로 개인 또는 집단 간의 변이를 분석한다. 다수의 단일 염기 변형(single nucleotide polymorphism, SNP) 사이트와 삽입 및 제거 사이트는 각 개인의 시퀀스된 게놈에서 변이 검출을 통하여 결정될 수 있다.
도 1은 본 개시의 제1 실시예에 따른 FPGA 기반 리시퀀싱 분석 방법을 나타낸 흐름도이다.
본 개시의 실시예에서, FPGA 기반 리시퀀싱 분석 장치에서 구현되는 FPGA 기반 리시퀀싱 분석 방법을 예로 들어 설명한다. FPGA 기반 리시퀀싱 분석 장치는 FPGA 기반 리시퀀싱 분석을 수행할 수 있는 어떠한 컴퓨터 장치에서도 구현 가능하다.
도 1에 도시된 바와 같이, FPGA 기반 리시퀀싱 분석 방법은 다음의 단계 101 내지 단계 104를 포함한다.
단계 101에서, 게놈 리시퀀싱 데이터를 수신한다.
본 개시의 실시예에서, 게놈 리시퀀싱 데이터는 기본 게놈 리시퀀싱 데이터 및 상기 기본 게놈 리시퀀싱 데이터를 설명하는 파라미터 정보를 포함한다.
선택적으로, 게놈 리시퀀싱 데이터는 미리 설정된 파일에 미리 기록되어 게놈이 리시퀀싱될 때 판독될 수 있는데, 이로써 미리 설정된 파일에 기초하여 리시퀀싱 데이터를 획득할 수 있다.
또한, 미리 설정된 파일은 일반적으로 압축 파일, 예컨대 gz와 같은 형식으로 저장된다. 따라서, 미리 설정된 파일은 판독 전에 압축 해제될 수도 있다.
단계 102: 게놈 리시퀀싱 데이터를 FPGA 입력으로 사용하고, FPGA 출력에 기초하여 리시퀀싱 프로세스에서 정렬 결과를 결정하며, 동시에 정렬 결과를 분류 및 중복 제거한다.
본 개시의 실시예에서, 게놈 리시퀀싱 데이터를 참조 게놈에 정렬하여, 정렬 위치와 같은 정보를 획득할 수 있다. 그 다음, 획득된 정보를 FPGA로 전송하여 계산을 수행하여 정렬 결과를 획득할 수 있다. 가능한 구현 방법으로, FPGA 병렬 처리 특성을 이용하여, 게놈 리시퀀싱 데이터를 고정 길이를 갖는 복수 개의 게놈 리시퀀싱 데이터 서브 셋(subset)으로 분할하고, 고정 길이의 복수 개의 게놈 리시퀀싱 데이터 서브 셋을 참조 게놈에 병렬로 정렬하여 복수 개의 정렬 결과 서브 셋을 얻고, 복수 개의 정렬 하위 결과의 서브 셋을 결합하여 정렬 결과를 획득함으로써, 정렬 효율을 높일 수 있다.
정렬 결과를 획득한 경우, 정렬 결과는 참조 게놈의 정렬 위치에 따라 동시에 정렬될 수 있고, 동일한 위치에 정렬된 게놈 리시퀀싱 데이터는 중복 제거될 수 있다. 그 이유는, 중복 게놈 리시퀀싱 데이터는 배열 깊이(sequencing depth)와 같은 정렬의 비교 평가에 영향을 미치고, 결국 변이 검출에서 거짓 양성(false positive)을 야기할 수 있기 때문이다. 따라서, 동일 위치에 정렬된 게놈 리시퀀싱 데이터는 중복 제거될 수 있다.
선택적으로, 바이오인포매틱스 소프트웨어 및 정렬 스크립트를 호출함으로써 게놈 리시퀀싱 데이터를 정렬하여, 리시퀀싱 프로세스에서 정렬 결과를 결정할 수 있다. 그 다음, 정렬 결과는 바이오인포매틱스 소프트웨어와 분류 및 중복 제거 스크립트를 사용하여 분류 및 중복 제거되어, 분류 및 중복 제거된 정렬 결과를 결정할 수 있다. 바이오인포매틱스 소프트웨어는 BuildAlignerIndex, Alignment, SortMarkDup, BuildBQSRIndex, BQSR, HaplotypeCaller 등을 포함한다.
예컨대, 게놈 리시퀀싱 데이터는 33 내지 160 bp 길이의 양단 짧은 읽기(paired-end short reads) 정렬을 지원하는 FPGA 가속 고성능 DNA 배열 조정 소프트웨어를 사용하여 정렬될 수 있다. 정렬 결과는 파이프의 입력 및 출력을 지원하는 다중 스레드 가속 고성능(multi-thread-accelerated high-performance) 분류 및 중복 제거 소프트웨어를 사용하여 분류 및 중복 제거될 수 있으며, 이로써 분류 및 중복 제거 효율을 높일 수 있다.
본 개시의 실시예에서, 정렬, 분류 및 중복 제거 프로세스는 병렬로 수행될 수 있으며, 이로써 프로그램 실행 시간 및 계산 비용을 절약하여 리시퀀싱 효율을 향상시킬 수 있다.
단계 103에서, 분류 및 중복 제거된 정렬 결과는 기본 품질 값에 따라 교정된다.
본 개시의 실시예에서, 기본 품질 값에 따라 정렬 결과를 현실에 가깝게 만들고 참조 게놈과의 불일치 가능성을 줄이기 위해, 분류 및 중복 제거된 정렬 결과는 기본 품질 값에 따라 교정될 수 있는 데, 예컨대 분류 및 중복 제거된 정렬 결과는 게놈 리시퀀싱 데이터 내의 기본 품질 값에 따라 교정될 수 있다.
선택적으로, 바이오인포매틱스 소프트웨어 및 기본 품질 값 교정 스크립트를 호출하여, 분류 및 중복 제거된 정렬 결과를 기본 품질 값에 따라 교정하여, 교정된 정렬 결과를 얻을 수 있다. 예컨대, 분류 및 중복 제거된 정렬 결과는 파이프의 입력 및 출력을 지원하는 멀티-스레드-가속 고성능 품질 값 교정 소프트웨어를 사용하여 기본 품질 값에 따라 교정될 수 있으며, 이로써 교정 효율을 향상시킬 수 있다.
단계 104에서, 교정된 정렬 결과에 기초하여 변이 결과를 검출한다.
본 개시의 실시예에서, 변이 결과 검출은 단일 염기 다형성(single nucleotide polymorphism, SNP) 사이트 검출 및 삽입 및 제거 사이트 검출을 포함한다. 변이 결과는 교정된 정렬 결과 및 관련 정보에 기초하여 검출될 수 있다.
선택적으로, 바이오인포매틱스 소프트웨어 및 변이 검출 스크립트를 호출하여 교정된 정렬 결과에 기초하여 변이 결과를 검출하여, 검출 결과를 결정할 수 있다. 예컨대, FPGA 가속 고성능 변이 검출 소프트웨어를 사용하여 교정된 정렬 결과에 기초하여 변이 결과를 검출하여 변이 검출 결과를 얻을 수 있고, 그 결과 변이 검출 효율을 향상시킬 수 있다.
본 개시의 실시예에 따라, FPGA 기반 리시퀀싱 분석 방법은 게놈 리시퀀싱 데이터를 수신하고; 상기 게놈 리시퀀싱 데이터를 FPGA 입력으로 사용하고, FPGA 출력에 기초하여 리시퀀싱 프로세스에서 정렬 결과를 결정하고, 동시에 정렬 결과를 분류 및 중복 제거하고; 분류 및 중복 제거된 정렬 결과를 기본 품질 값에 따라 교정하고; 그리고 교정된 정렬 결과에 기초하여 변이 결과를 검출한다. 본 개시의 실시예에서, 정렬, 분류 및 중복 제거 프로세스는 병렬로 실행되어 프로그램 실행 시간 및 계산 비용을 절약하여, 리시퀀싱 효율을 향상시킬 수 있다.
가능한 구현 방법으로, 게놈 리시퀀싱 데이터를 수신한 후에, 대해 미리 설정된 길이의 시퀀스에 기초하여 게놈 리시퀀싱 데이터에 대한 해시-계산 (hash-calculation)을 추가로 수행하고, 해시-계산된 게놈 리시퀀싱 데이터를 FPGA의 입력으로 사용할 수 있다. 따라서, 참조 게놈에서 정렬 위치를 빠르게 찾을 수 있고, 이로써 메모리에 대한 임의 액세스를 줄이고 정렬 효율을 향상시킬 수 있다.
상기 실시예를 보다 명확하게 설명하기 위하여, 본 개시는 또 다른 FPGA 기반 리시퀀싱 분석 방법의 실시예를 제시한다.
도 2는 본 개시의 제2 실시예에 따른 FPGA 기반 리시퀀싱 분석 방법을 나타내는 흐름도이다.
도 2에 도시된 바와 같이, FPGA 기반 리시퀀싱 분석 방법은 다음의 단계 201 내지 단계 207을 포함한다.
단계 201에서, 게놈 리시퀀싱 데이터를 수신하고, 게놈 리시퀀싱 데이터는 기본 게놈 리시퀀싱 데이터와 기본 게놈 리시퀀싱 데이터를 설명하는 파라미터 정보를 포함한다.
예컨대, 도 3을 참고하면, 도 3은 본 개시의 실시예에 따른 FPGA 기반 리시퀀싱 분석 시스템을 도시한 제1 개략도이다. 리시퀀싱 분석 시스템은 태스크 스케줄링 유닛(1), 분석 유닛(2), 및 결과 생성 유닛(3)을 포함한다. 태스크 스케줄링 유닛(1)은 기본 게놈 리시퀀싱 데이터 및 기본 게놈 리시퀀싱 데이터를 설명하는 파라미터 정보를 수신하도록 구성된다.
단계 202에서, 정렬 결과를 입력하는 제1 태스크와, 정렬 결과를 분류 및 중복 제거하는 제2 태스크를 기본 게놈 리시퀀싱 데이터 및 기본 게놈 리시퀀싱 데이터를 설명하는 파라미터 정보에 기초하여 결정한다.
본 개시의 실시예에서, 정렬, 분류 및 중복 제거 프로세스는 병렬로 수행될 수 있으며, 이로써 프로그램 실행 시간 및 계산 비용을 절감하여 리시퀀싱 효율을 향상시킬 수 있다. 따라서, 게놈 리시퀀싱 데이터가 수신되면, 정렬 결과를 입력하는 제1 태스크 및 정렬 결과를 분류 및 중복 제거하는 제2 태스크는 모두 기본 게놈 리시퀀싱 데이터 및 게놈 리시퀀싱 데이터를 설명하는 파라미터 정보에 기초하여 병렬로 결정될 수 있다.
예컨대, 도 3을 참조하면, 태스크 스케줄링 유닛(1)은 기본 게놈 리시퀀싱 데이터 및 기본 게놈 리시퀀싱 데이터를 설명하는 파라미터 정보에 기초하여 정렬 결과를 입력하는 제1 태스크 및 정렬 결과를 분류 및 중복 제거하는 제2 태스크 모두를 결정하도록 구성될 수 있다. 그 다음, 제1 태스크 및 제2 태스크는 분석 유닛(2)으로 전송될 수 있는데, 이는 스케줄링된 프로세스(process-scheduled)이다. 예컨대, 분석 유닛(2)은 바이오인포매틱스 소프트웨어 및 시스템 스케줄링 스크립트를 사용하여 스케줄링에 따라 프로세스(process-scheduled)될 수 있다.
단계 203에서, 제1 태스크에 대응하는 제1 스레드와 제2 태스크에 대응하는 제2 스레드가 FPGA 및 CPU로부터 각각 할당될 수 있다.
본 개시의 실시예에서, 제1 태스크 및 제2 태스크가 결정된 후에, 제1 태스크에 대응하는 제1 스레드와 제2 태스크에 대응하는 제2 스레드는 FPGA 및 CPU로부터 각각 할당될 수 있다.
단계 204에서, 제1 태스크에 대응하는 제1 스레드와 제2 태스크에 대응하는 제2 스레드는 병렬로 시작 및 실행하여, 각 스레드를 통하여 게놈 리시퀀싱 데이터를 호출할 수 있다.
본 개시의 실시예에서, 제1 태스크에 대응하는 제1 스레드와 제2 태스크에 대응하는 제2 스레드가 결정된 후에, 제1 스레드와 제2 스레드를 병렬로 시작 및 실행하여, 각 스레드를 통하여 게놈 리시퀀싱 데이터를 호출하여, 정렬, 분류 및 중복 제거할 수 있다.
단계 205에서, 리시퀀싱 프로세스에서 정렬 결과는 제1 태스크에 대응하는 제1 스레드의 출력 결과를 통하여 결정되고, 정렬 결과는 제2 태스크에 대응하는 제2 스레드의 출력 결과를 통하여 분류 및 중복 제거된다.
본 개시의 실시예에서, 게놈 리시퀀싱 데이터가 제1 태스크에 대응하는 제1 스레드를 통하여 호출된 후에, 리시퀀싱 프로세스에서 정렬 결과는 제1 태스크에 대응하는 제1 스레드의 출력 결과에 기초하여 결정될 수 있다. 가능한 구현 방법으로, 제1 태스크에 대응하는 제1 스레드는 타켓 정렬 위치를 결정하도록 구현되고, 기본 게놈 리시퀀싱 데이터에서 중복된 염기 쌍에 대한 정렬은 타겟 정렬 위치에 따라 트리거되며, 중복 염기 쌍의 정렬 결과가 리시퀀싱 프로세스에서 정렬 결과로 사용될 수 있다. 예컨대, 도 3을 참조하면, 분석 유닛(2)은 바이인포매틱스 소프트웨어 및 정렬 스크립트를 프로세스 호출(process-calling)하고, 소프트웨어를 가속하며, 제1 태스크에 대응하는 제1 스레드를 FPGA로부터 호출함으로써 게놈 리시퀀싱 데이터를 분석하여 정렬 결과를 결정하도록 구성될 수 있다.
본 개시의 실시예에서, 정렬 결과는 분류 및 중복 제거를 위한 제2 태스크에 대응하는 제2 스레드를 통하여 호출될 수 있다. 예컨대, 도 3을 참조하면, 분석 유닛(2)은 바이오인포매틱스 소프트웨어와 분류 및 중복 제거 스크립트를 프로세스 호출하고, 소프트웨어를 가속하며, 제2 태스크에 대응하는 제2 스레드를 CPU로부터 호출함으로써 정렬 결과를 분류 및 중복 제거하도록 구성될 수 있다.
단계 206에서, 분류 및 중복 제거된 정렬 결과는 기본 품질 값에 따라 교정될 수 있다.
단계 207에서, 교정된 정렬 결과에 기초하여 변이 결과를 검출한다.
예컨대, 도 3을 참조하면, 분석 유닛(2)은 바이오인포매틱스 소프트웨어 및 기본 품질 값 교정 스크립트를 프로세스 호출함으로써 기본 품질 값에 따라 분류 및 중복 제거된 정렬 결과를 교정하도록 구성될 수 있다. 또한, 분석 유닛(2)은 바이오인포매틱스 소프트웨어 및 변이 검출 스크립트를 프로세스 호출하여 교정된 정렬 결과에 기초하여 변이를 검출하여 변이 검출 결과를 결정하도록 구성될 수 있다.
또한, 도 3을 참조하면, 변이 검출 결과를 획득한 후에, 결과 생성 유닛(3)은, 태스크 스케줄링 유닛(1)에 의해 전송되는 기본 게놈 리시퀀싱 데이터를 설명하는 파라미터 정보에 기초하여, 변이 검출 결과를 분석 유닛(2)으로부터 지정된 위치로 전송하도록 구성된다.
본 개시의 실시예에서, 바이오인포매틱스 소프트웨어 및 개인화된 분석 스크립트를 호출하고, 소프트웨어를 가속하며, FPGA로부터 리소스를 호출함으로써 게놈 리시퀀싱 데이터를 분석하여, 게놈 리시퀀싱 효율을 향상 시킨다.
가능한 구현 방법으로, 타겟 정렬 위치는 핑퐁 버퍼링 기술을 사용하여 캐싱될(cached) 수 있다. 예컨대, 도 4를 참조하면, 도 4는 본 개시의 실시예에 따라 핑퐁 버퍼링 기술을 사용한 가속을 도시한 개략도이다. FPGA의 전역 메모리(global memory)에서 데이터는 핑퐁 버퍼링 기술을 사용하여 캐싱된다. 그 이유는, FPGA의 전역 메모리에서 CPU에 의한 읽기/쓰기 동작은 FPGA 커넬 모듈에 의한 계산 동작과 병렬로 수행될 수 있기 때문이며, 실행 효율을 개선할 수 있다.
“전역 메모리 쓰기 → 커넬 실행 → 전역 메모리 읽기”의 전통적인 직렬 실행 모드를 사용하는 경우, FPGA 계산 모듈은 일정 시간 동안 입/출력(I/O)을 기다리는 상태로 있게 되어, 실행 효율이 낮아 진다. 따라서, 핑퐁 버퍼링 기술을 사용하여 FPGA 전역 메모리에 데이터(예컨대, 타켓 정렬 위치)를 캐싱하는 경우, FPGA의 계산 모듈을 항상 효율적인 상태로 유지하고 단일 태스크의 복수 개의 서브 태스크를 파이프 라인에서 실행할 수 있기 때문에, 태스크의 병렬 처리(parallel execution)가 가능해 진다. 예컨대, 도 4를 참조하면, 캐시 1으로부터 판독 및 출력되는 태스크 T1, 캐시 2에 의하여 데이터가 계산되는 태스크 T2, 및 캐시 1에 기록 및 입력되는 태스크 T3은 타임 슬라이스 C3에서 동시에 수행된다.
예컨대, 도 5를 참조하면, 도 5는 본 개시의 실시예에 따라 FPGA 기반 리시퀀싱 분석 시스템을 도시한 제2 개략도이다. FPGA 기반 리시퀀싱 분석 시스템은 정렬 모듈(4), 분류 및 중복 제거 모듈(5), 기본 품질 값 기반 교정 모듈(6), 및 변이 검출 모듈(7)을 포함한다.
정렬 모듈(4)은 수신된 게놈 리시퀀싱 데이터를 참조 게놈에 정렬하고; 정렬된 데이터를 FPGA로 전달하여 계산을 수행하게 하여 정렬 결과를 얻도록 구성되는 데, 정렬 결과는 SAM 형식 파일로 저장된다.
분류 및 중복 제거 모듈(5)은 정렬 위치에 따라 정렬 모듈(4)로부터의 데이터 출력을 분류하고; 중복 데이터를 마크 및 필터링하도록 구성된다. 분류 및 중복 제거된 정렬 결과는 BAM 형식 파일로 저장될 수 있다.
기본 품질 값 기반 교정 모듈(6)은 기본 품질 값에 따라 분류 및 중복 제거 모듈(5)로부터 출력된 데이터를 교정하도록 구성된다. 교정된 정렬 결과는 BAM 형식 파일로 저장될 수 있다.
변이 검출 모듈(7)은 바이오인포매틱스 소프트웨어 및 분석 스크립트를 호출하여 기본 품질 값 기반 교정 모듈(6)로부터 출력된 데이터에 기초하여 변이 결과를 검출하도록 구성된다. 변이 결과 검출은 SNP 사이트 검출 및 삽입 및 제거 사이트 검출을 포함한다. 변이 검출 결과는 VCF 또는 gVCF 형식 파일로 저장될 수 있다.
도 6을 참조하면, 도 6은 본 개시의 실시예에 따른 동작 타이밍 시퀀스의 개략도이다. 도 6에서, Fatq 파일이 입력되고, 전체 계산 프로세스는 인접 단계 간에 데이터 계산 모드를 조정하고 해당 입력 및 출력 버퍼를 추가함으로써 파이프라인 구조로서 최적화된다.
구체적으로, 정렬 모듈은, 프로그램 시작과 함께 실행되고, 입력 파일에서 게놈 리시퀀싱 데이터를 참조 게놈에 정렬하여 정렬 결과를 얻고, 그 정렬 결과는 분류 및 중복 제거 모듈로 출력하도록 구성된다.
분류 및 중복 제거 모듈은, 정렬 모듈과 동시에 실행되고, 정렬 위치에 따라 정렬 모듈로부터 출력된 데이터를 분류하고, 중복 데이터를 마크 및 필터링하도록 구성된다.
기본 품질 값 기반 교정 모듈은, 정렬 모듈에서 정렬이 완료된 후에 분류 및 중복 제거 모듈과 동시에 실행되고, 기본 품질 값에 따라 분류 및 중복 제거 모듈로부터 출력된 데이터를 교정하도록 구성된다.
변이 검출 모듈은 바이오인포매틱스 소프트웨어 및 분석 스크립트를 호출하여 기본 품질 값 기반 교정 모듈로부터 출력되는 데이터에 기초하여 변이 결과를 검출하도록 구성된다. 변이 결과 검출은 SNP 사이트 검출과, 삽입 및 제거 사이트 검출을 포함한다.
본 개시의 실시예에서, 게놈 리시퀀싱 분석은 바이오인포매틱스 소프트웨어 및 분석 스크립트를 프로세스 호출하여 가속되고, 이로써 게놈 리시퀀싱 효율을 향상시킨다.
본 실시예는 도 7을 참조하여 설명하고, 도 7은 본 개시의 실시예에 따른 FPGA 기반 리시퀀싱 분석 시스템을 도시한 제3 개략도이다.
CPU 측은 입력 파일(Fastq)을 읽고, 계산에 필요한 데이터를 메모리에 저장하고, 메모리에 있는 데이터를 버스 및 인터페이스 표준을 통하여 FPGA의 전역 메모리로 전달한다. FPGA에서, 입력 데이터는 처리 및 정렬되고, 그 결과는 전역 메모리에 기록, 출력, 및 저장된다. 그 다음, FPGA는 처리된 데이터를 후속 처리를 위하여 버스 및 인터페이스 표준에 따라 CPU 측 메모리로 전송하고, SAM 형식 파일로 출력한다.
본 개시의 실시예에서, 게놈 리시퀀싱 데이터는 CPU 및 FPGA의 독자적 구성으로 인해 고속으로 정렬되고, CPU는 멀티-스레드 기술을 통하여 데이터의 전처리 및 후처리를 병렬로 진행하고, FPGA는 채널과 연결된 다중 기능 모듈을 사용하여 세분화된 파이프라인(fine-grained pipeline) 프로세싱을 수행한다.
가능한 구현 방법으로, I/O 읽기 및 쓰기 동작을 압축/압축 해제 동작으로부터 분리할 수 있다. 압축/압축 해제 동작은 루프 캐싱(loop caching) 및 멀티-스레드를 사용하여 동시에 계산될 수 있고, 이로써 게놈 리시퀀싱 효율을 향상시킬 수 있다.
도 8을 참조하면, 도 8은 본 개시의 제3 실시예에 따른 FPGA 기반 리시퀀싱 분석 방법을 도시하는 흐름도이다.
도 8에서 도시된 바와 같이, FPGA 기반 리시퀀싱 분석 방법은 다음 단계를 포함한다.
단계 300: 태스크를 시작한다.
단계 301: 프로그램을 호출하고, 파라미터를 설정 및 초기화한다. 구체적으로, 모든 파라미터가 초기화된 후에, 기본 게놈 리시퀀싱 데이터 및 기본 게놈 리시퀀싱 데이터를 설명하는 파라미터 정보를 수신하는 태스크 스케줄링을 시작할 수 있다.
단계 302: 정렬 인덱스를 구성할 지 여부를 결정하고, 구성하는 경우 단계 316을 수행한다.
단계 303: 기본 품질 값에 대한 교정 인덱스를 구성할 지 여부를 결정하고, 구성하는 경우, 단계 313을 수행한다.
단계 304 또는 단계 317: 정렬할 지 여부를 결정하고, 정렬하는 경우, 단계 318을 수행한다.
단계 305: 분류 및 중복 제거할 지 여부를 결정하고, 분류 및 중복 제거하는 경우, 단계 319를 수행한다.
단계 306: 기본 품질 값에 따라 교정할 지 여부를 결정하고, 교정하는 경우, 단계 320을 수행한다.
단계 307: 정렬 결과에 대해 분류 및 중복 제거할 지 여부를 결정하고, 분류 및 중복 제거하는 경우, 단계 321을 수행한다.
단계 308: 정렬 결과를 복사할 지 여부를 결정하고, 복사하는 경우, 단계 322를 수행한다.
단계 309 또는 단계 314: 기본 품질 값에 따라 교정할 지 여부를 결정하고, 교정하는 경우, 단계 315를 수행한다.
단계 310: 기본 품질 값에 대한 교정된 결과를 복사할 지 여부를 결정하고, 복사하는 경우, 단계 323을 수행한다.
단계 311: 변이 결과를 검출할 지 여부를 결정하고, 검출하는 경우, 단계 324를 수행한다.
단계 312: 모든 프로세스가 종료될 때까지 대기한다.
단계 313: 기본 품질 값에 대한 교정 인덱스를 구성한다.
단계 315: 기본 품질 값에 따라 교정을 호출한다.
단계 316: 게놈 리시퀀싱 데이터를 참조 게놈에 빠르게 정렬하는 데 사용되는 정렬 인덱스를 구성한다.
단계 318: 정렬을 호출한다. 여기서, CPU 측이 게놈 리시퀀싱 데이터를 참조 게놈에 정렬하여 정보, 예컨대 정렬 위치를 획득하고, 획득된 데이터는 FPGA로 전송되어 정렬된다. 그리고, FPGA는 정렬된 결과를 CPU 측으로 전송한다.
단계 319: 분류 및 중복 제거를 호출한다.
단계 320: 기본 품질 값에 따라 교정을 호출하여, 정렬 결과가 기본 품질 값에 실제 가깝도록 하여 참조 게놈과의 불일치 확률을 낮춘다.
단계 321: 정렬 결과에 대한 분류 및 중복 제거를 호출하는데, 여기서 시퀀싱 단계에서 PCR에 의하여 주로 생성되는, 정렬 결과에서의 중복 읽기가 정렬 위치에 따라 필터링되고(중복 읽기는 시퀀싱 깊이와 같은 정렬의 비교 및 평가에 영향을 미치고, 결국 변이 검출에서 거짓 양성(false positive)을 야기하기 때문), 분류 및 중복 제거된 정렬 결과는 보통 BAM 형식 파일로 저장된다.
단계 322: 정렬 결과 복사본을 호출하는데, 나중에(backstage) 호출될 수도 있다.
단계 323: 기본 품질 값에 대한 교정 결과의 복사본을 호출하는데, 나중에 호출될 수 있다.
단계 324: 변이 검출을 호출한다.
단계 325: 태스크를 종료한다.
하드웨어에서, FPGA 가속기 카드 또는 GPU가 리시퀀싱 효율을 개선하기 위하여 사용될 수도 있다는 점에 유의하여야 한다. 또한, 본 개시의 FPGA 기반 리시퀀싱 분석 시스템은 다중 모듈로 구성되고, 어떠한 모듈 방법에 대한 개선, 수정 또는 대체(예컨대, bwt 알고리즘을 사용하여 전술한 정렬을 교체)도 본 개시의 보호 범위 내에 속한다. 따라서, 하드웨어-가속 bwt 알고리즘 및 전술한 정렬을 대체하는 bwt 알고리즘 모두 본 개시의 기술적 효과를 달성할 수 있다.
일 실시예로, 다음의 공개 데이터를 사용하여 테스트한다.
데이터의 웹 경로는 http://gigadb.org/dataset/100274 이다.
데이터 경로는 아래와 같다.
ftp://parrot.genomics.cn/gigadb/pub/10.5524/100001_101000/100274/CL100008589_L02_read_1.fq.gz
ftp://parrot.genomics.cn/gigadb/pub/10.5524/100001_101000/100274/CL100008589_L02_read_2.fq.gz.
관련 기술에서 BWG+GATK 프로세스는 다음과 같다.
1. 정렬, 분류 및 중복 제거
정렬 및 분류를 위한 명령어 라인은 다음과 같다.
Figure pct00001
중복 제거를 위한 명령어 라인은 다음과 같다.
Figure pct00002
인덱스 구성을 위한 명령어 라인은 아래와 같다.
Figure pct00003
2. 기본 품질 값에 따른 교정
Figure pct00004
Figure pct00005
인덱스 구성을 위한 명령어 라인은 아래와 같다.
Figure pct00006
3. 변이 검출
Figure pct00007
본 발명에 따른 프로세스는 다음과 같다.
Figure pct00008
Figure pct00009
Figure pct00010
표 1에 나타난 바와 같이, 본 개시의 방법에 의해 소요되는 실행 시간은 종래 방식 보다 20배 가량 빠르다. 표 2에서 알 수 있듯이, 본 개시의 방법에 따른 SNP 검출에서 정확도 및 민감도는 종래 기술과 기본적으로 동일한 반면, 본 개시의 방법에 따른 INDEL 검출에서 정확도는 종래 기술 보다 다소 나쁘지만, 민감도는 기본적으로 유지되는 것을 알 수 있다. 따라서, 본 개시의 방법에 따라 얻어진 전반적인 결과는 종래 방식과 동등하다.
상기 실시예를 구현하기 위하여, 본 개시는 실시예를 통하여 FPGA 기반 리시퀀싱 분석 장치를 더 제시한다.
도 9는 본 개시의 제4 실시예에 따른 FPGA 기반 리시퀀싱 분석 장치를 도시한 개략도이다.
도 9에 도시된 바와 같이, FPGA 기반 리시퀀싱 분석 장치(100)는 수신 모듈(101), 프로세싱 모듈(120), 교정 모듈(130), 및 검출 모듈(140)을 포함한다.
수신 모듈(101)은 게놈 리시퀀싱 데이터를 수신하도록 구성된다.
프로세싱 모듈(120)은 리시퀀싱 데이터를 FPGA 입력으로 사용하고, FPGA 출력에 기초하여 리시퀀싱 프로세스에서 정렬 결과를 결정하고, 동시에 정렬 결과를 분류 및 중복 제거하도록 구성된다.
교정 모듈(130)은 기본 품질 값에 따라 분류 및 중복 제거된 정렬 결과를 교정하도록 구성된다.
검출 모듈(140)은 교정된 정렬 결과에 기초하여 변이 결과를 검출하도록 구성된다.
또한, 본 개시의 가능한 구현 방법으로, 도 9에 기초하여 도 10을 참조하면, FPGA 기반 리시퀀싱 분석 장치(100)는 게놈 리시퀀싱 데이터를 수신한 후에 게놈 리시퀀싱 데이터를 미리 설정된 길이의 시퀀스에 기초하여 해시-계산하도록 구성된 계산 모듈(150)을 더 포함할 수 있다.
따라서, 프로세싱 모듈(120)은 해시-계산된 게놈 리시퀀싱 데이터를 FPGA 입력으로 사용하도록 구체적으로 구성된다.
가능한 구현 방법으로, 게놈 리시퀀싱 데이터는 기본 게놈 리시퀀싱 데이터와 기본 게놈 리시퀀싱 데이터를 설명하는 파라미터 정보를 포함한다.
FPGA 기반 리시퀀싱 분석 장치(100)는,
기본 게놈 리시퀀싱 데이터를 수신한 후, 정렬 결과를 입력하는 제1 태스크와, 정렬 결과를 분류 및 중복 제거하는 제2 태스크를 기본 게놈 리시퀀싱 데이터 및 기본 게놈 리시퀀싱 데이터를 설명하는 파라미터 정보에 기초하여 결정하도록 구성된 결정 모듈(160); 및
FPGA로부터 제1 태스크에 대응하는 제1 스레드와, CPU로부터 제2 태스크에 대응하는 제2 스레드를 할당하도록 구성된 할당 모듈(170)을 더 포함할 수 있다.
가능한 구현 방법으로, 프로세싱 모듈(120)은;
제1 태스크에 대응하는 제1 스레드와 제2 태스크에 대응하는 제2 스레드를 병렬로 시작 및 수행하여, 각 스레드를 통하여 게놈 리시퀀싱 데이터를 호출하도록 구성된 시작 및 실행 유닛(121); 및
제1 태스크에 대응하는 제1 스레드의 출력 결과를 통하여 리시퀀싱 프로세스에서 정렬 결과를 결정하고, 동시에 제2 태스크에 대응하는 제2 스레드의 출력 결과를 통하여 정렬 결과를 분류 및 중복 제거하도록 구성된 결정 및 프로세싱 유닛(122)을 포함한다.
가능한 구현 방법으로, 결정 및 프로세싱 유닛(122)은 구체적으로, 제1 태스크에 대응하는 제1 스레드를 실행하여 타겟 정렬 위치를 결정하고; 타겟 정렬 위치에 따라 기본 게놈 리시퀀싱 데이터에서 중복된 염기 쌍에 대한 정렬을 트리거하고; 그리고, 중복된 염기 쌍의 정렬 결과를 리시퀀싱 프로세스에서 정렬 결과로 사용하도록 구성될 수 있다.
가능한 구현 방법으로, 결정 및 프로세싱 유닛(122)은 핑퐁 버퍼링 기술을 사용하여 타겟 정렬 위치를 캐싱하도록 추가로 구성될 수 있다.
실시예를 통하여 제시된 FPGA 기반 리시퀀싱 분석 방법에 대한 설명 및 예시는 후술할 실시예의 FPGA 기반 리시퀀싱 분석 장치(100)에도 적용될 수 있으며, 반복하여 설명하지 않는 다는 점에 유의하여야 한다.
본 개시의 실시예에 따르면, FPGA 기반 리시퀀싱 분석 장치는 게놈 리시퀀싱 데이터를 수신하고; 게놈 리시퀀싱 데이터를 FPGA 입력으로 사용하고, FPGA 출력에 기초하여 리시퀀싱 프로세스에서 정렬 결과를 결정하고, 동시에 정렬 결과를 분류 및 중복 제거하고; 분류 및 중복 제거된 정렬 결과를 기본 품질 값에 따라 교정하고; 그리고 교정된 정렬 결과에 기초하여 변이 결과를 검출한다. 본 개시의 실시예에서, 정렬, 분류 및 중복 제거 프로세스는 병렬로 실행되어 프로그램 실행 시간 및 계산 비용을 절감하고, 이로써 리시퀀싱 효율을 개선할 수 있다.
상기 실시예를 구현하기 위하여, 본 개시는 실시예에서 컴퓨터 장치를 제시하는 데, 컴퓨터 장치는 메모리; 프로세서; 및 메모리에 저장되고 프로세서에 의하여 실행되는 컴퓨터 프로그램을 포함하고, 컴퓨터 프로그램은, 프로세서에 의하여 실행되는 경우, 본 개시의 전술한 실시예에 따른 FPGA 기반 리시퀀싱 분석 방법을 구현할 수 있다.
상기 실시예를 구현하기 위하여, 본 개시는 실시예를 통하여 컴퓨터 판독 가능 기록 매체를 제시하는 데, 기록 매체는 컴퓨터가 전술한 본 개시의 실시예에 따른 FPGA 기반 리시퀀싱 분석 방법을 수행할 수 있도록 하는 컴퓨터 판독 가능한 명령어를 저장한다.
명세서 전반에서 “실시예”, “일부 실시예”, “일 실시예”, “다른 실시예”, “일 예”, “특정 실시예” 또는 “일부 예”를 참조한다는 것은 실시예 또는 예와 연관되어 설명되는 특정 성질, 구조, 재료, 또는 특징이 본 개시의 적어도 하나의 실시예 또는 예에 포함된다는 것을 의미한다. 따라서, 명세서 전반에 걸쳐 곳곳에서 “일부 실시예에서”, “일 실시예에서”, “실시예에서”, “다른 실시예에서”, “일 예에서”, “특정 실시예에서”, 또는 “일부 예에서” 와 같은 표현의 등장이 반드시 본 개시의 동일한 실시예 또는 예를 언급하는 것은 아니다. 또한, 특정 성질, 구조, 재질, 또는 특징은 하나 이상의 실시예 또는 예에서 어떠한 적합한 방식으로든 결합될 수 있다. 또한, 이 분야의 당업자는 상이한 실시예 또는 예를 다른 실시예 또는 예의 특징과 서로 모순됨 없이 결합할 수 있다.
또한, “제1” 또는 “제2”와 같은 용어는 본 명세서에서 설명 목적으로 사용되며, 상대적인 중요도나 중대성을 나타내거나 암시하거나, 언급되는 기술적 특징의 수량을 묵시적으로 나타내지 않는다. 따라서, “제1” 또는 “제2”로 정의되는 특징은 하나 이상의 특징을 포함한다. 본 개시의 명세서에서, “복수 개”는 다른 언급이 없는 한, 두 개 이상의 특징을 의미한다.
흐름도에서 설명되거나 본 명세서에서 어떠한 다른 방식으로 설명되는 모든 절차 또는 방법은 특정 로직 기능 또는 절차를 실현하는 실행 가능한 코드를 저장하는 하나 이상의 모듈, 포션 또는 파트를 포함하는 것으로 이해될 수 있다. 또한, 본 개시의 유용한 실시예는 관련 기능에 따라서 실질적으로 동시에 또는 역순으로 기능을 수행하는 것을 비롯하여, 설명 또는 논의된 것과 다른 순서로 수행되는 다른 구현 방법을 포함한다. 이는 본 개시의 실시예에 속한 당업자라면 이해할 수 있다.
본 명세서에서 다른 방식으로 설명되거나 흐름도에서 도시된 논리 및/또는 단계, 예컨대 논리 기능을 실현하기 위한 실행 가능한 명령어의 특정 시퀀스 테이블은 명령어 실행 시스템, 디바이스 또는 장치(예컨대, 컴퓨터에 기초한 시스템, 명령어 실행 시스템, 디바이스 및 장치로부터 명령어를 획득하여 그 명령어를 실행할 수 있는 프로세서 또는 다른 시스템을 포함하는 컴퓨터 기반 시스템)에 의하여 사용되거나, 명령어 실행 시스템, 디바이스 및 장치와 결합하여 사용되는 어떠한 컴퓨터 판독 가능 매체에서도 구현될 수 있다. 명세서에서, “컴퓨터 판독 가능한 매체”는 명령어 실행 시스템, 디바이스 또는 장치 또는 그 결합에 의해 사용되는 프로그램을 포함, 저장, 통신, 전파 또는 전송할 수 있는 모든 디바이스가 될 수 있다. 컴퓨터 기록 매체의 보다 구체적인 예는 하나 이상의 배선을 갖는 전자 연결(전자 장치), 휴대용 컴퓨터 인클로져(enclosure)(자기 장치), RAM(random access memory), ROM(read only memory), EPROM(erasable programmable read-only Memory) 또는 플래시 메모리, 광섬유 디바이스 및 휴대용 CDROM(compact disk read-only memory)를 포함하나, 이에 한정되지 않는다. 또한, 컴퓨터 판독 가능 매체는 프로그램을 프린트할 수 있는 종이 또는 다른 적당한 매체가 될 수 있는 데, 이는 예컨대 종이 또는 다른 적절한 매체가 광학적으로 스캔된 후, 필요시 다른 적당한 방법으로 편집, 해독 또는 처리되어 전기적 방식으로 프로그램을 획득할 수 있고, 그 프로그램은 컴퓨터 메모리에 저장될 수 있기 때문이다.
본 개시의 각 부분은 하드웨어, 소프트웨어, 펌웨어 또는 이들 결합으로 구현될 수 있다. 상기 실시예에서, 복수의 단계 및 방법은 메모리에 저장되고 적절한 명령어 실행 시스템에 의해 수행되는 소프트웨어 또는 펌웨어에 의해 구현될 수 있다. 예컨대, 다른 실시예와 같이, 하드웨어로 구현되는 경우, 단계 또는 방법은 다음의 하나 이상의 종래 기술을 이용하여 구현될 있다. 예컨대, 데이터 신호의 논리 기능을 구현하기 위한 논리 게이트 회로를 갖는 이산 논리 회로, 적합한 조합 논리 게이트 회로를 갖는 ASIC(application-specific integrated circuit), PGA(programmable gate array), FPGA 등이다.
이 분야의 당업자라면 본 개시에서 예시된 전술한 방법의 전체 또는 일부 단계가 관련 하드웨어를 프로그램으로 명령함으로써 구현될 수 있다는 것을 이해할 것이다. 프로그램은 컴퓨터 판독 가능 저장 매체에 저장될 수 있고, 프로그램은 컴퓨터에서 실행되는 경우, 본 개시의 실시예에서 제시된 방법에서 하나 또는 복수 개의 단계들의 조합을 포함한다.
또한, 본 개시의 실시예의 각 기능 셀들은 프로세싱 모듈에서 통합거나, 복수 개의 셀들이 물리적으로 별도로 존재할 수 있고, 또는 두 개 이상의 셀이 프로세싱 모듈에서 통합될 수 있다. 통합 모듈은 하드웨어 또는 소프트웨어 기능 모듈의 형태로 구현될 수 있다. 통합 모듈이 소프트웨어 기능 모듈 형태로 구현되고 독립 제품으로 판매 또는 사용되는 경우에, 통합 모듈은 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
전술한 기록 매체는 ROM, 자기 디스크, CD 등이 될 수 있다. 본 발명을 설명하기 위한 실시예가 도시되고 설명되었지만, 이 분야의 당업자라면 전술한 실시예는 본 개시를 제한하도록 해석되어서는 안되고, 본 개시의 범위 내에서 실시예가 변경, 수정 및 대체될 수 있다는 것을 이해할 것이다.

Claims (14)

  1. FPGA(Field-Programmable Gate Array) 기반 리시퀀싱 분석 방법으로서,
    게놈 리시퀀싱 데이터를 수신하는 단계와,
    상기 게놈 리시퀀싱 데이터를 FPGA 입력으로 사용하고, FPGA 출력에 기초하여 리시퀀싱 프로세스에서 정렬 결과를 결정하고, 동시에 상기 정렬 결과를 분류 및 중복 제거하는 단계와,
    기본 품질 값에 따라 분류 및 중복 제거된 정렬 결과를 교정하는 단계와, 그리고,
    교정된 정렬 결과에 기초하여 변이 결과를 검출하는 단계
    를 포함하는 FPGA 기반 리시퀀싱 분석 방법.
  2. 제1항에 있어서, 게놈 리시퀀싱 데이터를 수신하는 단계 이후에,
    상기 게놈 리시퀀싱 데이터를 미리 설정된 길이의 시퀀스에 기초하여 해시-계산하는 단계를 추가로 포함하고,
    상기 게놈 리시퀀싱 데이터를 FPGA 입력으로 사용하는 단계는,
    해시-계산된 게놈 리시퀀싱 데이터를 FPGA 입력으로 사용하는 단계를 추가로 포함하는, FPGA 기반 리시퀀싱 분석 방법.
  3. 제1항에 있어서, 상기 게놈 리시퀀싱 데이터는 기본 게놈 리시퀀싱 데이터 및 상기 기본 게놈 리시퀀싱 데이터를 설명하는 파라미터 정보를 포함하고,
    게놈 리시퀀싱 데이터를 수신하는 단계 이후에,
    상기 정렬 결과를 입력하는 제1 태스크와, 상기 정렬 결과를 분류 및 중복 제거하는 제2 태스크를 상기 기본 게놈 리시퀀싱 데이터 및 상기 기본 게놈 리시퀀싱 데이터를 설명하는 상기 파라미터 정보에 기초하여 결정하는 단계와, 그리고
    상기 FPGA로부터 상기 제1 태스크에 대응하는 제1 스레드와, CPU로부터 상기 제2 태스크에 대응하는 제2 스레드를 할당하는 단계
    를 추가로 포함하는, FPGA 기반 리시퀀싱 분석 방법.
  4. 제3항에 있어서, 상기 게놈 리시퀀싱 데이터를 FPGA 입력으로 사용하고, FPGA 출력에 기초하여 리시퀀싱 프로세스에서 정렬 결과를 결정하고, 동시에 상기 정렬 결과를 분류 및 중복 제거하는 단계는,
    상기 제1 태스크에 대응하는 상기 제1 스레드와 상기 제2 태스크에 대응하는 상기 제2 스레드를 병렬로 시작 및 실행하여, 각 스레드를 통하여 상기 게놈 리시퀀싱 데이터를 호출하는 단계, 그리고
    제1 태스크에 대응하는 상기 제1 스레드의 출력 결과를 통하여 리시퀀싱 프로세스에서 상기 정렬 결과를 결정하고, 동시에 상기 제2 태스크에 대응하는 상기 제2 스레드의 출력 결과를 통하여 상기 정렬 결과를 분류 및 중복 제거하는 단계
    를 더 포함하는, FPGA 기반 리시퀀싱 분석 방법.
  5. 제4항에 있어서, 상기 제1 태스크에 대응하는 상기 제1 스레드의 출력 결과를 통하여 상기 리시퀀싱 프로세스에서 상기 정렬 결과를 결정하는 단계는,
    상기 제1 태스크에 대응하는 상기 제1 스레드를 실행하여 타겟 정렬 위치를 결정하는 단계와,
    상기 타겟 정렬 위치에 따라 상기 기본 게놈 리시퀀싱 데이터에서 중복 염기 쌍에 대한 정렬을 트리거링하는 단계와, 그리고
    상기 중복 염기 쌍의 정렬 결과를 상기 리시퀀싱 프로세스에서 상기 정렬 결과로서 사용하는 단계
    를 더 포함하는, FPGA 기반 리시퀀싱 분석 방법.
  6. 제4항에 있어서, 타겟 정렬 위치를 결정하는 단계 이후에,
    상기 타겟 정렬 위치를 핑퐁 버퍼링 기술을 사용하여 캐싱하는 단계를 더 포함하는, FPGA 기반 리시퀀싱 분석 방법.
  7. FPGA 기반 리시퀀싱 분석 장치로서,
    게놈 리시퀀싱 데이터를 수신하도록 구성된 수신 모듈과,
    상기 리시퀀싱 데이터를 FPGA 입력으로 사용하고, 상기 FPGA 출력에 기초하여 리시퀀싱 프로세스에서 정렬 결과를 결정하고, 동시에 상기 정렬 결과를 분류 및 중복 제거하도록 구성된 프로세싱 모듈과,
    분류 및 중복 제거된 정렬 결과를 기본 품질 값에 따라 교정하도록 구성된 교정 모듈과, 그리고
    교정된 정렬 결과에 기초하여 변이 결과를 검출하도록 구성된 검출 모듈
    을 포함하는 FPGA 기반 리시퀀싱 분석 장치.
  8. 제7항에 있어서, 상기 FPGA 기반 리시퀀싱 분석 장치는,
    상기 게놈 리시퀀싱 데이터를 수신 한 후에, 상기 게놈 리시퀀싱 데이터를 미리 설정된 길이의 시퀀스에 기초하여 해시-계산하도록 구성된 계산 모듈을 더 포함하고,
    상기 프로세싱 모듈은 해시-계산된 게놈 리시퀀싱 데이터를 상기 FPGA 입력으로 사용하도록 구체적으로 구성된, FPGA 기반 리시퀀싱 분석 장치.
  9. 제7항에 있어서, 상기 게놈 리시퀀싱 데이터는 기본 게놈 리시퀀싱 데이터 및 상기 기본 게놈 리시퀀싱 데이터를 설명하는 파라미터 정보를 포함하고, 상기 FPGA 기반 리시퀀싱 분석 장치는,
    상기 게놈 리시퀀싱 데이터를 수신한 후에, 상기 정렬 결과를 입력하는 제1 태스크와 상기 정렬 결과를 분류 및 중복 제거하는 제2 태스크를 상기 기본 게놈 리시퀀싱 데이터 및 상기 기본 게놈 리시퀀싱 데이터를 설명하는 상기 파라미터 정보에 기초하여 결정하도록 구성된 결정 모듈과, 그리고
    상기 FPGA로부터 상기 제1 태스크에 대응하는 제1 스레드와, CPU로부터 상기 제2 태스크에 대응하는 제2 스레드를 할당하도록 구성된 할당 모듈
    을 더 포함하는, FPGA 기반 리시퀀싱 분석 장치.
  10. 제9항에 있어서, 상기 프로세싱 모듈은,
    상기 제1 태스크에 대응하는 상기 제1 스레드와 상기 제2 태스크에 대응하는 상기 제2 스레드를 병렬로 시작 및 실행하여, 각 스레드를 통하여 상기 게놈 리시퀀싱 데이터를 호출하도록 구성된 시작 및 실행 유닛과, 그리고
    상기 제1 태스크에 대응하는 상기 제1 스레드의 출력 결과를 통하여 상기 리시퀀싱 프로세스에서 상기 정렬 결과를 결정하고, 동시에 상기 제2 태스크에 대응하는 상기 제2 스레드의 출력 결과를 통하여 상기 정렬 결과를 분류 및 중복 제거하도록 구성된 결정 및 프로세싱 유닛
    을 더 포함하는, FPGA 기반 리시퀀싱 분석 장치.
  11. 제10항에 있어서, 상기 프로세싱 모듈은,
    상기 제1 태스크에 대응하는 상기 제1 스레드를 실행하여 타겟 정렬 위치를 결정하고,
    상기 타겟 정렬 위치에 따라 상기 기본 게놈 리시퀀싱 데이터에서 중복 염기 쌍에 대한 정렬을 트리거하고, 그리고
    상기 중복 염기 쌍의 정렬 결과를 상기 리시퀀싱 프로세스에서 상기 정렬 결과로 사용하도록,
    구체적으로 구성되는, FPGA 기반 리시퀀싱 분석 장치.
  12. 제10항에 있어서, 상기 결정 유닛은 핑퐁 버퍼링 기술을 사용하여 상기 타겟 정렬 위치를 캐싱하도록 추가로 구성된, FPGA 기반 리시퀀싱 분석 장치.
  13. 컴퓨터 장치로서,
    메모리와,
    프로세스와, 그리고
    상기 메모리에 저장되고, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 포함하고,
    상기 컴퓨터 프로그램은, 상기 프로세서에 의해 실행되는 경우, 제1항 내지 제6항 중 어느 하나의 청구항에 따른 FPGA 기반 리시퀀싱 분석 방법을 구현하는, 컴퓨터 장치.
  14. 컴퓨터 판독 가능 저장 매체로서,
    상기 컴퓨터가 제1항 내지 6항 중 어느 하나의 청구항에 따른 FPGA 기반 리시퀀싱 분석 방법을 수행할 있게 하는 컴퓨터 판독 가능한 명령어를 저장하는,
    컴퓨터 판독 가능 저장 매체.
KR1020217010322A 2018-10-23 2018-10-23 Fpga 기반 리시퀀싱 분석 방법 및 장치 KR20210091126A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/111357 WO2020082224A1 (zh) 2018-10-23 2018-10-23 基于fpga的重测序分析方法和装置

Publications (1)

Publication Number Publication Date
KR20210091126A true KR20210091126A (ko) 2021-07-21

Family

ID=70330861

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217010322A KR20210091126A (ko) 2018-10-23 2018-10-23 Fpga 기반 리시퀀싱 분석 방법 및 장치

Country Status (7)

Country Link
US (1) US11836430B2 (ko)
EP (1) EP3852111A4 (ko)
JP (1) JP7334244B2 (ko)
KR (1) KR20210091126A (ko)
CN (1) CN113168888A (ko)
SG (1) SG11202102591TA (ko)
WO (1) WO2020082224A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115691672B (zh) * 2022-12-20 2023-06-16 臻和(北京)生物科技有限公司 针对测序平台特征的碱基质量值矫正方法、装置、电子设备和存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107368705B (zh) 2011-04-14 2021-07-13 完整基因有限公司 分析生物体的基因组dna的方法和计算机系统
EP2634717A2 (en) 2012-02-28 2013-09-04 Koninklijke Philips Electronics N.V. Compact next generation sequencing dataset and efficient sequence processing using same
US9600625B2 (en) 2012-04-23 2017-03-21 Bina Technologies, Inc. Systems and methods for processing nucleic acid sequence data
US9679104B2 (en) 2013-01-17 2017-06-13 Edico Genome, Corp. Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform
US20150012903A1 (en) * 2013-07-04 2015-01-08 Tabula, Inc. Non-intrusive monitoring and control of integrated circuits
CN105631239B (zh) 2014-10-30 2018-08-17 国际商业机器公司 用于管理基因序列的方法和装置
CN104462211B (zh) * 2014-11-04 2018-01-02 北京诺禾致源科技股份有限公司 重测序数据的处理方法和处理装置
CA2965988A1 (en) 2014-11-21 2016-05-26 Research Institute At Nationwide Children's Hospital Parallel-processing systems and methods for highly scalable analysis of biological sequence data
WO2016141294A1 (en) 2015-03-05 2016-09-09 Seven Bridges Genomics Inc. Systems and methods for genomic pattern analysis
US20170270245A1 (en) 2016-01-11 2017-09-21 Edico Genome, Corp. Bioinformatics systems, apparatuses, and methods for performing secondary and/or tertiary processing
CN107194204A (zh) 2017-05-22 2017-09-22 人和未来生物科技(长沙)有限公司 一种全基因组测序数据计算解读方法
CN107609350B (zh) 2017-09-08 2020-04-03 厦门极元科技有限公司 一种二代测序数据分析平台的数据处理方法

Also Published As

Publication number Publication date
JP2022504611A (ja) 2022-01-13
SG11202102591TA (en) 2021-04-29
US20220058321A1 (en) 2022-02-24
US11836430B2 (en) 2023-12-05
WO2020082224A1 (zh) 2020-04-30
JP7334244B2 (ja) 2023-08-28
EP3852111A4 (en) 2022-04-20
EP3852111A1 (en) 2021-07-21
CN113168888A (zh) 2021-07-23

Similar Documents

Publication Publication Date Title
US10778246B2 (en) Managing compression and storage of genomic data
TWI502502B (zh) 用於處理狀態機引擎所接收之資料之方法及系統
CN104364756B (zh) 单个数据缓冲器的并行处理
TWI515668B (zh) 用於一狀態機中偵測之方法及系統
US8593175B2 (en) Boolean logic in a state machine lattice
KR20140103143A (ko) 상태 기계 격자에서의 카운터 동작
TW201333838A (zh) 用於狀態機中資料分析之系統與方法
US20120173778A1 (en) Dynamic compression of an i/o data block
KR20130044290A (ko) 악성 소프트웨어를 분석 및 검출하기 위한 방법 및 장치
CN108399151B (zh) 数据比对系统和方法
JP2009193203A (ja) パターン検出装置、パターン検出システム、パターン検出プログラム、およびパターン検出方法
CN108108260B (zh) 一种资源文件的校验方法及装置
US20170193351A1 (en) Methods and systems for vector length management
JP2016062583A (ja) ファイル処理方法及び装置
US8452900B2 (en) Dynamic compression of an I/O data block
KR20210091126A (ko) Fpga 기반 리시퀀싱 분석 방법 및 장치
EP3198870A1 (en) Processing parameters for operations on blocks while decoding images
US20210208945A1 (en) Information processing apparatus, information processing method, and computer readable medium
KR102424672B1 (ko) 악성 코드를 분류하는 전자 장치 및 그 동작 방법
US20130339315A1 (en) Configurable Data Generator
US10579794B1 (en) Securing a network device by automatically identifying files belonging to an application
WO2021097624A1 (zh) 一种文件处理方法、文件处理装置及终端设备
JP6739555B2 (ja) 要求分析装置、要求分析方法および要求分析プログラム
JP4865449B2 (ja) 差分生成装置及び差分適用装置及び差分生成プログラム及び差分適用プログラム及び差分生成適用システム及び差分生成適用方法
TWI755176B (zh) 細胞密度分類方法及裝置、電子裝置及存儲介質

Legal Events

Date Code Title Description
E902 Notification of reason for refusal