AbstractsComputer Science

Hardware acceleration of the SAMtools variant caller

by Brett Dutro




Institution: University of Illinois – Urbana-Champaign
Department: 1200
Degree: MS
Year: 2015
Keywords: Computational genomics
Record ID: 2060736
Full text PDF: http://hdl.handle.net/2142/72860


Abstract

This thesis presents a design for a hardware-accelerated implementation of the SAMtools variant caller on an FPGA. It also includes a performance analysis of the algorithm and a proposed change to its software architecture to improve performance. SAMtools is normally invoked as a two-step command, where the results of samtools mpileup are piped into bcftools call. Profiling their execution revealed that the single most computationally intensive part of the algorithm is the function bcf_call_combine, which is responsible for 23.63% of the execution time of samtools mpileup. In addition, the various functions used for output in samtools mpileup are responsible for a total of 24.58% of its execution time, while functions responsible for handling input in bcftools call accounted for 93.34% of the execution time of that program. Profiling the full command revealed that bcftools call was only responsible for 5.82% of total run time. Both software and hardware approaches were taken to improve the performance of SAMtools. The software approach combined the two parts of the variant calling command into a single executable called mpileup_call. The hardware approach implemented the functions bcf_call_glfgen and bcf_call_combine in a Verilog/SystemVerilog design targeting an Altera Stratix V GX A7 FPGA. Combining the two parts of the command into a single program resulted in a 2.42x speedup. The hardware accelerated version of the combined tool achieved an overall speedup of 2.93x over the base SAMtools workflow.