Module Information

Module Identifier
Module Title
Programming for Computational Biology
Academic Year
Semester 1
Only available to students registered on MSc Statistics for Computational Biology
Other Staff

Course Delivery

Delivery Type Delivery length / details
Lecture 10 x 2hour lectures
Practical 5 x 2hour practicals


Assessment Type Assessment length / details Proportion
Semester Assessment Practical programming assignment 1  40%
Semester Assessment Practical programming assignment 2  60%
Supplementary Assessment Resubmission of failed/non-submitted coursework components or ones of equivalent value  100%

Learning Outcomes

On successful completion of this module students should be able to:

write code to perform common bioinformatics tasks

query/modify a data file or a database

make use of data in XML format

retrieve information from popular bioinformatics APIs such as ENSEMBL and BLAST


This module aims to equip the students with programming skills for information retrieval, data manipulation, data/model/knowledge storing and sharing, and high performance computing.

Brief description

This module will emphasise use of the scripting language, Python to carry out tasks in Bioinformatics and to manage data using specialist Bioinformatics tools as well as conventional files and database.


1. Basics of Python: types, variables, if, for, while, functions. Understanding how to use the interpreter, how to read error messages, how to write and run code.

2. Reading and writing files. Examples of bioinformatics file formats e.g. CSV, FASTA, FASTQ, SAM, etc. Example programming tasks collecting basic information from these files, reformatting files. General familiarity and experience using Python.

3. Databases: Examining database structure (tables, keys, relations). Interfacing to databases using SQL and Python. Basic design of databases.

4. XML: structure, parsing, correctness and schema. SBML and other examples.

5. Using remote APIs (e.g. ENSEMBL or BLAST) to query online bioinformatics resources

Module Skills

Skills Type Skills details
Application of Number Inherent in the study of programming for bioinformatics
Improving own Learning and Performance Inherent in the module.
Information Technology Programming, interfacing with online data systems
Personal Development and Career planning Gives students practical skills for a career in this field
Problem solving Identifying and using programming techniques to solve problems in Computational Biology
Research skills Problem analysis, data resource discovery, experimental design, data analysis
Subject Specific Skills
Team work


This module is at CQFW Level 7