Mastering Perl for Bioinformatics - Helion
ISBN: 978-14-493-9090-7
stron: 400, Format: ebook
Data wydania: 2003-09-25
Księgarnia: Helion
Cena książki: 152,15 zł (poprzednio: 176,92 zł)
Oszczędzasz: 14% (-24,77 zł)
Historically, programming hasn't been considered a critical skill for biologists. But now, with access to vast amounts of biological data contained in public databases, programming skills are increasingly in strong demand in biology research and development. Perl, with its highly developed capacities in string handling, text processing, networking, and rapid prototyping, has emerged as the programming language of choice for biological data analysis.Mastering Perl for Bioinformatics covers the core Perl language and many of its module extensions, presenting them in the context of biological data and problems of pressing interest to the biological community. This book, along with Beginning Perl for Bioinformatics, forms a basic course in Perl programming. This second volume finishes the basic Perl tutorial material (references, complex data structures, object-oriented programming, use of modules--all presented in a biological context) and presents some advanced topics of considerable interest in bioinformatics.The range of topics covered in Mastering Perl for Bioinformatics prepares the reader for enduring and emerging developments in critical areas of bioinformatics programming such as:
- Gene finding
- String alignment
- Methods of data storage and retrieval (SML and databases)
- Modeling of networks (graphs and Petri nets)
- Graphics (Tk)
- Parallelization
- Interfacing with other programming languages
- Statistics (PDL)
- Protein structure determination
- Biological models of computation (DNA Computers)
Osoby które kupowały "Mastering Perl for Bioinformatics", wybierały także:
- Perl. Mistrzostwo w programowaniu 44,00 zł, (22,00 zł -50%)
- Wielkie umysły programowania. Jak myślą i pracują twórcy najważniejszych języków 79,00 zł, (47,40 zł -40%)
- Learning Perl. Making Easy Things Easy and Hard Things Possible. 7th Edition 169,00 zł, (118,30 zł -30%)
- 100 sposobów na Perl 39,00 zł, (29,25 zł -25%)
- Mastering Perl. 2nd Edition 167,03 zł, (143,65 zł -14%)
Spis treści
Mastering Perl for Bioinformatics eBook -- spis treści
- Mastering Perl for Bioinformatics
- SPECIAL OFFER: Upgrade this ebook with OReilly
- 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
- Whats 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
- References to Scalars
- 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
- Edit Distance
- 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 Objects 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
- What Is Object-Oriented Programming?
- 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
- Analysis of FileIO
- 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
- Analysis of SeqFileIO.pm
- 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
- The Restriction.pm Module
- 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
- 1. Modular Programming with Perl
- 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
- SQL Commands
- 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
- How the Web Works
- 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
- Designing Graphics
- Making Graphs
- Resources
- Exercises
- Computer Graphics
- 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
- 6. Perl and Relational Databases
- 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
- Installing Perl on Your Computer
- A. Perl Summary
- Index
- About the Author
- Colophon
- SPECIAL OFFER: Upgrade this ebook with OReilly