Table of Contents
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
Moodle
Mentors
Name | Office | ||
---|---|---|---|
Mentor | Can Firtina | can.firtina@safari.ethz.ch | ETZ H 61.1 |
Mentor | Mohammed Alser | alserm@ethz.ch | ETZ H 61.1 |
Mentor | Juan Gómez Luna | juan.gomez@safari.ethz.ch | ETZ H 61.1 |
Mentor | Haiyu Mao | haiyu.mao@safari.ethz.ch | ETZ H 64 |
Mentor | Joël Lindegger | joel.lindegger@safari.ethz.ch | ETZ H 64 |
Mentor | Nika Mansourighiasi | nika.mansourighiasi@safari.ethz.ch | ETZ H 61.1 |
Mentor | Meryem Banu Cavlak | bcavlak@student.ethz.ch | |
Mentor | Julien Eudine | jeudine@student.ethz.ch | |
Mentor | Arvid Gollwitzer | arvid.gollwitzer@safari.ethz.ch | |
Mentor | Maximilian-David Rumpf | rumpfm@student.ethz.ch | |
Co-Mentor | Younjoo Lee | younjoo0614@gmail.com | |
Co-Mentor | Filipe Mulonde | filipemulonde@gmail.com |
Lecture Video Playlist on YouTube
Spring 2023 Schedule
Week | Date | Livestream | Meeting |
---|---|---|---|
W1 | 02.03 Thu. | Live | L1a: P&S Course Introduction (PDF) (PPT) |
L1b: Project introductions and Q&As | |||
W2 | 09.03 Thu. | Premiere | L2: Intelligent Genomic Analyses (PDF) (PPT) |
W3 | 16.03 Thu. | Premiere | L3: Introduction to Sequencing (PDF) (PPT) |
W4 | 24.03 Fri. | Premiere | L4: Read Mapping (PDF) (PPT) |
W5 | 30.03 Thu. | Premiere | L5: Genome Assembly (PDF) (PPT) |
W6 | 06.04 Thu. | Premiere | L6a: GateKeeper (PDF) (PPT) |
Premiere | L6b: MAGNET & Shouji (PDF) (PPT) |
||
Premiere | L6c: SneakySnake (PDF) (PPT) |
||
W7 | 13.04 Thu. | No lectures (Easter) | |
W8 | 24.04 Mon. | Premiere | L7: GRIM-Filter (PDF) (PPT) |
W9 | 27.04 Thu. | Live | L8a: GenASM (PDF) (PPT) |
L8b: Scrooge (PDF) (PPT) |
|||
W10 | 04.05 Thu. | Live | L9: SeGraM (PDF) (PPT) |
W11 | 11.05 Thu. | Premiere | L10: GenStore (PDF) (PPT) |
W12 | 17.05 Wed. | Live | L11: GenPIP (PDF) (PPT) |
W13 | 26.05 Fri. | Live | L12a: BLEND (PDF) (PPT) |
L12b: AirLift (PDF) (PPT) |
|||
W14 | 01.06 Thu. | Live | L13a: RawHash (PDF) (PPT) |
L13b: TargetCall (PDF) (PPT) |
Learning Materials
Lecture 1a: Required Materials
-
- Computational and Structural Biotechnology Journal , August 2022.
Lecture 1a: Recommended Materials
-
- IEEE Micro (IEEE MICRO), Vol. 40, No. 5, pages 65-75, September/October 2020.
- GenASM: A High-Performance, Low-Power Approximate String Matching Acceleration Framework for Genome Sequence Analysis, Proceedings of the 53rd International Symposium on Microarchitecture (MICRO), Virtual, October 2020.
- SneakySnake: A Fast and Accurate Universal Genome Pre-Alignment Filter for CPUs, GPUs, and FPGAs, Bioinformatics, 2020.
- Poster presentation at the Swiss Genomics Forum 2019, Geneva, 27 Sept 2019.
- Poster presentation at ISMB/ECCB 2019, Basel, Switzerland July 21 - July 25.
- GRIM-Filter: Fast Seed Location Filtering in DNA Read Mapping Using Processing-in-Memory Technologies, BMC Genomics, 2018.
- [Proceedings of the 16th Asia Pacific Bioinformatics Conference (APBC), Yokohama, Japan, January 2018.
More Learning Materials
- A survey on accelerating genome analysis: https://arxiv.org/pdf/2008.00961
- A detailed survey on the state-of-the-art algorithms for sequencing data: https://arxiv.org/pdf/2003.00110
- An example of how to accelerate genomic sequence matching by two orders of magnitude with the help of FPGAs or GPUs: https://arxiv.org/abs/1910.09020
- An example of how to accelerate read mapping step by an order of magnitude and without using hardware acceleration: https://arxiv.org/pdf/1912.08735
- An example of using a different computing paradigm for accelerating read mapping step and improving its energy consumption: https://arxiv.org/pdf/1708.04329
- Two examples on using software/hardware co-design to accelerate genomic sequence matching by two orders of magnitude: https://arxiv.org/abs/1604.01789 https://arxiv.org/abs/1809.07858