Bioinformatics

|

MSc

|

Full Time

| Admissions status: Open
Bioinformatics is a multidisciplinary programme involving research, development and application of computational tools for storing, organising and analysing the large amount of biomolecular data now available. Ideal preparation for careers in biotechnology or the pharmaceutical industry or for further advanced research work.

KEY BENEFITS
  • Multidisciplinary programme taught by staff from the Schools of Biomedical & Health Sciences, Medicine and Natural & Mathematical Sciences.
  • Balanced integration of computational, biological and medical aspects in the teaching curriculum.
  • Access to advanced facilities and cutting-edge research projects supervised by Bioinformatics members spanning both Natural & Mathematical Sciences and Biomedical & Health Schools at King's). 
  • Located in the heart of London.

     
KEY FACTS
Student destinations
Biotechnology industry; academic and industrial biotechnology research; general software consultancy companies; specialised software development companies; IT departments of large institutions (in both public and private sector). Students may decide to continue towards an academic career by enrolling for a PhD in computer science or bioinformatics.
Programme leader/s
Professor Costas Iliopoulos
Awarding Institution
King's College London
Credit value (UK/ECTS equivalent)
UK 180/ECTS 90
Duration
One year FT, September to September.
Location
Strand Campus, Guy's Campus
Year of entry 2012
Offered by
School of Natural and Mathematical Sciences
Department of Informatics
Closing date
31 July or until places are filled
Intake
Approximately 20-30.
Fees
FT Home: £7500 (2012)
FT Overseas: £19100 (2012)
CONTACTS
Contact information
Postgraduate Officer, Centre for Arts & Sciences Admissions (CASA) tel: +44 (0) 20 7848 7210 fax: +44 (0) 20 7848 7200
Email Website

PURPOSE
To provide students with theoretical foundations and practical understanding of computational techniques in the study of molecular biology; to prepare for careers in biotechnology or the pharmaceutical industry, or for further advanced research work.

DESCRIPTION
Our programme reflects bioinformatics as a multidisciplinary field involving research, development and application of computational tools for storing, organising and analysing the large amounts of biomolecular data now available (eg genomic, gene expression arrays, protein-protein interactions, protein and nucleic acid structures).

Examples of topics covered are algorithm design and analysis in computational molecular biology; protein structure analysis and prediction; introduction to statistics for bioinformaticians; microarray data analysis; protein/gene interaction networks; systems biology methods. In addition, students with a biology background will be introduced to programming and computer science and students with a computational background will be introduced to molecular biology.

We require students to complete an individual project to be eligible for the MSc degree.

STRUCTURE OVERVIEW
Core programme content

Individual Project



Indicative non-core content
Compulsory Modules:
  • Algorithm Design and Analysis
  • Algorithms for Computational Molecular Biology

In addition to the core compulsory part of this MSc, sStudents then choose also six options from:
  • Fundamentals of Genetics and Biomolecular Structure for Bioinformatics* - Compulsory for students with a background in Computer Science
  • Statistics for Bioinformatics*
  • Data Analysis of Large-Scale Experiments in Molecular Biology*
  • Structural Bioinformatics and Protein Structure Predictions*
  • Advanced Research Topics
  • Database Technology
  • Data Structures and their Implementations in C++ - Compulsory for students with Biological Science background, Optional for students with a background in Computer Science
  • Group Project
  • Text Searching and Processing
  • Genetic Data Analysis in Medicine*
  • Advanced Topics in Computational Genomics


* Students must take at least two of these modules for the award of the MSc.



FORMAT AND ASSESSMENT
Eight taught modules assessed by written examinations; note that some modules (e.g. Group Project) are assessed by a final report only and that modules may contain an obligatory coursework component. Assessment of written final individual project. Candidates who fail to complete the individual project successfully may be considered for the award of a PG Diploma.

MODULES
More information on typical programme modules.
NB it cannot be guaranteed that all modules are offered in any particular academic year.

Module code: 7CCSMADA
Credit level: 7
Credit value: 15
Semester:  Semester 1 (autumn) 

Aims
To introduce strategies for the design of algorithms which are efficient in terms of time and space requirements.

Learning Outcomes
On successfully completing this module you should understand the basic techniques for designing algorithms for fundamental computational problems.

Provisional Syllabus
Introduction:
Algorithms and computational complexity
Asymptotic notation
Pseudocode
Algorithm design techniques:
Divide-and-Conquer: Quicksort
Dynamic programming: matrix chain multiplication
Greedy algorithms: Huffman codes
Order statistics:
Selecting the k-th smallest element of a list - a practical method
Selecting the k-th smallest element of a list - an optimal method
Lower bound on the time complexity of computing the median
Data structures for set manipulation problems:
Fundamental operations on sets
The union-find algorithm
Partitioning
Representations of directed and undirected graphs:
Adjacency-matrix and adjacency-list representations
Breadth-first and depth-first search using adjacency lists
Computing connected components of a graph
Strongly-connected and biconnected components
Topological sorting
Algebraic algorithms:
Strassen matrix multiplication algorithm
The Four Russians boolean matrix multiplication
Winograd's algorithm
LUP decomposition of matrices
Applications of LUP decomposition
Integer and polynomial arithmetic:
Integer and polynomial multiplication and division
Greatest common divisors and Euclid's algorithm
Chinese remaindering

Module code: 7CCSMCMB
Credit level: 7
Credit value: 15
Semester:  Semester 2 (spring) 

Aims
To understand the major concepts and problems of computational molecular biology. To appreciate the importance of these concepts in a wide diversity of practical applications. To learn which of the computational molecular biology problems have efficient algorithmic solutions and which are intractable (for example, which belong to the NP-complete complexity class). For some intractable problems, to understand how heuristic approaches to problem solutions may yield fast but only approximate solutions.

Learning Outcomes
On completing the module you should be able to design exact and efficient algorithms as well as approximation schemes and heuristics for some of the most important algorithms underlying the field of computational molecular biology, or bioinformatics. You will also be able to reason why efficient algorithms for certain problems might not be possible.

Provisional Syllabus
Basic concepts: Definitions and notions from Molecular Biology; DNA Sequence Analysis
Alignement:
Hamming and Levenshtein distances
Dynamic programming algorithm
Hirschberg's algorithm
Substitution matrices (BLOSSUM, PAM) and scoring
Seq vs Seq (Fasta, Dynamic Programming)
Seq vs Databank (BLAST)
Whole genome alignment
Multiple sequence alignment
Approximate string matching:
String matching with "don't cares"
Searching with differences
Searching with mismatches
Fragment assembly:
Shotgun sequencing
Gene detection:
Regular expressions, acceptor and donor sites
Alternative splicing
Secondary structure prediction:
RNA structure
Minimal free energy (Zuker's approach)
Protein Folding
Phylogeny:
Mapping and rearrangements
Clustering and classification techniques


Module code: 7CCSMART
Credit level: 7
Credit value: 15
Semester:  Semester 1 (autumn) 

Aims
To teach you to read and understand research papers and research lectures on your own, and pursue a research topic.

Learning Outcomes
You should obtain a good understanding of a particular technical area at a level that goes substantially beyond the taughts MSc materia.  You should also learn to explore a research area, to identify the important issues and understand their connection with each other and to demonstrate your technical understanding by presenting the results to a scientifica audience.

Provisional Syllabus
In this optional module, you will study advance research literature preferably in an area that is related to the material taught in your programme.

7CCSMART is a first-term module, with work starting at the beginning of the first term, but with the assignment continuing into the second term. Lectures will cover research methods, report/paper writing, and presentation techniques. You must attend at least five selected research seminars during the first term and read several related research papers.

You must agree your choice of research topic with the module organiser, which must be on a topic of in the research area of one of the members of the Department. Towards the end of the first term, you must submit a first draft of a report (approximately 10-15 pages), which will be reviewed by the organiser and other students. The final draft of the report must be submitted in the second term. The submitted report forms the basis of the assessment.

Topics will include:
Doing Research
Writing
Writing Scientific Papers
Presenting Scientific Papers
References
Sources
Refereeing
Module code: 7CCSMDSI
Credit level: 7

The aims of this course are to present properties, implementations, and applications of fundamental and advanced data structures required for the efficient representation, organisation, searching, and manipulation of computer data. The course uses the C++ programming language as the implementation environment.
Module code: 7CCSMDBT
Credit level: 7

To study present and predicted developments in database technology from a formal perspective.
Module code: 7CCSMGPR
Credit level: 7

To provide the experience of working in a syndicate to design, implement and document a substantial software product.
Module code: 7CCSMTSP
Credit level: 7
Credit value: 15
Semester:  Semester 2 (spring) 

Aims
This unit is devoted to algorithms processing strings and texts efficiently. These types of algorithms are used for software design in the domains of operating systems utilities, search engines on the Internet, data retrieval systems, analysis of genetic sequences, and natural language processing, for example.

Learning Outcomes
On completing the module, you should be able to design and implement exact and efficient algorithms for matching patterns in textual data, building indexes for files, and more generally for solving algorithmic problems on strings and sequences.

Provisional Syllabus
Basic concepts:
Periods in strings
Finite automata and regular expressions
Exact pattern matching:
Brute-force algorithms for pattern matching
The Knuth-Morris-Pratt algorithm
The Boyer-Moore algorithm
The Karp-Rabin algorithm
Horspool's algorithm
Multiple pattern matching:
The Aho-Corasick automaton
Two-dimensional pattern matching
Structures for indexes:
Suffix arrays
Suffix trees
Suffix automata
Regular Pattern Matching
From regular expression to automata
Simulation of deterministic automata


ACADEMIC ENTRY REQUIREMENTS
General entry advice
Equivalent of a good second class (normally 2:1) UK honours degree in computer science, mathematics, a bioscience-related subject or a joint degree in two such subjects, plus demonstrable competence in a high level computer programming language.

APPLYING TO KING'S
To apply for graduate study at King's you will need to complete our graduate online application form. Applying online makes applying easier and quicker for you, and means we can receive your application faster and more securely.
King's does not normally accept paper copies of the graduate application form as applications must be made online. However, if you are unable to access the online graduate application form, please contact the relevant admissions/School Office at King's for advice.

APPLICATION PROCEDURE
Your application will be reviewed by an academic tutor and we aim to respond to applications within two weeks although this may take longer during busy periods. Prospective MSc students whose first degree is not single-honours Computer Science must provide evidence of their competence in computer programming. This evidence will be in the form of a questionnaire which we will send you once we receive your application.


PERSONAL STATEMENT & SUPPORTING INFORMATION
Please include transcripts of subjects taken in relevant degrees and copies of all certificates of relevant qualifications mentioned.

FUNDING
Students are self funded.


Staff profiles

Bioinformatics MSc

Bioinformatics is the application of computational methods in the representation and analysis of biological data. This is a discipline that has the potential to drive biological discovery, for example in understanding how diseases develop, discovering novel or more potent drugs and uncovering the design principles of biological organisms.

 

My research and teaching centres on Systems Biology and Computational Genomics: how can we develop efficient computational strategies to express and analyse the intricate details of disease mechanisms or the bewildering diversity of various life forms? To answer such questions, we use computational and mathematical methods, data on genome sequence and structure, and biological experiments that measure gene activities in various environments or conditions. Therefore, research and teaching in Bioinformatics requires a good background in computation and mathematics, as well as life sciences.

 

There is a strong and wide interest in Bioinformatics activities within King's that reflects the international interest in this discipline across academic departments and healthcare companies. Working at the interface of various academic disciplines and contributing in a rapidly developing research area is the challenge and the opportunity of a career in Bioinformatics.