Home » Teaching » BINF 5240 - Fall 2024

Bioinformatics Computing (BINF 5240 - Fall 2024)

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
Suite 200A, Room 203
2115 Wisconsin Ave.
nje5@georgetown.edu

Teaching Assistant

Tianshu Ye
ty317@georgetown.edu

Time

Lectures:
Monday 1:15 - 2:45pm. Basic Science 341
Wednesday 1:15 - 2:45pm. Basic Science 341

Lab:
Friday 10:00am - 12:00pm. Wisconsin 2115, Room G1-001

Course Software

We will be using a virtual machine, running Linux (CentOS 7.9), as our course programming environment. The course software can be downloaded from the Edwards Lab. The VirtualBox installer for Windows and MacOS running on Intel-based computers and the corresponding virtual machine image is provided. The UTM installer for MacOS running on Apple-silicon (M1/M2/M3) computers and the corresponding virtual machine image is provided. We will be using the Anaconda Python distribution, with a number of extra python packages and software programs pre-installed, including BioPython, PySAM, SQLObject, TurboGears, and NCBI Blast.

Downloads for Intel-based Computers
Downloads for Apple-silicon (M1/M2/M3) MacOS Computers

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/28/2024
No class
Fri 8/30/2024
No class
Mon 9/2/2024
University Holiday
Class moved to Tuesday
Tues 9/3/2024
1:15 - 2:45
BSC 341Introduction to Python I
Installation, Syntax, Numbers
Administrivia, Lecture 1: Slides, Recording (mp4)
Wed 9/4/2024
1:15 - 2:45
BSC 341Introduction to Python II
Virtual Box, Numbers, Strings, DNA
Lecture 2: Slides, Recording (mp4)
Fri 9/6/2024
10:00 - 12:00
WIS2115 G1-001Lab
Mon 9/9/2024
1:15 - 2:45
BSC 341Introduction to Python III
Using Functions and Methods, New Functions, Control Flow
Lecture 3: Slides, Recording (mp4)
Wed 9/11/2024
1:15 - 2:45
BSC 341Introduction to Python IV
Conditional Execution, Loops
Lecture 4: Slides, Recording (mp4)
Fri 9/13/2024
10:00 - 12:00
WIS2115 G1-001Lab
Mon 9/16/2024
1:15 - 2:45
BSC 341Introduction to Python V
DNA as a string
Lecture 5: Slides, Recording (mp4)
Wed 9/18/2024
1:15 - 2:45
BSC 341Introduction to Python VI
Program I/O
Lecture 6: Slides, Recording (mp4)
Fri 9/20/2024
10:00 - 12:00
WIS2115 G1-001Lab
Mon 9/23/2024
1:15 - 2:45
BSC 341Python Data Structures: Lists
Lists.
Lecture 7: Slides, Recording (mp4)
Wed 9/25/2024
1:15 - 2:45
BSC 341Advanced Python Data Structures
Dictionaries, Sets, Files. Reading sequences, parsing codon tables, and DNA translation.
Lecture 8: Slides, Recording (mp4)
Fri 9/27/2024
10:00 - 12:00
WIS2115 G1-001Lab
Mon 9/30/2024
1:15 - 2:45
BSC 341Basic Python Review
Lots of examples
Lecture 9: Slides, Recording (mp4)
Wed 10/2/2024
1:15 - 2:45
BSC 341Advanced Python Idioms
Iteration and iterables, comprehension, functional programming.
Lecture 10: Slides, Recording (mp4)
Fri 10/4/2024
10:00 - 12:00
WIS2115 G1-001Lab
Mon 10/7/2024
1:15 - 2:45
BSC 341Python Modules and Basic File Parsing.
sys, os, os.path; compression; URLS; and CSV.
Lecture 11: Slides, Recording (mp4)
Wed 10/9/2024
1:15 - 2:45
BSC 341Sequence File Parsing using Biopython.
Bio.SeqIO
Lecture 12: Slides, Recording (mp4)
Fri 10/11/2024
10:00 - 12:00
WIS2115 G1-001Lab
Mon 10/14/2024
University Holiday
No class
Wed 10/16/2024
1:15 - 2:45
BSC 341Next Gen. Sequencing
PySAM
Lecture 13: Slides, Recording (mp4)
Fri 10/18/2024
10:00 - 12:00
WIS2115 184/190Lab
Mon 10/21/2024
1:15 - 2:45
BSC 341XML
ElementTree (xml.etree)
Lecture 14: Slides, Recording (mp4)
Wed 10/23/2024
1:15 - 2:45
BSC 341Matrices, Data-Frames
numpy, pandas.
Lecture 15: Slides, Recording (mp4)
Fri 10/25/2024
10:00 - 12:00
WIS2115 G1-001Lab
Mon 10/28/2024
1:15 - 2:45
BSC 341Advanced Python Concepts
Modules.
Lecture 16: Slides, Recording (mp4)
Wed 10/30/2024
1:15 - 2:45
BSC 341Advanced Python Concepts
Exceptions.
Lecture 17: Slides, Recording (mp4)
Fri 11/1/2024
10:00 - 12:00
WIS2115 G308Lab
Project Description
Lecture 18: Slides, Recording (mp4)
Mon 11/4/2024
1:15 - 2:45
BSC 341Advanced Python Concepts
Object Oriented Programming.
Lecture 19: Slides, Recording (mp4)
Wed 11/6/2024
1:15 - 2:45
BSC 341Using Web-Services
NCBI's E-Utils and online Blast.
Lecture 20: Slides, Recording (mp4)
Fri 11/8/2024
10:00 - 12:00
WIS2115 G1-001Lab
Mon 11/11/2024
No class
Wed 11/13/2024
1:15 - 2:45
BSC 341Advanced Python Concepts
Object Oriented Programming and Inheritance.
Lecture 21: Slides, Recording (mp4)
Fri 11/15/2024
10:00 - 12:00
WIS2115 G1-001No lab
Mon 11/18/2024
1:15 - 2:45
BSC 341Using Local Tools
Blast.
Lecture 22: Slides, Recording (mp4)
Wed 11/20/2024
1:15 - 2:45
BSC 341Relational Databases
Basic Concepts.
Lecture 23: Slides, Recording (mp4)
Fri 11/22/2024
10:00 - 12:00
WIS2115 G1-001Lab
Mon 11/25/2024
1:15 - 2:45
BSC 341Relational Databases
Object Relational Mappers, SQLObject I.
Lecture 24: Slides, Recording (mp4)
Tues 11/26/2024
12:00 - 1:15
BSC 341Relational Databases
Object Relational Mappers, SQLObject II.
Lecture 25: Slides, Recording (mp4)
Fri 11/29/2024
Thanksgiving Recess
No class
Mon 12/2/2024
1:15 - 2:45
BSC 341Graphics and Plots
matplotlib.
Lecture 26: Slides, Recording (mp4)
Wed 12/4/2024
1:15 - 2:45
BSC 341Web-applications
TurboGears.
Lecture 27: Slides, Recording (mp4)
Fri 12/6/2024
10:00 - 12:00
WIS2115 G1-001Project
Mon 12/9/2024
1:15 - 2:45
BSC 341Web-applications
TurboGears.
Lecture 28: Slides, Recording (mp4)
Fri 12/13/2024
10:00 - 12:00
WIS2115 G1-001Project
Fri 12/20/2024
WIS2115 G1-001Project Presentations