Home » Teaching » BCHB 524 - 2017

Bioinformatics Computing (BCHB 524 - 2017)

This course provides a hands-on introduction to programming for bioinformatics using the scripting language Python. Students will build a portfolio of scripts that automate common bioinformatics tasks, from reading and writing common bioinformatics file formats and accessing data in relational databases and web-based repositories, interfacing with external tools such as blast, and building web-based resources for use by interactive users or as web-services. Students will be assigned weekly programming exercises and will complete a term project implementing a significant bioinformatics analysis. Grades will be assigned based on weekly programming exercises (60%) and the term project (40%).

Students enrolled in the five credit section are required to attend the lab session, which is optional for students enrolled in the three credit section.

Course Director

Nathan Edwards, PhD
nje5@georgetown.edu
(202) 687-7042
3300 Whitehaven St NW, Suite 1200

Time and Place

Lectures:
Basic Science Building (BSB), Room 341
Monday 1:15 - 2:45pm.
Wednesday 1:15 - 2:45pm.

Lab:
Harris Building (3300 Whitehaven St., NW)
Friday 10:00am - 12:00pm.

Course Software

We will be using a VirtualBox based virtual machine, running Linux (CentOS 5.11), as our course programming environment. The course software includes the VirtualBox installer for Windows and OS X and the virtual machine image. We will be using the Enthought EPD Free Python distribution, with a number of extra python packages and software programs pre-installed, including BioPython, PySAM, SQLObject,TurboGears, NCBI Blast, and PyMol.

Textbook

Textbook (not required) is Bassi, "Python for Bioinformatics."

Important Links

Python Programming Tutorials

Bioinformatics Programming Challenge Sites

Syllabus

Date Room Description Resources
Wed 8/30/2017
No class
Fri 9/1/2017
No class
Mon 9/4/2017
Labor Day
No class. University holiday.
Wed 9/6/2017
1:15 - 2:45
BSB 341Introduction to Python I
Installation, Syntax, Numbers
Administrivia, Lecture 1: Slides, Recording (wmv)
Fri 9/8/2017
10:00 - 12:00
Harris 4300Introduction to Python II
Virtual Box, Numbers, Strings, DNA
Lecture 2: Slides, Recording (wmv)
Mon 9/11/2017
1:15 - 2:45
BSB 341Introduction to Python III
Using Functions and Methods, New Functions, Control Flow
Lecture 3: Slides, Recording (wmv)
Wed 9/13/2017
1:00 - 2:30
BACCIntroduction to Python IV
Conditional Execution, Loops
Lecture 4: Slides, Recording (wmv)
Fri 9/15/2017
10:00 - 12:00
Harris 4300Lab
Mon 9/18/2017
1:15 - 2:45
BSB 341Introduction to Python V
DNA as a string, Program I/O.
Lecture 5: Slides, Recording (wmv)
Wed 9/20/2017
1:15 - 2:45
BSB 341Review
Fri 9/22/2017
10:00 - 12:00
Harris 4300Lab
Mon 9/25/2017
1:15 - 2:45
BSB 341Python Data Structures: Lists
Lists.
Wed 9/27/2017
1:15 - 2:45
BSB 341Advanced Python Data Structures
Dictionaries, Sets, Files. Reading sequences, parsing codon tables, and DNA translation.
Fri 9/29/2017
10:00 - 12:00
Harris 4300Lab
Mon 10/2/2017
1:15 - 2:45
BSB 341Basic Python Review
Lots of examples
Wed 10/4/2017
1:15 - 2:45
BSB 341Advanced Python Idioms
Iteration and iterables, comprehension, functional programming.
Fri 10/6/2017
10:00 - 12:00
Harris 1300Lab
Mon 10/9/2017
Protein Structure (Bio.PDB)
Columbus Day (University holiday). Recorded Lecture
Wed 10/11/2017
Next Gen. Sequencing (PySAM)
Recorded Lecture
Fri 10/13/2017
10:00 - 12:00
Harris 1300Lab
Mon 10/16/2017
1:15 - 2:45
BSB 341Python Modules and Basic File Parsing.
sys, os, os.path; compression; URLS; and CSV.
Wed 10/18/2017
1:15 - 2:45
BSB 341Sequence File Parsing using Biopython.
Bio.SeqIO.
Fri 10/20/2017
10:00 - 12:00
Harris 1300Lab
Mon 10/23/2017
1:15 - 2:45
BSB 341XML
ElementTree (xml.etree)
Wed 10/25/2017
1:15 - 2:45
BSB 341Advanced Python Concepts
Modules.
Fri 10/27/2017
10:00 - 12:00
Harris 4300Lab
Mon 10/30/2017
1:15 - 2:45
BSB 341Advanced Python Concepts
Exceptions.
Wed 11/1/2017
1:15 - 2:45
BSB 341Advanced Python Concepts
Object Oriented Programming.
Fri 11/3/2017
10:00 - 12:00
Harris 1300Project Description
Mon 11/6/2017
Advanced Python Concepts
Object Oriented Programming and Inheritance. Recorded Lecture
Wed 11/8/2017
1:15 - 2:45
TBAUsing Web-Services
NCBI's E-Utils and online Blast.
Fri 11/10/2017
10:00 - 12:00
Harris 1300Lab
Mon 11/13/2017
1:15 - 2:45
BSB 341Using Local Tools
Blast.
Wed 11/15/2017
1:15 - 2:45
BSB 341Relational Databases
Basic Concepts.
Fri 11/17/2017
10:00 - 12:00
Harris 1300Lab
Mon 11/20/2017
1:15 - 2:45
BSB 341Relational Databases
Object Relational Mappers, SQLObject I.
Wed 11/22/2017
1:15 - 2:45
BSB 341Relational Databases
Object Relational Mappers, SQLObject II.
Fri 11/24/2017
Thankgiving.
No class. University holiday.
Mon 11/27/2017
1:15 - 2:45
BSB 341Graphics and Plots
matplotlib.
Wed 11/29/2017
1:15 - 2:45
BSB 341Web-applications
TurboGears.
Fri 12/1/2017
10:00 - 12:00
Harris 1300Lab
Mon 12/4/2017
1:15 - 2:45
BSB 341Web-applications
TurboGears.
Wed 12/6/2017
1:15 - 2:45
Harris 1202Project
Fri 12/8/2017
10:00 - 12:00
Harris 1300Lab
Fri 12/15/2017
Harris 1300Project Presentations
Project due.