Cover image for Perl programming for biologists
Title:
Perl programming for biologists
Personal Author:
Publication Information:
Hoboken, N.J. : Wiley-Liss, 2003
ISBN:
9780471430599

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010062136 QH324.2 J36 2003 Open Access Book Book
Searching...

On Order

Summary

Summary

Working on the assumption that the reader has no formal training in programming, Perl Programming for Biologists demonstrates how Perl is used to solve biological problems. Each chapter opens with a set of learning objectives, provides numerous review questions and self-study exercises, and concludes with a bulleted summary of key points. The author incorporates numerous real-life examples throughout the text. Upon completing the book, readers are able to quickly perform such tasks as correcting recurring errors in spreadsheets, scanning a Fasta sequence for every occurrence of an EcoRI site, adapting other writers' scripts to one's own purposes, and most important, writing reusable and maintainable scripts that spare the rote repetition of code.


Author Notes

Curtis Jamison received his B.A. (Molecular, Cellular and Developmental Biology) from the University of Colorado, Boulder in 1985, and his Ph.D. (Biological Sciences) from the University of Denver in 1991. He held an NSF CISE postdoctoral fellowship while at National Center for Supercomputing Applications, University of Illinois, Champaign-Urbana, where he received a patent for his work on distributed application gateways and database federation. Dr. Jamison continued his work on database federation with plant genome databases for the USDA Agricultural Genome Information Service, and then later evolved to work on higher organisms at the National Institutes of Health where he created computational tools for genome mapping for the Human Genome Project. He is currently an Associate Professor of Bioinformatics at George Mason University, and is director of the Bioinformatics Ph.D. program.


Table of Contents

Part I. The Basicsp. 1
Introductionp. 3
Chapter 1. An Introduction to Perlp. 7
1.1 The Perl Interpreterp. 7
1.2 Your First Perl Programp. 8
1.3 How the Perl Interpreter Worksp. 9
Chapter Summaryp. 10
For More Informationp. 11
Exercisesp. 11
Chapter 2. Variables and Data Typesp. 13
2.1 Perl Variablesp. 13
2.2 Scalar Valuesp. 14
2.3 Calculationsp. 17
2.4 Interpolation and Escapesp. 19
2.5 Variable Definitionp. 22
2.6 Special Variablesp. 23
Chapter Summaryp. 23
For More Informationp. 24
Exercisesp. 24
Programming Challengesp. 24
Chapter 3. Arrays and Hashesp. 27
3.1 Arraysp. 27
3.3 Array Manipulationp. 30
3.3.1 Push and Pop, Shift and Unshiftp. 30
3.3.2 Splicep. 31
3.3.3 Other Useful Array Functionsp. 33
3.3.4 List and Scalar Contextp. 34
3.4 Hashesp. 37
3.5 Maintaining a Hashp. 38
Chapter Summaryp. 40
For More Informationp. 40
Exercisesp. 40
Programming Challengep. 41
Chapter 4. Control Structuresp. 43
4.1 Comparisonsp. 44
4.2 Choicesp. 45
4.2.1 Ifp. 45
4.2.2 Boolean Operatorsp. 46
4.2.3 Elsep. 47
4.3 Loopsp. 49
4.3.1 For Loopsp. 50
4.3.2 Foreach Loopsp. 52
4.4 Indeterminate Loopsp. 54
4.4.1 Whilep. 54
4.4.2 Repeat Untilp. 56
4.5 Loop Exitsp. 57
4.5.1 Lastp. 57
4.5.2 Next and Continuep. 57
Chapter Summaryp. 59
Exercisesp. 59
Programming Challengesp. 60
Part II. Intermediate Perlp. 61
Chapter 5. Subroutinesp. 63
5.1 Creating a Subroutinep. 63
5.2 Argumentsp. 64
5.3 Returnp. 65
5.3.1 Wantarrayp. 66
5.4 Scopep. 67
5.4.1 Myp. 67
5.5 Passing Arguments with Referencesp. 70
5.6 Sort Subroutinesp. 71
Chapter Summaryp. 73
For More Informationp. 74
Exercisesp. 74
Programming Challengesp. 74
Chapter 6. String Manipulationp. 75
6.1 Array-Based Character Manipulationp. 75
6.2 Regular Expressionsp. 78
6.2.1 Matchp. 79
6.2.2 Substitutep. 81
6.2.3 Translatep. 81
6.3 Patternsp. 82
6.3.1 Atomsp. 83
6.3.2 Special Atomsp. 83
6.3.3 Quantifiersp. 84
6.3.4 Assertionsp. 85
6.3.5 Alternativesp. 85
Chapter Summaryp. 86
For More Informationp. 87
Exercisesp. 87
Programming Challengesp. 87
Chapter 7. Input and Outputp. 89
7.1 Program Parametersp. 89
7.2 File I/Op. 90
7.2.1 Filehandlesp. 90
7.2.2 Working with Filesp. 91
7.2.3 Built-in File Handlesp. 92
7.2.4 File Safetyp. 93
7.2.5 The Input Operatorp. 94
7.2.6 Binary I/Op. 97
7.3 Interprocess Communicationsp. 97
7.3.1 Processesp. 98
7.3.2 Process Pipesp. 98
7.3.3 Creating Processesp. 99
7.3.4 Monitoring Processesp. 100
7.3.5 Implicit Forksp. 101
Chapter Summaryp. 102
For More Informationp. 102
Exercisesp. 102
Programming Challengesp. 103
Chapter 8. Perl Modules and Packagesp. 105
8.1 Modulesp. 105
8.2 Packagesp. 107
8.3 Combining Packages and Modulesp. 109
8.4 Included Modulesp. 110
8.4.1 CGIp. 110
8.4.2 Getoptp. 110
8.4.3 Iop. 112
8.4.4 File::Pathp. 112
8.4.5 Strictp. 113
8.5 The CPANp. 114
8.5.1 Setting Up the CPAN Modulep. 114
8.5.2 Finding Modulesp. 115
8.5.3 Installing Modulesp. 117
8.5.4 Managing Installed Modulesp. 119
Chapter Summaryp. 121
For More Informationp. 121
Exercisesp. 121
Programming Challengesp. 122
Part III. Advanced Perlp. 123
Chapter 9. Referencesp. 125
9.1 Creating Referencesp. 125
9.2 ref()p. 126
9.3 Anonymous Referentsp. 127
9.4 Tablesp. 128
Chapter Summaryp. 130
Exercisesp. 130
Programming Challengep. 130
Chapter 10. Object-Oriented Programmingp. 133
10.1 Introduction to Objectsp. 133
10.1.1 The OOP Approachp. 134
10.1.2 Class Designp. 135
10.1.3 Inheritancep. 136
10.2 Perl Objectsp. 136
10.2.1 Rule Number Onep. 137
10.2.2 Rule Number Twop. 137
10.2.3 Rule Number Threep. 138
10.2.4 Methodsp. 139
10.2.5 Constructorsp. 141
10.2.6 Accessorsp. 143
10.2.7 OOP Versus Proceduralp. 143
Chapter Summaryp. 145
For More Informationp. 146
Exercisesp. 146
Programming Challengesp. 146
Chapter 11. Bioperlp. 147
11.1 Sequencesp. 147
11.2 SeqFeaturep. 149
11.3 Annotationp. 150
11.4 Sequence I/Op. 151
11.5 Cool Toolsp. 152
11.6 Example Bioperl Programsp. 154
11.6.1 Primer.plp. 154
11.6.2 Primer3.pmp. 156
Chapter Summaryp. 161
For More Informationp. 161
Exercisesp. 161
Programming Challengesp. 162
Appendix A. Partial Perl Referencep. 163
Chapter 3p. 163
Chapter 4p. 163
Chapter 5p. 164
Chapter 6p. 164
Chapter 7p. 164
Chapter 8p. 165
Chapter 9p. 165
Appendix B. Bioinformatics File Formatsp. 167
GenBankp. 167
ASN.1p. 170
EMBLp. 175
PDBp. 177
Fastap. 181
BLASTp. 182
ACEDBp. 183
Indexp. 185