Welcome to the home page for Bioinformatics Programming I, course catalog numbers BINF 6111 and ITCS 8111. Prof. Ann Loraine (aloraineuncc.edu) is your instructor. For more information about Dr. Loraine's background and research interests, visit the Loraine Lab Web site.
Ehsan Tabari (sseyedituncc.edu) is the Teaching Assistant for the class.
For information on class policies, grading, etc., please consult the syllabus. For information on dates and final exam periods, visit the UNCC academic calendar.
Class Meeting times: Class meets Wednesday and Friday, 9:30-10:45 pm, in the Bioinformatics building first floor computer lab.
Office Hours and TA Help session
Dr. Loraine is available on campus to talk one-on-one with students before class in her office (BINF, room 267). You are also welcome to make a phone appointment if you can't make that time.
Ehsan Tabari is available for help sessions on an as-needed basis, hours and dates to be arranged.
Python links and resources
Please note that topics and assignments listed for individual dates may change. Please check back before each class period for updates.
Week 1 Aug 25-27
Class 1: Class Intro.
Assignment: Emacs Lab 
Assignment: First Day of Class Survey.
Reference: Emacs Command Summary
Week 2 Sept 1 - Sep 3
Reading: Chapters 1-3, Python Programming by John Zelle and Chapters 2 & 3, Dive into Python by Mark Pilgrim.
Class 1: Unix Review, Core data types, functions in python.
Due: Unix lab 
Assignment: Numbers, strings 
Class 2: Unix - shell and environment variables, Core data types, functions in python.
Sample Dot-Bash-Profile: sample-dot-bash-profile.txt
Week 3 Sep 8 - Sep 9Class 1: Lists, dictionaries.
Week 4 Sep 15 - Sep 17
Class 1: Putting it all together: In-class Programming Assignment 
Due: Lists & dictionaries 
Class 2: Introduction to Version control. Using subversion
Assignment: Subversion lab 
Before-class reading: Chapters One through Three in: Version Control with Subversion
Week 5 Sep 22 - Sep 24
Reading: Object Oriented Programming in Learning to Program by Alan Gauld.
Class 1: Object-oriented programming - Encapsulation and Data Hiding
Assignment: OOP 
Due: Subversion Lab 
Due: In-class Programming Assignment (check in via subversion) 
Notes: Sequence coordinates
Class 2: OOP - Inheritance, UML
Week 6 Sep 29 - Oct 1Class 1: Errors and exceptions Before-Class Reading: Errors and Exceptions Tutorial
Class 2: OOP - Patterns in Software
Assignment: Inheritance - Project One
Due: OOP  -- turn it in via subversion
Week 7 Oct 6 - Oct 8
Class 1: Project One Discussion, Documentation, Regular Expressions
Assignment: Regular Expressions 
Before-class reading: Regular Expression HOWTO
Background (for the homework): AGI gene codes
Class 2: IGB lab, Regular expressions, con't
Tutorial: IGB lab
Week 8 Oct 13 - Oct 15
Class 1: Unit testing.
Before-Class Reading: Dive Into Python: Unit Testing Due: Regular Expressions 
Class 2: Unit testing, con't
Week 9 Oct 20 - Oct 22
Class 1: Intro to Algorithms
Due: Project One.
Class 2: Intro to Algorithms; Project One code review
Assignment: Project One revision/code review - Part One 
Week 10 - Oct 27 - Oct 29
Class 1: Named arguments and OOP - Project One code review, con't
Due: Project One revision/code review - Part One 
Assignment: Project One revision - Part Two 
Class 2: Revising Project One, Partner evaluations
Week 11 Nov 3 - Nov 5
Class 1: In-class programming; Subversion refresher Due: Project One revision - Part Two  (Thursday, 8 pm)
Class 2: Code Review - Which is better? Finding NMD targets
Assignment: NMD targets 
Week 12 Nov 10 - Nov 12
Class 1: RNA-Seq, HW11 setup
FASTQ: FASTQ format
Tutorial: IGB lab
Class 2: Visualizing RNA-Seq data, Option parsing
Reading: Check out binf_prog/class/src/optdemo.py
Week 13 Nov 17 - Nov 19
Class 1: Statistical programming with R
Notes: EEJ distance diagram
Assignment: Intro to R 
Class 2: Statistical programming with R - class notes
Assignment: Project Two
Due: NMD targets 
Notes: Thomas Girke's R workshop
Reference: Dalgaard's Introductory Statistics with R, 2nd edition
Video: R on Windows (basic)
Video: Reading Excel spreadsheets
Video: Using R to do a related t-test
Video: Using R to perform simple linear regression
Rpy:Tool-building in Bioinformatics: Rpy
Reference: First Steps in R by Florian Markowetz, et al.
Week 14 Nov 24 - Nov 26 - No class (Thanksgiving holiday)
Week 15 Dec 1 - Dec 3
Class 1: samtools and SAM, Project Two
Reading: Binary search Can a binary search make your program faster?
Reading: SAM Format specification
Link: data files for project two Link: samtools-0.1.11.zip - compiled on MacOSX
Class 2: Project Two help sessions
Due: Intro to R
Week 16 Dec 8 (Dec 8 is the last day of class)
Class 1: Review, Project Two help sessions
Project Two - due by 5 pm, Thursday Dec 16