Mastering Perl for Bioinformatics
Material type: TextPublication details: O'Reilly Media 2003Edition: 1stDescription: xvi, 377pISBN:- 9788173666766
- 005.133 TIS-M
Item type | Current library | Collection | Call number | URL | Status | Date due | Barcode | |
---|---|---|---|---|---|---|---|---|
Reference Book | Amity Central Library AIB | Reference | 005.133 TIS-M (Browse shelf(Opens below)) | Link to resource | Not For Loan | 32637 | ||
Books | Amity Central Library AIB | Text Book | 005.133 TIS-M (Browse shelf(Opens below)) | Link to resource | Available | 32638 | ||
Books | Amity Central Library AIB | Text Book | 005.133 TIS-M (Browse shelf(Opens below)) | Link to resource | Available | 32639 | ||
Books | Amity Central Library AIB | Text Book | 005.133 TIS-M (Browse shelf(Opens below)) | Link to resource | Available | 32640 | ||
Books | Amity Central Library AIB | Text Book | 005.133 TIS-M (Browse shelf(Opens below)) | Link to resource | Available | 32641 |
Browsing Amity Central Library shelves, Shelving location: AIB, Collection: Text Book Close shelf browser (Hides shelf browser)
005.133 TIS-M Mastering Perl for Bioinformatics | 005.133 TIS-M Mastering Perl for Bioinformatics | 005.133 TIS-M Mastering Perl for Bioinformatics | 005.133 TIS-M Mastering Perl for Bioinformatics | 005.42 RAJ-A Analysis and Design of Information System | 005.42 RAJ-A Analysis and Design of Information System | 005.42 RAJ-A Analysis and Design of Information System |
Table of contents
A Note Regarding Supplemental Files
Foreword
Preface
About This Book
What You Need to Know to Use This Book
Organization of This Book
Conventions Used in This Book
Comments and Questions
Acknowledgments
I. Object-Oriented Programming in Perl
1. Modular Programming with Perl
What Is a Module?
Why Perl Modules?
Subroutines and Software Engineering
Modules and Libraries
Namespaces
Namespaces Compared with Scoping: my and use strict
Packages
Defining Modules
Storing Modules
Writing Your First Perl Module
An Example: Geneticcode.pm
Expanding Geneticcode.pm
Using Modules
Exporting Names
CPAN Modules
What’s Available at CPAN?
Searching CPAN
Installing Modules Using CPAN.pm
Using the Newly Installed CPAN Module
Problems with CPAN Modules
Exercises
2. Data Structures and String Algorithms
Basic Perl Data Types
References
References to Scalars
Dereferencing
Anonymous data
References of References
References to Arrays
The arrow operator
Anonymous arrays
References to Hashes
Anonymous hashes
References to Subroutines
Anonymous subroutines
Passing references to subroutines
Returning references from subroutines
Symbolic Versus Hard References
Matrices
Two-Dimensional Matrices
Higher-Dimensional Matrices
Sparse Arrays
Complex Data Structures
Hash with Array Values
Two-Dimensional Array of Hashes
Complex Data Structures
Printing Complex Data Structures
Data Structures in Action
The Problem of String Matching
Genetic Variability and String Matching
Dynamic Programming
Approximate String Matching
Edit Distance
A string matching program
Analysis
Resources
Exercises
3. Object-Oriented Programming in Perl
What Is Object-Oriented Programming?
Why Object-Oriented Programming?
Terminology
Using Perl Classes (Without Writing Them)
Objects, Methods, and Classes in Perl
Perl Objects Are Usually Hashes
Arrow Notation (->)
Gene1: An Example of a Perl Class
Details of the Gene1 Class
Variable Names and Conventions
Carp and croak
The new Constructor Method
Creating an Object with bless
Using ref to Report an Object’s Class
Initialize an Object with an Anonymous Hash
Accessor Methods
Gene2.pm: A Second Example of a Perl Class
Closures
Tracking Class Data from the Constructor Method
Accessor and Mutator Methods
Gene3.pm: A Third Example of a Perl Class
Testing Gene3.pm
How AUTOLOAD Works
Defining Global Variables
AUTOLOAD Simplifies Writing Methods
Bypassing use strict
AUTOLOAD arguments
Using naming conventions to write code: get_ and set_
AUTOLOAD accessors
AUTOLOAD mutators
AUTOLOAD speedup
Cleaning Up Unused Objects with DESTROY
Gene.pm: A Fourth Example of a Perl Class
Building Gene.pm
Defining Attributes and Their Behaviors
Initializing the Attributes of a New Object
The newer new constructor
The clone constructor
Permissions
Gene.pm Test Program and Output
How to Document a Perl Class with POD
Additional Topics
Using Class::Struct to Define Classes
Class Inheritance
Bioperl
Resources
Exercises
4. Sequence Formats and Inheritance
Inheritance
FileIO.pm: A Class to Read and Write Files
Analysis of FileIO
The constructor method
stat and localtime functions
The write method
AUTOLOAD
Finishing FileIO
Testing the FileIO Class Module
SeqFileIO.pm: Sequence File Formats
Analysis of SeqFileIO.pm
The power of inheritance
A new read method
New Methods: is, parse, and put
is_ methods
put_ methods
parse_ methods
Testing SeqFileIO.pm
Results
Resources
Exercises
5. A Class for Restriction Enzymes
Envisioning an Object
Rebase.pm: A Class Module
Attributes: Short and Sweet
Creating a Rebase Object
Methods for the Rebase Class
parse_rebase
Methods to Translate Nucleotides to Regular Expressions
Testing the Module
Restriction.pm: Finding Recognition Sites
The Restriction.pm Module
Initializing Restriction objects
The methods explained
Documentation
Drawing Restriction Maps
Storing Graphics Output in an Attribute
The Restrictionmap Class
Adding graphics capability to the class
Creation of the graphic
Running the program
Resources
Exercises
II. Perl and Bioinformatics
6. Perl and Relational Databases
One Perl, Many Databases
Popular Relational Databases
Relational Database Definitions
Structured Query Language
SQL Commands
Creating a database
Creating tables
Populating the tables
Administering Your Database
Adding Users
Backup and Reloading
Relational Database Design
Perl DBI and DBD Interface Modules
Installing and Configuring Perl DBI and DBD Modules
Handling Tab-Delimited Input Files
DBI Examples
homologs.tabs
homologs.load
An SQL query
A Rebase Database Implementation
RebaseDB Class: Accessing Restriction Enzyme Data
testRebaseDB: A Testing Program
Analyzing RebaseDB
Additional Topics
Resources
Exercises
7. Perl and the Web
How the Web Works
URLs
HTML
HTML web page example
HTML directives
HTTP
Web Servers and Browsers
The Common Gateway Interface
Writing a CGI Program
Installing a CGI Program
Using the CGI.pm Module
Testing a CGI Program
Rebase: Building Dynamic Web Pages
Installing webrebase1
Inside webrebase1
Exercises
8. Perl and Graphics
Computer Graphics
Basic Graphics Concepts
Graphics and File Formats
GD
Installing GD
Using GD
Adding GD Graphics to Restrictionmap.pm
Designing Graphics
Applying color
Calling the method
Adding JPEG Output to Restrictionmap.pm
Making Graphs
Resources
Exercises
9. Introduction to Bioperl
The Growth of Bioperl
Installing Bioperl
Testing Bioperl
Second Test
Third Test
Fourth Test
Bioperl Problems
Overview of Objects
bptutorial.pl
bptutorial.pl: sequence_manipulation Demo
Using Bioperl Modules
III. Appendixes
A. Perl Summary
Command Interpretation
Comments
Scalar Values and Scalar Variables
Strings
Numbers
References
Scalar Variables
Assignment
Statements and Blocks
Arrays
Hashes
Complex Data Structures
Operators
Operator Precedence
Basic Operators
Arithmetic Operators
Bitwise Operators
String Operators
File Test Operators
Conditionals and Logical Operators
true and false
Logical Operators
Using Logical Operators for Control Flow
The if Statement
Binding Operators
Loops
Input/Output
Input from Files
Input from STDIN
Input from Files Named on the Command Line
Output Commands
Output to STDOUT, STDERR, and files
Regular Expressions
Overview
Metacharacters
Escaping with \
Alternation with |
Grouping with ( )
Character classes
Matching any character with a dot
Beginning and end of strings with ^ and $
Quantifiers
Making quantifiers match minimally with ?
Capturing Matched Patterns
Metasymbols
Extending Regular-Expression Sequences
Pattern Modifiers
Scalar and List Context
Subroutines
Modules and Packages
Object-Oriented Programming
Built-in Functions
B. Installing Perl
Installing Perl on Your Computer
Perl May Already Be Installed
Versions of Perl
Internet Access
Downloading
Binary Versus Source Code
Perl for Unix and Linux
Perl for Macintosh
Perl for Windows
How to Run Perl Programs
Running Perl Programs on Unix or Linux
Running Perl Programs on the Macintosh
Running Perl Programs on Windows
Finding Help
Index
About the Author
Colophon
Copyright
Show and hide more
There are no comments on this title.