PPBP18 Programming in Python for Biologists

Course Description
Python is an object-oriented programming language that is ideal for biological data analysis. The course will start from zero knowledge, and will introduce the participants to all the basic concepts of Python such as calculating, organizing data, reading and writing files, program logic and writing larger programs. All the examples and practical sessions will focus on solving biological problems. In particular the sessions will cover:
- working with DNA and protein sequences
- data retrieval from files and their manipulation
- running applications, such as BLAST, locally and from a script
- finding motifs in sequence
- parsing common file formats (Uniprot, GenBank, PDB, BLAST) with Biopython
- ways to find and correct program errors
The course will be highly interactive and the students will continuously put theory into practice while learning. By the end of the course, the participants will have a good understanding of Python basics and will have acquired the skills to manage any type of bioinformatics database record and to run applications from scripts. Basic Unix/Linux skills will be provided at the beginning of the course.
Target Audience
End-users of bioinformatics databases and tools that need to manage large files and/or a large number of files and aim at developing hands-on capabilities for their analysis by writing their own or adapting somebody else’s scripts in an autonomous way.
Course Pre-requisites
Basic familiarity with bioinformatics data resources such as Uniprot/Swiss-Prot, Blast, ENSEMBL, PDB, etc. The course is directed to biologists with little or no programming experience and aims at making them capable to use Python to autonomously manage and analyse biological data.
Participants are asked to take a look at pre-course reading material on the Unix/Linux command line before the course, so that we can avoid wasting valuable training time and enter the core subject almost directly, after a brief discussion.
Detailed Program
Day 1
Intro | Python Shell | Python Programs | Structures and Modules
Day 2
Flipped Lesson: Homework Loops | In class assessment
Repeating Things | File Formats | Parsing I | Parsing II
Day 3
Flipped Lesson: Homework Functions | In class assessment
Functions | Best Practices |Error Handling | Data Columns | Tabular Data
Day 4
Data Searching | BLAST Pipeline | Python libraries
Day 5
Hackaton
Learning objectives
Instructors
This course was taught at:
- PPB17 Programming in Python for Biologists Oeiras - Portugal - November 27-30 2017
- Python for Life Scientists Bari - Italy - September 26-30 2016
- BPBR16 Programming in Python for Biologists Oeiras - Portugal - July 11-15 2016
The source for this course webpage is on github.