Home » Teaching » BINF 524 - Fall 2021

Bioinformatics Computing (BINF 524 - Fall 2021)

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 040A, Room G215
2115 Wisconsin Ave.
nje5@georgetown.edu

Time

Lectures:
Monday 1:15 - 2:45pm. MedDent NE201C
Wednesday 1:15 - 2:45pm. MedDent NE201C

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

Virtual Instruction Details

While the normal mode of instruction will be in person, students may need to quarantine or be otherwise unable to attend in person.
  • Lectures will be conducted synchronously via Zoom and recorded and uploaded for asynchronous viewing.
  • Students requiring virtual instruction are not required to join the lectures synchronously, especially if time-zones or other logistical obstacles make this difficult.
  • Students attending virtual instruction synchronously are generally expected to leave their cameras on to promote active participation and engagement.
  • Students attending virtual instruction synchronously are encouraged to speak up during lectures and ask questions verbally or in the chat.
  • The lab session will not be recorded. Students may attend virtually, I will have the Zoom session open, but will work with those in person first.
  • Zoom meeting links will be password protected and available from Canvas.

Course Software

We will be using a VirtualBox based virtual machine, running Linux (CentOS 7.8), as our course programming environment. The course software (Google Drive, Edwards Lab) includes the VirtualBox installer for Windows and OS X and the virtual machine image. 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, NCBI Blast, and PyMol.

Downloads

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