Can Firtina: Catalogue data in Autumn Semester 2023 |
Name | Dr. Can Firtina |
Address | Dep. Inf.techno.u.Elektrotechnik ETH Zürich, ETZ F 76 Gloriastrasse 35 8092 Zürich SWITZERLAND |
can.firtina@safari.ethz.ch | |
URL | http://canfirtina.com |
Department | Information Technology and Electrical Engineering |
Relationship | Lecturer |
Number | Title | ECTS | Hours | Lecturers | |||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
227-0085-33L | P&S: Accelerating Genome Analysis with FPGAs, GPUs, and New Execution Paradigms ![]() The course unit can only be taken once. Repeated enrollment in a later semester is not creditable. | 3 credits | 3P | C. Firtina | |||||||||||||||||||||||||||||||||||||||||||||||
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. | ||||||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | Genome analysis is a cornerstone for groundbreaking scientific and medical advancements, including personalized healthcare. However, the field faces significant computational challenges, such as algorithmic bottlenecks and the handling of large datasets. This course aims to provide a comprehensive understanding of these computational facets, spanning across the computing stack from algorithms, software & tools, to microarchitecture & hardware accelerators. The course will cover how advanced hardware solutions like FPGAs and GPUs can expedite genome analysis by reducing computational time and energy consumption. In parallel, it will delve into the use and development of heuristic algorithms & tools for accelerating genome analysis across various computational platforms. These algorithms, for example, can offer tradeoffs between computational intensity and accuracy. Students will engage in hands-on projects focused on optimizing existing methods or innovating new solutions for genome analysis. The curriculum’s dual emphasis on hardware solutions and versatile algorithmic strategies offers students a holistic view of the current challenges and potential resolutions within the realm of genome analysis. The course is conducted in English. Course website: https://safari.ethz.ch/projects_and_seminars/doku.php?id=bioinformatics | ||||||||||||||||||||||||||||||||||||||||||||||||||
Content | The students carry out a hands-on project under the supervision of their mentors. We also offer the following lectures that the students are encouraged to follow to make impactful progress on their projects. Lecture 1a: P&S Course Introduction & Scope Lecture 1b: Project Overview and Q&A Lecture 2: Introduction to Genome Analysis Lecture 3: From Molecules to Data: An Overview of DNA Sequencing Technologies Lecture 4a: Fundamentals of Sequence Alignment: Algorithms and Applications Lecture 4b: Optimizing Sequence Search: Hashing, Indexing, and Filtering Techniques Lecture 5a: Building the Blueprint of Life: Genome Assembly Lecture 5b: Generating Insights from Genome Analysis: Variant Calling and Functional Genomics Lecture 6a: GateKeeper Lecture 6b: SneakySnake Lecture 6c: GRIM-Filter Lecture 7a: GenASM Lecture 7b: Scrooge Lecture 8: SeGraM Lecture 9: GenStore Lecture 10a: GenPIP Lecture 10b: TargetCall Lecture 11a: BLEND Lecture 11b: AirLift Lecture 12a: Raw Nanopore Signal Analysis & RawHash | ||||||||||||||||||||||||||||||||||||||||||||||||||
Lecture notes | See: https://safari.ethz.ch/projects_and_seminars/doku.php?id=bioinformatics | ||||||||||||||||||||||||||||||||||||||||||||||||||
Literature | Learning Materials =============== 1. Overview paper on co-designing hardware and software for genome analysis: https://people.inf.ethz.ch/omutlu/pub/AcceleratingGenomeAnalysis_dac23.pdf 2. Survey on the main steps in the genome analysis pipeline and their bottlenecks: https://people.inf.ethz.ch/omutlu/pub/IntelligentGenomeAnalysis_csbj22.pdf 3. Survey on accelerating genome analysis: https://people.inf.ethz.ch/omutlu/pub/AcceleratingGenomeAnalysis_ieeemicro20.pdf 4. Detailed survey on state-of-the-art algorithms for sequencing data: https://people.inf.ethz.ch/omutlu/pub/technology-dictates-algorithms_genome-read-alignment-overview_GenomeBiology21.pdf 5. Example of accelerating genomic sequence matching with FPGAs or GPUs: https://people.inf.ethz.ch/omutlu/pub/SneakySnake_UniversalGenomePrealignmentFilter_bioinformatics20.pdf 6. Example using different computing paradigms for read mapping and alignment, improving energy consumption: https://arxiv.org/pdf/1711.01177.pdf, https://arxiv.org/pdf/2208.01243.pdf 7. Examples of software/hardware co-design for genomic sequence matching: - https://people.inf.ethz.ch/omutlu/pub/GenASM-approximate-string-matching-framework-for-genome-analysis_micro20.pdf - https://people.inf.ethz.ch/omutlu/pub/SeGraM_genomic-sequence-mapping-universal-accelerator_isca22.pdf - https://people.inf.ethz.ch/omutlu/pub/GenStore_asplos22-arxiv.pdf - https://arxiv.org/pdf/2209.08600.pdf 8. Example on analyzing raw nanopore signals: https://arxiv.org/pdf/2301.09200.pdf | ||||||||||||||||||||||||||||||||||||||||||||||||||
Prerequisites / Notice | - No prior knowledge in bioinformatics or genome analysis is required. - An interest in optimizing efficiency and solving complex problems is essential. - Basic to good knowledge in C or C++ programming language is required. - Previous coursework in Digital Design and Computer Architecture, or an equivalent course, is desirable. - Experience in either FPGA implementation, GPU programming, or algorithm design is highly beneficial but not mandatory. | ||||||||||||||||||||||||||||||||||||||||||||||||||
Competencies![]() |
| ||||||||||||||||||||||||||||||||||||||||||||||||||
227-0085-36L | P&S: Genome Sequencing on Mobile Devices ![]() The course unit can only be taken once. Repeated enrollment in a later semester is not creditable. | 3 credits | 3P | C. Firtina | |||||||||||||||||||||||||||||||||||||||||||||||
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. | ||||||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | Genome analysis is the foundation of many scientific and medical discoveries, and serves as a key enabler of personalized medicine. This analysis is currently limited by the inability of existing technologies to read an organism’s complete genome. Instead, a dedicated machine (called sequencer) extracts a large number of shorter random fragments of an organism’s DNA sequence, known as reads. Small, handheld sequencers such as ONT MinION and Flongle make it possible to sequence bacterial and viral genomes in the field, thus facilitating disease outbreak analyses such as COVID-19, Ebola, and Zika. However, large, capable computers are still needed to perform genome assembly, which tries to reassemble read fragments back into an entire genome sequence. This limits the benefits of mobile sequencing and may pose problems in rapid diagnosis of infectious diseases, tracking outbreaks, and near-patient testing. The problem is exacerbated in developing countries and during crises where access to the internet network, cloud services, or data centers is even more limited. In this course, we will cover the basics of genome analysis to understand the speed-accuracy tradeoff in using computationally-lightweight heuristics versus accurate computationally-expensive algorithms. Such heuristic algorithms typically operate on a smaller dataset that can fit in the memory of today’s mobile device. Students will experimentally evaluate different heuristic algorithms and observe their effect on the end results. This evaluation will give the students the chance to carry out a hands-on project to implement one or more of these heuristic algorithms in their smartphones and help the society by enabling on-site analysis of genomic data. The course is conducted in English. Course website: https://safari.ethz.ch/projects_and_seminars/doku.php?id=genome_seq_mobile | ||||||||||||||||||||||||||||||||||||||||||||||||||
Lecture notes | See: https://safari.ethz.ch/projects_and_seminars/doku.php?id=genome_seq_mobile | ||||||||||||||||||||||||||||||||||||||||||||||||||
Literature | Learning Materials =============== 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 7. An example of a purely software method for fast genome sequence analysis: http://www.biomedcentral.com/content/pdf/1471-2164-14-S1-S13.pdf 8. From Molecules to Genomic Variations: Accelerating Genome Analysis via Intelligent Algorithms and Architectures: https://arxiv.org/abs/2205.07957 9. Accelerating Genome Analysis, Invited Talk BSC, Onur Mutlu: https://www.youtube.com/watch?v=tVpg0XqU_c4 | ||||||||||||||||||||||||||||||||||||||||||||||||||
Prerequisites / Notice | Prerequisites of the course: - No prior knowledge in bioinformatics or genome analysis is required. - A good knowledge in C programming language and programming is required. - Interest in making things efficient and solving problems | ||||||||||||||||||||||||||||||||||||||||||||||||||
Competencies![]() |
|