CS 5046: Computation for the Life Sciences (Spring 2011)

T. M. Murali

Mondays and Wednesdays, 4pm--5:15pm, 316 McBryde Hall

Office hours: 9:30am--11:30am Wednesdays 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 CS 5045. 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

  1. Required
  2. Recommended
  3. 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 5, due at start of class 30%
Midterm examinations February 28 and April 6, in class 20% each
Final project Due May 6, 5PM 30%

Class Schedule

The schedule is very likely to change throughout the semester.
Week Monday Wednesday
1 (Jan 17/19) University Holiday Introduction, Perl background, Quiz
MPB, Chapter 2
2 (Jan 24/26) Perl references
MPB, Chapter 2
Perl modules and packages, Condition.pm
Directory with datasets
3 (Jan 31/Feb 2) How to be Lazy and Write as Little Code as Possible or
The Wonderful World of CPAN
Command-line options and POD
Gene expression data
lecture-05.pl
CS5046::Expression.pm,
ALL/AML dataset
4 (Feb 7/9) Gene expression data
Same files as the last class
ALL/AML sample annotations
Class cancelled
5 (Feb 14/16) Object-oriented programming, Gene expression data
lecture-08.pl, CS5046::ExpressionOO.pm
Homework 1 assigned
Object-oriented programming continued
Same code as the previous class
6 (Feb 21/23) More object-oriented programming, Molecular interaction networks
lecture-10.pl, CS5046::Network.pm, BioGRID network
Homework 1 due
Even more object-oriented programming with networks
Same code as the previous class
Homework 2
7 (Feb 28/Mar 2) Continuing object-oriented programming with networks Continuing object-oriented programming with networks
Homework 2 due
8 (Mar 14/16) Midterm examination 1 Solutions to Homework 1
CS5046::ExpressionOO.pm
9 (Mar 21/23) Solutions to Homeworks 1 and 2 Solutions to Homeworks 1 and 2
10 (Mar 28/30) Interaction between multiple classes
GO/Ontology.pm
GO/Term.pm
lecture-15.pl
OBO file describing the Gene Ontology
Class cancelled
11 (Apr 4/6) Class::Struct
Roots, parents, and grandparents
Homework 3
12 (Apr 11/13) Ancestors, Depth first and breadth-first search Homework 3 due
Homework 4
13 (Apr 18/20) Sorting
Sort.pm, lecture-18.pl
Sorting
Homework 4 due
14 (Apr 27/29) Algorithm analysis
Homework 5
Class cancelled
15 (May 2/4) Algorithm analysis
Homework 5 due
Midterm examination 2

Last modified: Mon Apr 25 14:10:08 EDT 2011