13-17 November 2017
Python is a dynamic, readable language that is a popular platform for all types of bioinformatics work, from simple one-off scripts to large, complex software projects. This workshop is aimed at people who already have a basic knowledge of Python and are interested in using the language to tackle larger problems. In it, we will look in detail at the parts of the language which are particularly useful in scientific programming, and at the tools Python offers for making development faster and easier. The workshop will use examples and exercises drawn from various aspects of bioinformatics work. After completing the workshop, students should be in a position to (1) take advantage of the advanced language features in their own programs and (2) use appropriate tools when developing software programs.
This workshop is aimed at researchers and technical workers with a background in biology and a basic knowledge of Python. The Advanced course is aimed at people who want to develop bigger or more complicated programs in Python, or to learn more about the language, or to explore different approaches (object-oriented, functional) to programming. The material covered is very general purpose and can be applied to any kind of problem.
Students should have enough biological/bioinformatics background to appreciate the examples and exercise problems (i.e. they should know what a protein accession number, BLAST report, and FASTA sequence is). They should also have basic Python experience (the Introduction to Python for Biologists course will fulfil these requirements). Students should be familiar with the use of lists, loops, functions and conditions in Python and have written at least a few small programs from scratch.
Monday 13th-Classes from 9:30 to 17:30
Session 1- Data structures in Python
In this session we will briefly recap Python's basic data structures, before looking at a couple of new data types — tuples and sets — and discussing where each should be used. We will then see how we can combine these basic types to make more complex data structures for solving specific problems. We'll finish our discussion by looking at specialized data types that are found in the Python core library. This session will also be our first introduction to benchmarking as we talk about the relative performance of different data types. In the practical session we'll learn how to parse an input file into a complex data structure which we can then use to rapidly query the data. Core concepts introduced: tuples, sets, higher-order data structures, default dicts, Counters, big-O notation.
> 30 days before the start date = 30% cancellation fee
< 30 days before the start date= No Refund.
Physalia-courses cannot be held responsible for any travel fees, accommodation or other expenses incurred to you as a result of the cancellation.