Skip to content
This repository has been archived by the owner on Jun 13, 2023. It is now read-only.

2021 Autumn Semester. Assignment Descriptions and Project for the course.

Notifications You must be signed in to change notification settings

sutne-NTNU/TDT4287-Algorithms-for-Bioinformatics

Repository files navigation

Algorithms for Bioinformatics

Course content

The course deals with algorithms with applications in bioinformatics, with a particular focus on algorithms and data structures for search, comparisons, and motif discovery in strings. The course uses biological examples to motivate algorithms and solutions, but the course's focus is on the algorithmic problems and solutions.

Learning outcome

Knowledge

  • Knows how dynamic programming (DP) can be used to solve string comparison problems such as "longest common subsequence", "edit distance", "local alignment", and "global alignment".
  • Knows how the DP solution for aligning two strings can be extended to aligning multiple strings.
  • Knows how k-mer indexes can be used for exact and approximate string search.
  • Knows what a keyword tree is, and how this index structure is built and used for string search.
  • Knows what a suffix tree is, how Ukkonen's algorithm can build this index structure in linear time, and how suffix trees can be used to solve different string search and comparison problems.
  • Knows how to find string motifs by using exact (branch-and-bound) and heuristic (simulated annealing) methods.
  • Knows how sequence assembly is connected to the shortest super-string problem and why the Euler-cycle problem is a special version of sequence assembly.
  • Knows what hidden Markov-models (HMM) are, how these can be used to model and identify properties of strings, and how the Viterbi, forward, and backward HMM algorithms work.
  • Knows what a RNA secondary structure is, how this relates to palindromes, and how DP can be used to find optimal and suboptimal RNA secondary structures.

Skills

  • Implement known algorithms and data structures and use these on real data.
  • Recognize variants of known problems and adapt known algorithms to solve these variant problems.

Competence

  • Choose between alternative solutions and use the solution that is most appropriate to solve a set of problems involving real data.
  • Give oral and written presentations of own solutions and results.

About

2021 Autumn Semester. Assignment Descriptions and Project for the course.

Resources

Stars

Watchers

Forks