Fundamental algorithms for Bioinformatics (2018/2019)

Course code
Ferdinando Cicalese
Other available courses
Other available courses
    Academic sector
    Language of instruction
    Teaching is organised as follows:
    Activity Credits Period Academic staff Timetable
    Algorithm design 6 I semestre Ferdinando Cicalese

    Go to lesson schedule

    Bioinformatics algorithms 6 II semestre Zsuzsanna Liptak

    Go to lesson schedule

    Learning outcomes

    Students will acquire a wealth of advanced analytic tools which constitute the foundational basis of the algorithmic solution of important problems in bioinformatics

    Knowledge and understanding
    The aim of the course is to provide the student with the necessary skills and know-how for the design and analysis of algorithmic solutions to fundamental bioinformatics problems.

    Applying knowledge and understanding
    The students will acquire the ability to design algorithmic solutions for typical problems in bioinformatics and computational biology, e.g., analysis of

    Making judgements
    The students will be able to identify the critical structural elements of a problem and the most appropriate approaches to tackle complex problems in bioinformatics.

    The students will acquire the ability to describe with appropriate precision and clarity, to both experts and non-specialists: a bioinformatics problem, its mathematical model and the corresponding solution.

    Lifelong learning skills
    The students will be able to deepen their know-how in bioinformatics autonomously. Based on the topics studied and the knowledge acquired, they will be able to read, understand, and apply material from advanced text-books and scientific article.


    MM: Algorithm design
    Fundamental notions of algorithmic analysis (brief recap): graph traversals; shortest paths in graphs; minimum spanning tree; dynamic programming. Elements of computational complexity and NP-completeness Models of Genome Rearrangement: (i) polynomial time algorithm for sorting signed permutations; (ii) approximation algorithms for sorting unsigned permutations; (iii) Synteny Distance Some Fundamental Graph Problems: (i) Graph tours: Hamiltonian Cycles and Eulerian Cycles; efficient algorithms for Eulerian path and Eulerian cycle; (ii) The Traveling Salesman Problem: relationships to the hamiltonian cycle problems; inapproximability of the symmetric TSP; 2 approximation algorithm for the metric TSP Models for Physical Map: (i) polynomial time algorithm for The Consecutive Ones Property (C1P); (ii) approximation algorithm for the gap minimisation based on the metric TSP Models for DNA assembly: The Shortest Common Superstring problem and the approximation of the the maximum compression via weighted matching. Network Flow: maximum flow and min cut problems; maximum matching; decomposition of flow into edge disjoint paths; polynomial time algorithm for the minimum/maximum weight perfect matching in bipartite graphs. Models for Motif Finding: (i) the Consensus String Problem; (ii) Polynomial Time Approximation Scheme. Models of Haplotyping: polynomial time algorithms for the haplotyping problem for single individual on gapless data; extensions and parameterisations in the presence of data with gaps.
    MM: Bioinformatics algorithms
    Here is an overview of the topics that will be covered. The topics in brackets may vary. * Introduction Part I: Pairwise Sequence Comparison * Pairwise sequence alignment * String distances * Pairwise alignment in practice: BLAST, Scoring matrices (* RNA secondary structure prediction) Part II: Multiple sequence alignment * exact DP algorithm (* Carillo-Lipman search space reduction) * approximation algorithm, heuristics Part III: Phyogenetic reconstruction * distance based data: UPGMA, NJ * character based data: Perfect phylogeny (PP) (* character based data: Small Parsimony, Large Parsimony) Part IV: Sequence assembly algorithms (* Shotgun sequencing: SCS) * Sequencing by Hybridization and NGS: de Bruijn graphs, Euler tours

    Assessment methods and criteria

    MM: Algorithm design
    The exam verifies that the students can master the fundamental tools and techniques for the analysis and design of algorithms and that they understand how these techniques are employed in the solution of some classical computational problems arising in bioinformatics. The exam consists of a written test with open questions. The test includes some mandatory exercises and a set of exercises among which the student can choose what to work on. The mandatory exercises are meant to evaluate the student's knowledge of classical algorithms and analysis tools as seen during the course. "Free-choice" exercises test the ability of students to model "new" toy problems and design and analyse algorithmic solutions for it. The grade for the module Algorithm Design is determined by the result of the written test and the result of homework to be solved periodically during the semester. The overall grade for "Fundamental Algorithms for Bioinformatics" is computed by averaging the grades awarded for the two modules.
    MM: Bioinformatics algorithms
    Written exam, followed by oral exam. You are only admitted to the oral if you have passed the written exam. The written exam consists of theoretical questions (problems studied, analysis of algorithms studied, mathematical properties, which algorithms exist for a problem etc.), as well as applications of algorithms to concrete examples (computing a pairwise alignment with the DP algorithm etc.) In the oral exam, the student will explain in detail their solutions to the written exam, and show to what extent they have mastered the topics. Students of the Masters in Molecular and medical biotechnology will have separate questions.

    Reference books
    Activity Author Title Publisher Year ISBN Note
    Algorithm design J. Kleinberg, É. Tardos Algorithm Design (Edizione 1) Addison Wesley 2006 978-0321295354
    Algorithm design H.J. Böckenhauer, D. Bongartz Algorithmic Aspects of Bioinformatics Springer 2007
    Algorithm design Neil C. Jones, Pavel A. Pevzner An introduction to bioinformatics algorithms (Edizione 1) MIT Press 2004 0-262-10106-8
    Algorithm design V. Mäkinen, D. Belazzougui, F. Cunial, and A.I. Tomescu Genome Scale Algorithm Design (Edizione 1) Cambridge University Press 2015 ISBN 978-1-107-07853-6
    Algorithm design J.C. Setubal, J. Meidanis Introduction to Computational Biology Pws Pub Co 1997
    Bioinformatics algorithms Dan Gusfield Algorithms on Strings, Trees, and Sequences Cambridge University Press 1997 0 521 58519 8
    Bioinformatics algorithms Enno Ohlebusch Bioinformatics Algorithms 2013 978-3-00-041316-2
    Bioinformatics algorithms Joao Setubal and Joao Meidanis Introduction to Computational Biology 1997