QCKer-FPGA: An FPGA Implementation of Q- gram Counting Filter for DNA Sequence Alignment

© 2019 IEEE. Read mapping is a process in which DNA reads are mapped to a reference genome through filtering and verification using a predefined metric. Filtering is done by quickly eliminating incorrect regions when a DNA read is compared to the reference genome. Verification on the other hand is r...

Full description

Saved in:
Bibliographic Details
Main Authors: Maghirang, Jan Carlo G., Uy, Roger Luis, Borja, Kaizen Vinz A., Pernez, Joven L.
Format: text
Published: Animo Repository 2019
Online Access:https://animorepository.dlsu.edu.ph/faculty_research/960
https://animorepository.dlsu.edu.ph/context/faculty_research/article/1959/type/native/viewcontent
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: De La Salle University
Description
Summary:© 2019 IEEE. Read mapping is a process in which DNA reads are mapped to a reference genome through filtering and verification using a predefined metric. Filtering is done by quickly eliminating incorrect regions when a DNA read is compared to the reference genome. Verification on the other hand is responsible for verifying these candidate regions which require mathematical and theoretical approaches. Due to large amounts of data produced by Next Generation Sequencing (NGS) platforms, a filter is needed to reduce various computational challenges introduced by the verification process. FPGAs are special purpose processors that are designed to handle compute-intensive applications, having a highly customizable fabric. In this paper, the q-gram counting filter is implemented that takes advantage of the flexibility and capabilities of FPGAs in parallel applications using the ZedBoard development board. The paper discusses the results of the filter with varying sizes of q, number of reads with various lengths, and different reference sequences. The results show an average of 34.02% lesser clock cycles with a q-gram length of 4 and 53.58% for q-gram of 8 when compared to an implementation in C.