Computational Methods in Bioinformatics
This course demonstrates how computational methods that have been presented in other computing courses can be applied to solve problems in an application area. We look at problems related to the analysis of biological sequence data (sequence bioinformatics) and macromolecular structures (structural bioinformatics).
Computing scientists need to be able to understand problems that originate in areas that may be unfamiliar to them, and to identify computational methods and approaches that can be used to solve them. Biological concepts needed to understand the problems will be introduced.
Reading research articles is valuable training for scientists and researchers. Developing skill in reading research articles is useful preparation for future scientific studies, and at the same time their own scientific writing can be improved. Therefore, in this course, research articles are used as the main reference material, in particular to show how to present ideas and methods, and how to critically evaluate them.
Computational methods and concepts featured in this course include: dynamic programming; heuristic algorithms; graph partitioning; image skeletonisation, smoothing and edge detection; clustering; sub-matrix matching; geometric hashing; constraint logic programming; Monte Carlo optimisation; simulated annealing; self avoiding walks.
Biological problems featured in this course include: sequence alignment; domain assignment; structure comparison; comparative modelling; protein folding; fold recognition; finding channels; molecular docking; protein design.