Home » Teaching » BINF 5240 - Fall 2025
Bioinformatics Computing (BINF 5240 - Fall 2025)
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 Directors
Nathan Edwards, PhDSuite 200A, Room 203
2115 Wisconsin Ave.
nje5@georgetown.edu
Markus Hoffmann, PhD
Suite 200A, Room 204
2115 Wisconsin Ave.
mh2437@georgetown.edu
Teaching Assistant
Arjit Saxenaas5806@georgetown.edu
Time
Lectures:
Monday 1:15 - 2:45pm. Basic Science 341Wednesday 1:15 - 2:45pm. Basic Science 341
Lab:
Friday 10:00am - 12:00pm. Wisconsin 2115, Room G1-001Course Software
We will be using a virtual machine, running Linux (AlmaLinux OS 9.5), as our course programming environment. The course software can be downloaded from Google Drive. The VirtualBox virtualization software (v7.2.0) for Windows and MacOS running on Apple silicon-based, and Intel-based computers are provided. A virtual machine image is also provided for Windows and MacOS running on Apple silicon-based, and Intel-based hosts. Installation instructions are provided too. We will be using the Anaconda Python distribution (Python v3.13), with a number of extra python packages and software programs pre-installed, including BioPython, PySAM, SQLObject, TurboGears, and NCBI Blast.Downloads for Windows
Downloads for Apple silicon-based MacOS
Downloads for Intel-based MacOS
Important Links
- Data Directory
- Canvas (Announcements, Assignments)
Python Programming Tutorials
- Learn Python the Hard Way
- Non-Programmers Tutorial For Python
- The Python Tutorial
- How to Think Like a Computer Scientist
Bioinformatics Programming Challenge Sites
Syllabus
Date | Room | Description | Resources |
---|---|---|---|
Wed 8/27/2025 1:15 - 2:45 | BSC 341 | Introduction to Python I Installation, Syntax, Numbers | Administrivia, Lecture 1: Slides, Recording (mp4) |
Fri 8/29/2025 10:00 - 12:00 | WIS2115 G1-001 | Introduction to Python II Virtual Box, Numbers, Strings, DNA | Lecture 2: Slides, Recording (mp4) |
Mon 9/1/2025 | University Holiday Class moved to Tuesday | ||
Tues 9/2/2025 1:15 - 2:45 | BSC 341 | Introduction to Python III Using Functions and Methods, New Functions, Control Flow | Lecture 3: Slides, Recording (mp4) |
Wed 9/3/2025 1:15 - 2:45 | BSC 341 | Introduction to Python IV Conditional Execution, Loops | Lecture 4: Slides, Recording (mp4) |
Fri 9/5/2025 10:00 - 12:00 | WIS2115 G1-001 | Lab | |
Mon 9/8/2025 1:15 - 2:45 | BSC 341 | Introduction to Python V DNA as a string | Lecture 5: Slides, Recording (mp4) |
Wed 9/10/2025 1:15 - 2:45 | BSC 341 | Introduction to Python VI Program I/O | Lecture 6: Slides, Recording (mp4) |
Fri 9/12/2025 10:00 - 12:00 | WIS2115 G1-001 | Lab Introduction to pseudocode (Hoffmann) | Lecture: Slides |
Mon 9/15/2025 1:15 - 2:45 | BSC 341 | Python Data Structures: Lists Lists. | Lecture 7: Slides, Recording (mp4) |
Wed 9/17/2025 1:15 - 2:45 | BSC 341 | Advanced Python Data Structures Dictionaries, Sets, Files. Reading sequences, parsing codon tables, and DNA translation. | Lecture 8: Slides, Recording (mp4) |
Fri 9/19/2025 10:00 - 12:00 | WIS2115 G1-001 | Lab | |
Mon 9/22/2025 1:15 - 2:45 | BSC 341 | Basic Python Review Lots of examples | Lecture 9: Slides, Recording (mp4) |
Wed 9/24/2025 1:15 - 2:45 | BSC 341 | Advanced Python Idioms Iteration and iterables, comprehension, functional programming. | Lecture 10: Slides, Recording (mp4) |
Fri 9/26/2025 10:00 - 12:00 | WIS2115 205 | Lab | |
Mon 9/29/2025 1:15 - 2:45 | BSC 341 | Python Modules and Basic File Parsing. sys, os, os.path; compression; URLS; and CSV. | Lecture 11: Slides, Recording (mp4) |
Wed 10/1/2025 1:15 - 2:45 | BSC 341 | Sequence File Parsing using Biopython. Bio.SeqIO | Lecture 12: Slides, Recording (mp4) |
Fri 10/3/2025 10:00 - 12:00 | WIS2115 G1-001 | Lab | |
Mon 10/6/2025 1:15 - 2:45 | BSC 341 | XML ElementTree (xml.etree) | Lecture 13: Slides, Recording (mp4) |
Wed 10/8/2025 1:15 - 2:45 | BSC 341 | Next Gen. Sequencing PySAM | Lecture 14: Slides, Recording (mp4) |
Fri 10/10/2025 10:00 - 12:00 | WIS2115 G1-001 | Lab | |
Mon 10/13/2025 | University Holiday No class | ||
Wed 10/15/2025 1:15 - 2:45 | BSC 341 | Matrices, Data-Frames numpy, pandas. | |
Fri 10/17/2025 10:00 - 12:00 | WIS2115 205 | Lab | |
Mon 10/20/2025 1:15 - 2:45 | BSC 341 | Advanced Python Concepts Modules. | |
Wed 10/22/2025 1:15 - 2:45 | BSC 341 | Advanced Python Concepts Exceptions. | |
Fri 10/24/2025 10:00 - 12:00 | WIS2115 G1-001 | Lab | |
Mon 10/27/2025 1:15 - 2:45 | BSC 341 | Project Description | |
Wed 10/29/2025 1:15 - 2:45 | BSC 341 | Advanced Python Concepts Object Oriented Programming. | |
Fri 10/31/2025 10:00 - 12:00 | WIS2115 G1-001 | Lab | |
Mon 11/3/2025 1:15 - 2:45 | BSC 341 | Advanced Python Concepts Object Oriented Programming and Inheritance. | |
Wed 11/5/2025 1:15 - 2:45 | BSC 341 | Using Web-Services NCBI's E-Utils and online Blast. | |
Fri 11/7/2025 10:00 - 12:00 | WIS2115 G1-001 | Lab | |
Mon 11/10/2025 1:15 - 2:45 | BSC 341 | Using Local Tools Blast. | |
Wed 11/12/2025 1:15 - 2:45 | BSC 341 | Relational Databases Basic Concepts. | |
Fri 11/14/2025 10:00 - 12:00 | WIS2115 G1-001 | Lab | |
Mon 11/17/2025 1:15 - 2:45 | BSC 341 | Relational Databases Object Relational Mappers, SQLObject I. | |
Wed 11/19/2025 1:15 - 2:45 | BSC 341 | Relational Databases Object Relational Mappers, SQLObject II. | |
Fri 11/21/2025 10:00 - 12:00 | WIS2115 G1-001 | Lab | |
Mon 11/24/2025 1:15 - 2:45 | BSC 341 | Graphics and Plots matplotlib. | |
Wed 11/26/2025 1:15 - 2:45 | BSC 341 | No class | |
Fri 11/28/2025 | Thanksgiving Recess No class | ||
Mon 12/1/2025 1:15 - 2:45 | BSC 341 | Web-applications TurboGears. | |
Wed 12/3/2025 1:15 - 2:45 | BSC 341 | Web-applications TurboGears. | |
Fri 12/5/2025 10:00 - 12:00 | WIS2115 G1-001 | Project | |
Mon 12/8/2025 1:15 - 2:45 | BSC 341 | Project | |
Fri 12/12/2025 10:00 - 12:00 | WIS2115 G1-001 | Project | |
Fri 12/19/2025 | WIS2115 G1-001 | Project Presentations |