| |
| |
Foreword | |
| |
| |
Preface | |
| |
| |
| |
Object-Oriented Programming in Perl | |
| |
| |
| |
Modular Programming with Perl | |
| |
| |
What Is a Module? | |
| |
| |
Why Perl Modules? | |
| |
| |
Namespaces | |
| |
| |
Packages | |
| |
| |
Defining Modules | |
| |
| |
Storing Modules | |
| |
| |
Writing Your First Perl Module | |
| |
| |
Using Modules | |
| |
| |
CPAN Modules | |
| |
| |
Exercises | |
| |
| |
| |
Data Structures and String Algorithms | |
| |
| |
Basic Perl Data Types | |
| |
| |
References | |
| |
| |
Matrices | |
| |
| |
Complex Data Structures | |
| |
| |
Printing Complex Data Structures | |
| |
| |
Data Structures in Action | |
| |
| |
Dynamic Programming | |
| |
| |
Approximate String Matching | |
| |
| |
Resources | |
| |
| |
Exercises | |
| |
| |
| |
Object-Oriented Programming in Perl | |
| |
| |
What Is Object-Oriented Programming? | |
| |
| |
Using Perl Classes (Without Writing Them) | |
| |
| |
Objects, Methods, and Classes in Perl | |
| |
| |
Arrow Notation (-[right angle bracket]) | |
| |
| |
Gene1: An Example of a Perl Class | |
| |
| |
Details of the Gene1 Class | |
| |
| |
Gene2.pm: A Second Example of a Perl Class | |
| |
| |
Gene3.pm: A Third Example of a Perl Class | |
| |
| |
How AUTOLOAD Works | |
| |
| |
Cleaning Up Unused Objects with DESTROY | |
| |
| |
Gene.pm: A Fourth Example of a Perl Class | |
| |
| |
How to Document a Perl Class with POD | |
| |
| |
Additional Topics | |
| |
| |
Resources | |
| |
| |
Exercises | |
| |
| |
| |
Sequence Formats and Inheritance | |
| |
| |
Inheritance | |
| |
| |
FileIO.pm: A Class to Read and Write Files | |
| |
| |
SeqFileIO.pm: Sequence File Formats | |
| |
| |
Resources | |
| |
| |
Exercises | |
| |
| |
| |
A Class for Restriction Enzymes | |
| |
| |
Envisioning an Object | |
| |
| |
Rebase.pm: A Class Module | |
| |
| |
Restriction.pm: Finding Recognition Sites | |
| |
| |
Drawing Restriction Maps | |
| |
| |
Resources | |
| |
| |
Exercises | |
| |
| |
| |
Perl and Bioinformatics | |
| |
| |
| |
Perl and Relational Databases | |
| |
| |
One Perl, Many Databases | |
| |
| |
Popular Relational Databases | |
| |
| |
Relational Database Definitions | |
| |
| |
Structured Query Language | |
| |
| |
Administering Your Database | |
| |
| |
Relational Database Design | |
| |
| |
Perl DBI and DBD Interface Modules | |
| |
| |
A Rebase Database Implementation | |
| |
| |
Additional Topics | |
| |
| |
Resources | |
| |
| |
Exercises | |
| |
| |
| |
Perl and the Web | |
| |
| |
How the Web Works | |
| |
| |
Web Servers and Browsers | |
| |
| |
The Common Gateway Interface | |
| |
| |
Rebase: Building Dynamic Web Pages | |
| |
| |
Exercises | |
| |
| |
| |
Perl and Graphics | |
| |
| |
Computer Graphics | |
| |
| |
GD | |
| |
| |
Adding GD Graphics to Restrictionmap.pm | |
| |
| |
Making Graphs | |
| |
| |
Resources | |
| |
| |
Exercises | |
| |
| |
| |
Introduction to Bioperl | |
| |
| |
The Growth of Bioperl | |
| |
| |
Installing Bioperl | |
| |
| |
Testing Bioperl | |
| |
| |
Bioperl Problems | |
| |
| |
Overview of Objects | |
| |
| |
bptutorial.pl | |
| |
| |
bptutorial.pl: sequence_manipulation Demo | |
| |
| |
Using Bioperl Modules | |
| |
| |
| |
Appendixes | |
| |
| |
| |
Perl Summary | |
| |
| |
| |
Installing Perl | |
| |
| |
Index | |