CS 5046: Computation for the Life Sciences (Spring 2006)
T. M.
Murali
Tuesday and Thursday, 11AM--12:15PM, 206A Randolph Hall
Office hours: 1-3PM Tuesday and by appointment, 2160B Torgerson
Information on the Course
This course developes the computational, algorithmic, and programming skills needed by graduate students who are interested in doing research in bioinformatics and computational biology, are enrolled in a life science department or the Ph.D. in Genetics, Bioinformatics, and Computational Biology but do not have a computer science background. It builds upon the background developed in CS5045.
The first part of the course introduces students to object-oriented programming using the Perl language and teaches them basic principles of software engineering. The second part of the course deals with the design, analysis and implementation of fundamental algorithms and data structures. The course ends with special topics in Perl of relevance to life science students interested in doing research in bioinformatics and computational biology.
Pre-requisites
You must have graduate standing in a Life Science department or GBCB. CS 5045 is a pre-requisite for this course. Please talk to me if you have not taken CS5045. You cannot use this course to obtain CS major or minor credit. The course is not open to students with graduate standing in the CS programme.Textbooks
- Required
- Mastering Perl for Bioinformatics, James D. Tisdall, O'Reilly & Associates, 2003.
- Recommended
- Object Oriented Perl, Damian Conway, Manning Publications Co., 2000.
- Useful
- Perl Best Practices, Damian Conway, O'Reilly & Associates, 2005. Read online (requires connection via a computer on the VT network).
- Programming Perl, Larry Wall, Tom Christiansen, and Jon Orwant, third edition, O'Reilly & Associates, 2001.
- Perl Cookbook, Tom Christiansen and Nathan Torkington, second edition, O'Reilly & Associates, 2003.
Grading
Your grade will depend on homeworks, two mid-terms, and a final project. Submit your homework at the start of class on the due date.
Homeworks | 6--8, due at start of class | 30% |
Midterm examinations | February 22 and April 5, in class | 20% each |
Final project | Due May 11, 5PM | 30% |
Class Schedule
The schedule is very likely to change throughout the semester.Week | Tuesday | Thursday |
---|---|---|
1 (Jan 16, 18) | Perl background MPB, Chapter 2 |
Perl modules (modules.pl, Conditions.pm)
MPB, Chapter 2 |
2 (Jan 23, 25) |
Perl packages |
How to be
Lazy and Write as Little Code as Possible or The Wonderful World of CPAN |
3 (Jan 30, Feb 1) | Multi-dimensional data structures network.pl, CS5046::Network.pm Network dataset |
Multi-dimensional data structures Same code as the previous class |
4 (Feb 6, 8) | Multi-dimensional data structures Self-interactions and degree distributions Homework 1 |
Gene expression data gene-expression.pl CS5046::Expression.pm, ALL/AML dataset |
5 (Feb 13, 15) |
Object-oriented programming CS5046::Expression.pm, gene-expression-oo.pl Homework 1 due |
Object-oriented programming continued Same code as the previous class Homework 2 |
6 (Feb 20, 22) | Review | Midterm 1 Homework 2 due |
7 (Feb 27, Mar 1) | Interaction between multiple classes GO/Ontology.pm gene-ontology.pl OBO file describing the Gene Ontology |
Class cancelled |
8 (Mar 13, 15) | Interaction between multiple classes GO/Ontology.pm GO/Term.pm Homework 3 |
Command line options and POD |
9 (Mar 20, 22) | Solutions to Homework 3 (GO::Ontology.pm and GO::Term.pm) Homework 3 due |
Depth-first and breadth-first search(GO::Ontology.pm) Homework 4 |
10 (Mar 27, 29) | Depth-first and breadth-first search continued | Depth-first and breadth-first search continued |
11 (Apr 3, 5) | Solutions to Homework 4 Homework 4 due |
Midterm 2 |
12 (Apr 10, 12) | Algorithm analysis, Sort.pm, sort.pl | Algorithm analysis, Sorting Homework 5 |
12 (Apr 17, 19) | ||
13 (Apr 25, 27) | ||
14 (May 1) | ||
May 8 | Final project due at 5pm |
Last modified: Mon Apr 9 22:08:01 EDT 2007