Genetics 211, Genomics, Suggested Reading


Suggested Books

Perl Books available Online from: ProQuest, must be using a computer with a stanford.edu hostname.

Depending on your programming experiences you might want one or more of the following books. Reading assignments will be given for Learning Perl, multiple editions, and Programming Perl.

A. For those with no programming experience

  1. Learning Perl (any edition), by Randal Schwartz and Tom Phoenix. (O'Reilly)
  2. Advanced Perl Programming (1st edition, 1997), by Sriram Srinivasan. (O'Reilly), ISBN:1565922204
  3. Intermediate Perl (1st edition, 2006), by Randal L. Schwartz, Brian D. Foy and Tom Phoenix. (O'Reilly), ISBN:0596102062

B. For those with programming experience

You understand the basic concepts of computer science and do not need as many examples. (This text is likely useful to everyone as a reference book).

  1. Programming PERL (3rd edition), by Larry Wall et al (O'Reilly), ISBN:0596000278

C. Recommended Books as References.

Each will be nearly indispensable for those who want to continue to apply techniques learned in this course on a regular basis.

  1. Using csh & tcsh, by Paul Dubois. (O'Reilly), ISBN:1565921321
  2. Object Oriented Perl, by Damian Conway and Randal Schwartz. (O'Reilly), ISBN:1884777791
  3. Official Guide to Programming with CGI.pm, by Lincoln Stein, (Wiley), ISBN:0471247448
  4. Network Programming with Perl, by Lincoln Stein, (Addison-Wesley), ISBN:0201615711

Suggested Chapters

Pick from the following books, listed in order of preference. The Beginning Perl for Bioinformatics book is listed as an additional text for those who have access to it and want more information, or a different perspective.

Friday January 9 -- Class 1: Data Types

Learning Perl 2nd edition:
Learning Perl 5th edition:
Learning Perl 4th edition:
Learning Perl 3rd edition:
Programming Perl 3rd edition:
Beginning Perl for Bioinformatics:

Friday January 16 -- Class 2: Control Structures

Learning Perl 2nd edition:
Learning Perl 5th edition:
Learning Perl 4th edition:
Learning Perl 3rd edition:
Programming Perl 3rd edition:
Beginning Perl for Bioinformatics:

Friday January 23 -- Class 3: Pattern Matching

Learning Perl 2nd edition:
Learning Perl 5th edition:
Learning Perl 4th edition:
Learning Perl 3rd edition:
Programming Perl 3rd edition:
Beginning Perl for Bioinformatics:

Friday January 30 -- Class 4: I/O

Learning Perl 2nd edition:
Learning Perl 5th edition:
Learning Perl 4th edition:
Learning Perl 3rd edition:
Programming Perl 3rd edition:
Beginning Perl for Bioinformatics:

Friday February 6 -- Class 5: Pointers, Name Spaces and Modules

Intermediate Perl or Advanced Perl Programming are the texts of choice. The other books (or chapters from Learning Perl) are listed as an additional texts for those who have access to it and want more information, or a different perspective.

SysAdmin Magazine (bonus reading for everyone):
Intermediate Perl:
Advanced Perl Programming 1st edition:
  • Preface (12 pages) [optional]
  • Chapter 1: Data References & Anonymous Storage, stop at section A View of the Internals (15 pages)
  • Chapter 2: Implementing Complex Data Structures (13 pages)
  • Chapter 3: Typeglobs & Symbol Tables (11 pages) [optional]
  • Chapter 4: Subroutine References & Closures, stop at section Using Closures (8 pages)
  • Chapter 6: Modules, stop at section Autoloading (10 pages)
Programming Perl 3rd edition:
  • Chapter 8: References (23 pages)
  • Chapter 9: Data Structures (18 pages)
  • Chapter 10: Packages, stop at section Symbol Tables (5 pages)
  • Chapter 11: Modules (8 pages)
Mastering Perl for Bioinformatics:
  • Chapter 1: Modular Programming with Perl (27 pages)
  • Chapter 2: Data Structures and String Algorithms (34 pages)
Learning Perl 5th edition:
  • Chapter 11: Modules

Friday February 13 -- Class 6: Object-Oriented Perl

Intermediate Perl:
  • Chapter 8: Introduction to Objects (10 pages)
  • Chapter 9: Objects with Data (10 pages)
  • Chapter 10: Object Destruction, start at section Indirect Object Notation (7 pages)
  • Chapter 11: Some Advanced Object Topics, just the first section UNIVERSAL Methods (3 pages)
  • Chapter 12: Using Modules (11 pages)
Advanced Perl Programming 1st edition:
  • Chapter 7: Object-Oriented Programming (23 pages)
  • Chapter 8: Object Orientation: The Next Few Steps, start at section Delegation (4 pages)
  • Chapter 9: Tie (14 pages) [optional]
  • Chapter 10: Persistence (15 pages)
  • Chapter 11: Implementing Object Persistence (10 pages) [optional]
Programming Perl 3rd edition:
  • Chapter 12: Objects, stop at section Instance Destructors and jump to Managing Class Data (25 pages)
  • Chapter 13: Overloading (14 pages) [optional]
  • Chapter 14: Tied Variables (34 pages) [optional]
Mastering Perl for Bioinformatics:
  • Chapter 3: Object-Oriented Programming in Perl (57 pages)

Friday February 20 -- Class 7: Introduction to Bioperl

WWW.Bioperl.ORG:
  • HOWTO: SeqIO (HTML)
  • HOWTO: SearchIO (HTML)
Mastering Perl for Bioinformatics:
Learning Perl 5th edition:
  • Chapter 17: Some Advanced Perl Techniques

Friday February 27 -- Class 8: Interfacing to Databases


Friday March 6 -- Class cancelled due to prospective graduate student interviews


Friday March 13 -- Class 9: Perl CGI & LWP