User Tools

Site Tools


Accelerating Genome Analysis with FPGAs, GPUs, and New Execution Paradigms: 227-0085-33L

Course Description

A genome encodes a set of instructions for performing some functions within our cells. Analyzing our genomes helps, for example, to determine differences in these instructions (known as genetic variations) from human to human that may cause diseases or different traits. One benefit of knowing the genetic variations is better understanding and diagnosis of diseases and the development of efficient drugs.

Computers are widely used to perform genome analysis using dedicated algorithms and data structures. However, timely analysis of genomic data remains a daunting challenge, due to the complex algorithms and large datasets used for the analysis. Increasing the number of processing cores used for genome analysis decreases the overall analysis time, but significantly escalates the cost of building, maintaining, and cooling such a computing cluster, as well as the power/energy consumed by the cluster. This is a critical shortcoming with respect to both energy production and environmental friendliness. Cloud computing platforms can be used as an alternative to distribute the workload, but transferring the data between the clinic and the cloud poses new privacy and legal concerns.

In this course, we will cover the basics of genome analysis to understand the computational steps of the entire pipeline and find the computational bottlenecks. Students will learn about the existing efforts for accelerating one or more of these steps and will have the chance to carry out a hands-on project to improve these efforts.

Prerequisites of the course:

  • No prior knowledge in bioinformatics or genome analysis is required.
  • Interest in making things efficient and solving problems.
  • A basic knowledge in C or C++ programming language is required.
  • Digital Design and Computer Architecture (or equivalent course) is preferred.
  • Experience in at least one of the following is highly desirable: FPGA implementation and GPU programming.

The course is conducted in English.

Course description page


Lecture Video Playlist on YouTube

Spring 2023 Schedule

Week Date Livestream Meeting
W1 02.03 Thu.
L1a: P&S Course Introduction
L1b: Project introductions and Q&As
W2 09.03 Thu.
L2: Intelligent Genomic Analyses
W3 16.03 Thu.
L3: Introduction to Sequencing
W4 23.03 Thu. L4: Read Mapping
W5 30.03 Thu. L5: Genome Assembly
W6 06.04 Thu. L6a: GateKeeper
L6b: SneakySnake
W7 13.04 Thu. No lectures (Easter)
W8 20.04 Thu. L7: GRIM-Filter
W9 27.04 Thu. L8a: GenASM
L8b: Scrooge
W10 04.05 Thu. L9: SeGraM
W11 11.05 Thu. L10: GenStore
W12 18.05 Thu. L11: GenPIP
W13 25.05 Thu. L12a: BLEND
L12b: AirLift
W14 01.06 Thu. L13a: Raw Nanopore Signal Analysis
L13b: RawHash
L13c: TargetCall

Learning Materials

Lecture 1a: Required Materials

Lecture 1a: Recommended Materials

More Learning Materials

bioinformatics.txt · Last modified: 2023/03/15 13:45 by firtinac