Home » Teaching » BINF 524 - Fall 2022
Bioinformatics Computing (BINF 524 - Fall 2022)
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, PhDSuite 040A, Room G215
2115 Wisconsin Ave.
nje5@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-001Virtual 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 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 virtual machine, running Linux (CentOS 7.9), as our course programming environment. The course software can be downloaded from Google Drive or 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 M1/M2-based 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, NCBI Blast, and PyMol.Downloads for Intel-based Computers
- VirtualBox: Windows, MacOS.
- Virtual Machine Image: BINF524 Linux (Fall 2022) Version 1.0.ova.
Downloads for M1/M2-based MacOS Computers
- UTM: MacOS.
- Virtual Machine Image: BINF524 Linux (Fall 2022) Version 1.0.utm.zip.
Textbook
Textbook (not required) is Bassi, "Python for Bioinformatics."Important Links
- http://tinyurl.com/binf524-22
- 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/24/2022 1:15 - 2:45 | BSC 341 | Introduction to Python I Installation, Syntax, Numbers | Administrivia, Lecture 1: Slides, Recording (mp4) |
Fri 8/26/2022 10:00 - 12:00 | WIS2115 G1-001 | Introduction to Python II Virtual Box, Numbers, Strings, DNA | Lecture 2: Slides, Recording (mp4) |
Mon 8/29/2022 1:15 - 2:45 | BSC 341 | Introduction to Python III Using Functions and Methods, New Functions, Control Flow | Lecture 3: Slides, Recording (mp4) |
Wed 8/31/2022 1:15 - 2:45 | BSC 341 | Introduction to Python IV Conditional Execution, Loops | Lecture 4: Slides, Recording (mp4) |
Fri 9/2/2022 10:00 - 12:00 | WIS2115 G1-001 | Lab | |
Mon 9/5/2022 | University Holiday Class moved to Tuesday | ||
Tues 9/6/2022 1:15 - 2:45 | BSC 341 | Introduction to Python V DNA as a string | Lecture 5: Slides, Recording (mp4) |
Wed 9/7/2022 1:15 - 2:45 | BSC 341 | Introduction to Python VI Program I/O | Lecture 6: Slides, Recording (mp4) |
Fri 9/9/2022 10:00 - 12:00 | WIS2115 G1-001 | Lab | |
Mon 9/12/2022 1:15 - 2:45 | BSC 341 | Python Data Structures: Lists Lists. | Lecture 7: Slides, Recording (mp4) |
Wed 9/14/2022 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/16/2022 10:00 - 12:00 | WIS2115 G1-001 | Lab | |
Mon 9/19/2022 1:15 - 2:45 | BSC 341 | Basic Python Review Lots of examples | Lecture 9: Slides, Recording (mp4) |
Wed 9/21/2022 1:15 - 2:45 | BSC 341 | Advanced Python Idioms Iteration and iterables, comprehension, functional programming. | Lecture 10: Slides, Recording (mp4) |
Fri 9/23/2022 10:00 - 12:00 | WIS2115 G1-001 | Lab | |
Mon 9/26/2022 1:15 - 2:45 | BSC 341 | No class | |
Wed 9/28/2022 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) |
Fri 9/30/2022 10:00 - 12:00 | WIS2115 G1-001 | Lab | |
Mon 10/3/2022 1:15 - 2:45 | BSC 341 | Sequence File Parsing using Biopython. Bio.SeqIO | Lecture 12: Slides, Recording (mp4) |
Wed 10/5/2022 1:15 - 2:45 | BSC 341 | Next Gen. Sequencing PySAM | Lecture 13: Slides, Recording (mp4) |
Fri 10/7/2022 10:00 - 12:00 | WIS2115 G1-001 | Lab | |
Mon 10/10/2022 | University Holiday No class | ||
Wed 10/12/2022 1:15 - 2:45 | BSC 341 | XML ElementTree (xml.etree) | Lecture 14: Slides, Recording (mp4) |
Fri 10/14/2022 10:00 - 12:00 | WIS2115 G1-001 | Lab | |
Mon 10/17/2022 1:15 - 2:45 | BSC 341 | Matrices, Data-Frames numpy, pandas. | Lecture 15: Slides, Recording (mp4) |
Wed 10/19/2022 1:15 - 2:45 | BSC 341 | Advanced Python Concepts Modules. | Lecture 16: Slides, Recording (mp4) |
Fri 10/21/2022 10:00 - 12:00 | WIS2115 G1-001 | Lab | |
Mon 10/24/2022 1:15 - 2:45 | BSC 341 | Advanced Python Concepts Exceptions. | Lecture 17: Slides, Recording (mp4) |
Wed 10/26/2022 1:15 - 2:45 | BSC 341 | Advanced Python Concepts Object Oriented Programming. | Lecture 18: Slides, Recording (mp4) |
Fri 10/28/2022 10:00 - 12:00 | WIS2115 G1-001 | Lab | |
Mon 10/31/2022 1:15 - 2:45 | BSC 341 | Project Description | Lecture 19: Slides, Recording (mp4) |
Wed 11/2/2022 1:15 - 2:45 | BSC 341 | Advanced Python Concepts Object Oriented Programming and Inheritance. | Lecture 20: Slides, Recording (mp4) |
Fri 11/4/2022 10:00 - 12:00 | WIS2115 G1-001 | Lab | |
Mon 11/7/2022 1:15 - 2:45 | BSC 341 | Using Web-Services NCBI's E-Utils and online Blast. | Lecture 21: Slides, Recording (mp4) |
Wed 11/9/2022 1:15 - 2:45 | BSC 341 | Using Local Tools Blast. | Lecture 22: Slides, Recording (mp4) |
Fri 11/11/2022 10:00 - 12:00 | WIS2115 G1-001 | Lab | |
Mon 11/14/2022 1:15 - 2:45 | BSC 341 | Relational Databases Basic Concepts. | Lecture 23: Slides, Recording (mp4) |
Wed 11/16/2022 1:15 - 2:45 | BSC 341 | Relational Databases Object Relational Mappers, SQLObject I. | Lecture 24: Slides, Recording (mp4) |
Fri 11/18/2022 10:00 - 12:00 | WIS2115 G1-001 | Lab | |
Mon 11/21/2022 1:15 - 2:45 | BSC 341 | Relational Databases Object Relational Mappers, SQLObject II. | Lecture 25: Slides, Recording (mp4) |
Tue 11/22/2022 12:00 - 1:30 | BSC 341 | Graphics and Plots matplotlib. | Lecture 26: Slides, Recording (mp4) |
Fri 11/25/2022 | Thanksgiving Recess No class | ||
Mon 11/28/2022 1:15 - 2:45 | BSC 341 | Web-applications TurboGears. | Lecture 27: Slides, Recording (mp4) |
Wed 11/30/2022 1:15 - 2:45 | BSC 341 | Web-applications TurboGears. | Lecture 28: Slides, Recording (mp4) |
Fri 12/2/2022 10:00 - 12:00 | WIS2115 G1-001 | Project | |
Mon 12/5/2022 1:15 - 2:45 | BSC 341 | Project | |
Fri 12/9/2022 10:00 - 12:00 | WIS2115 G1-001 | Project | |
Fri 12/16/2022 | WIS2115 G1-001 | Project Presentations Project due. |