227-0085-33L Projects & Seminars: Accelerating Genome Analysis with FPGAs, GPUs, and New Execution Paradigms
|Semester||Autumn Semester 2020|
|Periodicity||every semester recurring course|
|Language of instruction||English|
|Comment||Only for Electrical Engineering and Information Technology BSc.|
The course unit can only be taken once. Repeated enrollment in a later semester is not creditable.
|Abstract||The category of "Laboratory Courses, Projects, Seminars" includes courses and laboratories in various formats designed to impart practical knowledge and skills. Moreover, these classes encourage independent experimentation and design, allow for explorative learning and teach the methodology of project work.|
|Objective||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.
- Digital Design and Computer Architecture (or equivalent course)
- A good knowledge in C programming language is required.
- Experience in at least one of the following is highly desirable:
FPGA implementation and GPU programming.
- Interest in making things efficient and solving problems
The course is conducted in English.
Course website: https://safari.ethz.ch/projects_and_seminars/doku.php?id=bioinformatics
1. A survey on accelerating genome analysis: https://arxiv.org/pdf/2008.00961
2. A detailed survey on the state-of-the-art algorithms for sequencing data: https://arxiv.org/pdf/2003.00110
3. 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
4. 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
5. An example of using a different computing paradigm for accelerating read mapping step and improving its energy consumption: https://arxiv.org/pdf/1708.04329
6. 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