COSC 576 Computational Tools for Bioinformatics

Last modified: "April 10 , 2008 09:28:24 by evett"

Instructor: Matthew Evett


Textbook:Michael Moorhouse and Paul Barry, Bioinformatics, Biocomputing and Perl , Wiley, 2004.

Recommended text: James Tisdall, Mastering Perl for Bioinformatics, O'Reilly, 2003.

Look for any symbols below!

There is info about the webcaucus, below!

Course Syllabus


Lecture Notes

Some of the code in the lecture notes is borrowed from the textbooks from last year's course: James Tisdall, Beginning Perl for Bioinformatics, O'Reilly, 2001 and James Tisdall, Mastering Perl for Bioinformatics, O'Reilly, 2003.

  1. Here is an example of Perl session, illustrating some of the basic datatypes in Perl.
  2. Source code for Tisdall's Beginning Perl for Bioinformatics
  3. Perl Lecture 1.
  4. Perl Lecture 1.1.
  5. Perl regular expressions.
  6. Perl Debugger.
  7. Arrays as arguments. A small program demonstrating how arrays are passed as arguments to subroutines.
  8. Perl Lecture 2. Random numbers, FASTA files.
  9. Perl Lectures 3. Restriction maps and regular expressions. Parsing GenBank records.
  10. Perl Lecture 4. Protein Data Bank
  11. Perl Lecture 5, BLAST.
  12. Source code for Mastering Perl for Bioinformatics. Just download and unzip it.
  13. Perl Lecture 6, Modules.
  14. Perl Lecture 7, Data Structures.
  15. Perl Lecture 8, Approximate String Matching
  16. Perl Lecture 9, Object oriented programming
  17. Perl Lecure 10, Inheritance and Sequences
  18. Perl Lecture 11, A Significant Class: Restriction Maps
  19. Perl Lecture 12, Accessing the Web with Perl
  20. Perl Lecture 13, Graphics and Perl with GD
  21. A Perl Tutorial
  22. A Perl Reference
  23. Old Perl notes from COSC633

Assignments

To submit assignments, go to http://caddis.acad.emich.edu/~hwmatt/student/

Notes on assignments, in general

Programming and other assignments should be completed by each student on their own. It is expressly forbidden for students to collaborate on assignments without the express permission of the instructor. A few friendly pointers and a bit of advice is fine, but "borrowing" or copying another's work is grounds for punitive action, including a failing grade and possible expulsion from the University.

Grading of programming assignments

As specified in the course syllabus, program functional correctness accounts for only about 80% of the grade assigned to a program. The remainder of the grade accounts for the program's style (including header and in-line comments, indentation, identifier names) and design (how you decompose the solution, what classes you use, etc.)

Web Caucus for group discussion of issues

Feel free to make use of the web caucus for this class to discuss problems you are having with assignments, etc. To use the webcaucus, you must have a working EMU e-mail account (you can get one for free at the library, if you don't already have one). The URL is webcaucus.emich.edu. Once there, you want to register for the COSC576_W04 caucus.

Programming Environment

While students may certainly use their own PCs to develop and test their programming assignments, the final version of the programs must be executable under linux, using the most recent Perl release. We will examine how to ensure this during the course.

One of the easiest ways to install Perl on your PC (not Macs) is to install Cygwin. This has the side benefit of providing a Unix-like command line interface to your PC. Here is a short explanation of how to install Cygwin on your PC.

All programming projects shall be written in Perl or Java, using only the libraries explicitly permitted by the instructor.


Perl

Here is an excellent web page, created by Dr. John Remmers providing many links to Perl references.