Day 2. Introduction to Programming

Much of bioinformatics requires manipulation of data data sets, execution of multiple external programs, and summary and analysis of results. Many programming langagues, such as Perl and Python excel at these tasks. Here, we will provide an overview of the Python language, demonstrate basic concepts in programming, and show how to create figures and utilize iPython notebooks. Python is a powerfull language with many external packages that permit sophisticated analysis workflows.


Schedule:

Session Time Topics
I 9:00-10:15 AM Intro to Python and Programming Concepts
  10:15-10:30AM Coffee Break
II 10:30-12:00 AM Programming Concepts, Variables, and Data Structures
  12:00-1:00PM Lunch
III 1:00-2:15 PM Control Structures and Functions
  2:15-2:30 PM Coffee Break
IV 2:30-4:00 PM System Calls, Plotting, and iPython Notebooks



Instructors:

Jeff de Wet (JdW)
Jacob Kitzman (JK)


I) Intro to Python and Programming Concepts [1:15 hr] JdW

  • What is Python? What is programming?
  • Setup and execution of simple scripts
  • Data input and output

—- Coffee Break [15 mins] —

II) Programming Concepts, Variables, and Data Structures [1:30 hr] JdW (Handout)

  • Concepts in the Python language
  • Variables and data structures

—- Lunch Break [1 hr] —

III) Control Structures and Functions [1.15 hr] JdW (iPython Notebook)

  • Control structures and loops
  • Functions

—- Coffee Break [15 mins] —

IV) System Calls, Plotting, and iPython Notebooks [1.30 hr] JK

—- End/Wrap-Up —


Datasets

Cereal comma-delimited table
Cereal tab-delimited table

Gene expression table

Reference material

Class Handout

CodeAcademy An interactive online python tutorial for beginners - thanks Adam for sharing this.

Python Quick Referene
Matplotlib Gallery
iPython Notebooks