Title

Programming in Bioinformatics - Introduction to Python

About

Many bioinformatics tasks require the development of custom tools for processing data, often involving the processing and parsing of numerous files. In this course we will give an introduction to the programming language Python which is suitable for such tasks. We will cover basic programming concepts including string formatting, control structures, functions, modules, lists, dictionaries, objects, string manipulation, regular expressions, file processing, filters, xml, and parsing, and we will learn how to build simple yet powerful programs solving many different types of problems. Concrete examples of using Python in bioinformatics contexts will be given, and a mandatory project will cover bioinformatics applications.

Why Python? See one of several reasons here.

Go to the course homepage here.

Course objective

After successfully completing the course, students will be able to write sophisticated Python programs solving complex problems involving parsing of files and web pages and general data analysis.

Schedule

The course is taught in two weekly blocks: Mondays and Thursdays 2pm-4pm. A block consists of a lecture followed by a supervised exercise session where each student can get help with the exercises. Contrary to typical Teoretiske øvelser, students will not demonstrate solutions to each other. The location is room 123 in the Stibitz building in the Dept. of Comp. Science at Katrinebjerg.

Students should keep all their exercise solution programs; they might come in handy later in the course as building blocks for larger programs, and in some exercises the job will be to revise the solution to a previously given exercise.

The lectures highlight parts of the weekly reading material and further exemplify certain aspects. Thus, students are expected to read the weekly teaching material prior to attending the lectures.

Literature

Lecture notes.

Evaluation

A mandatory project graded on the 13-scale.

Credits

5 ETCS.

Lecturer

Jakob Fredslund (
jakobf@birc.au.dk)

Prerequisites

Familiarity with computers but not with programming.