Python programming with applications to bioinformatics

October 9, 2023 October 13, 2023

Python programming with applications to bioinformatics

October 9 @ 09:00 October 13 @ 17:00 CEST

National course open for PhD students, postdocs, researchers and other employees in need of fundamental Python skills within all Swedish universities

Responsible teachers: Nina Norgren, Dimitris Bampalikis, Jeanette Tångrot

Contact information:

Venues: SciLifeLab Uppsala, Trippelrummet, BMC & Umeå University, Naturvetarhuset, room NAT.D.370

Important dates

Application open: June 15

Application deadline: September 8

Confirmation to accepted participants: September 15

Course fee

 A course fee* of 3000 SEK will be invoiced to accepted participants. This includes lunches, coffee and snacks, and course dinner

*Please note that NBIS cannot invoice individuals

Course description

This course provides a practical introduction to the writing of Python programs for the complete novice. Participants are led through the core aspects of Python illustrated by a series of example programs. Upon completion of the course, attentive participants will be able to write simple Python programs from scratch and to customize more complex code to fit their needs.


This course runs in parallel both on-site in Uppsala and in Umeå. Lectures will be streamed online from our Uppsala site to the Umeå site. Several teaching assistants will be present both in the Umeå and Uppsala classroom all week to help with exercises and questions. When registering you will be asked to which site you apply.

The course consists of a mix of presentations, demonstrations, and practical exercises (either in the lab with assistants or on your own). Prior to the course, you can read a companion book “Programming Python”, or “Learning Python”. Such a book will also prove useful for your programming tasks, after the course is over. It is however not required, and material will be presented in class.

Course content

  • Core concepts about Python syntax: Data types, blocks and indentation, variable scoping, iteration, functions, methods and arguments
  • Different ways to control program flow using loops and conditional tests
  • Regular expressions and pattern matching
  • Writing functions and best-practice ways of making them usable
  • Reading from and writing to files
  • Code packaging and Python libraries
  • How to work with biological data using external libraries.

Learning outcomes

  • Describe and apply basic concepts in Python, such as:
    • Loops
    • If/else statements
    • Functions
    • Reading/writing to files
  • Being able to edit and run Python code
  • Write file-processing Python programs that produce output to the terminal and/or external files
  • Create stand-alone python programs to process biological data
  • Know how to develop your skills in Python after the course (including debugging)

Entry requirements

The course is suitable for complete beginners and assumes no prior programming experience (beyond the ability to use a text editor). A very basic knowledge of UNIX would be an advantage, such as navigating through folders and issuing commands at a shell prompt. We will not teach UNIX in detail: Other courses are available at SciLifeLab for it. Make sure your laptop has python installed for the practical exercises.

Selection criteria

Due to limited space the course can accommodate a maximum of 25 participants in Uppsala and 15 in Umeå. If we receive more applications, participants will be selected based on several criteria. Selection criteria include correct entry requirements, motivation to attend the course as well as gender and geographical balance.

Please note that NBIS training events do not provide any formal university credits. The training content is estimated to correspond to 1.5 hp credits, however the estimated credits are just recommendations. If formal credits are crucial, the student needs to confer with the home department before submitting a course application in order to establish whether the course is valid for formal credits or not.

Last updated: 2023-06-15

Content Responsible: Maria Bäckström(