Beginning Perl for Bioinformatics
| |||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||
| Sort customer reviews by: | |||||||||||||||||||||||||||||
|
Show All Reviews on Page
Hide All Reviews on Page
| |||||||||||||||||||||||||||||
| Beginning Perl for Bioinformatics | |||||||||||||||||||||||||||||
|
With its highly developed capacity to detect patterns in data, Perl has become one of the most popular languages for biological data analysis. But if you're a biologist with little or no programming experience, starting out in Perl can be a challenge. Many biologists have a difficult time learning how to apply the language to bioinformatics. The most popular Perl programming books are often too theoretical and too focused on computer science for a non-programming biologist who needs to solve very specific problems.
"Beginning Perl for Bioinformatics" is designed to get you quickly over the Perl language barrier by approaching programming as an important new laboratory skill, revealing Perl programs and techniques that are immediately useful in the lab. Each chapter focuses on solving a particular bioinformatics problem or class of problems, starting with the simplest and increasing in complexity as the book progresses. Each chapter includes programming exercises and teaches bioinformatics by showing and modifying programs that deal with various kinds of practical biological problems. By the end of the book you'll have a solid understanding of Perl basics, a collection of programs for such tasks as parsing BLAST and GenBank, and the skills to take on more advanced bioinformatics programming. Some of the later chapters focus in greater detail on specific bioinformatics topics. This book is suitable for use as a classroom textbook, for self-study, and as a reference. The book covers: Programming basics and working with DNA sequences and strings Debugging your code Simulating gene mutations using random number generators Regular expressions and finding motifs indata Arrays, hashes, and relational databases Regular expressions and restriction maps Using Perl to parse PDB records, annotations in GenBank, and BLAST output
|
|||||||||||||||||||||||||||||
|
Biology, it seems, is a good showcase for the talents of Perl. Newcomers to Perl who understand biological information will find James Tisdall's Beginning Perl for Bioinformatics to be an excellent compendium of examples. Teachers of Perl will likewise find the text to be filled with fresh programming illustrations of growing scientific importance. Seasoned Perlmongers who want to learn biology, however, should search elsewhere, as Tisdall's emphasis is on Perl's logic rather than Mother Nature's.
Departing from O'Reilly's earlier monograph Developing Bioinformatic Computer Skills, Tisdall's text is organized aggressively along didactic lines. Nearly all of the 13 chapters begin with twin bullet lists of Perl programming tools and the bioinformatic methods that require them. Likewise, the chapters end with exercises. String concatenation is illustrated with gene splicing, and regular expressions are taught with gene transcription and motif searching. Tisdall emphasizes sequence examples throughout, leading up to an introduction to a Perl interface for the NIH GenBank biological database and the widely used BLAST sequence alignment tool. After a brief discussion of three-dimensional protein structure, he returns to sequence extraction and secondary structure prediction. Tisdall's goal is to boost the beginning programmer into a domain of self-learning. He imparts essential etiquette for the success of programming newbies: use the wealth or resources available, from user documentation to Web site surveys to FAQs to How-To's to news groups and finally to direct personal appeals for help from a senior colleague. A well-plugged-in bioinformatics Perl student will soon discover Bioperl, an open-source effort to bring research-grade bioinformatic tools to the Perl community. Bioperl is described briefly at the end of Tisdall's book and will reportedly be a forthcoming title of its own in the O'Reilly bioinformatics series. Although he introduces bioinformatics as an academic discipline, Tisdall treats it as a trade throughout his book. He indicates that open questions and computational hard problems exist, but does not describe what they are or how they are being tackled. Ultimately, Tisdall presents bioinformatics as another arrow in a bench scientist's quiver, very much like HPLC, 2D-PAGE, and the various spectroscopies. As odd as a "bioinformatics-as-tool" book may be to its research proponents, the reduction of bioinformatics to trade status both deflates and vindicates the years of research, as Tisdall's work attests. --Peter Leopold |
|||||||||||||||||||||||||||||
| Reader Reviews 1 - 15 of 15 | |||||||||||||||||||||||||||||
| Review Date |
Review Rating(5 High) |
Review Helpful to: |
Customer Review | Reviewer Info |
Permanent Link |
||||||||||||||||||||||||
| Reader Reviews Below Sorted by Newest First | |||||||||||||||||||||||||||||
| 12-31-06 | 5 | 1\1 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Although this book was written for biologists with no previous programming experience who have decided they need to learn to program in PERL, it is also useful for programmers entering the field of bioinformatics who need to learn the language. However, you should have some background in biology or else you'll be lost as to the purpose of the examples. That's because almost all of the examples and exercises are based on real biological problems, and this book will give you a good introduction to the most common bioinformatics programming problems and the most common computer-based biological data. This book is over five years old, but it still stands alone in that what it does it does better than any other book I've run across. The follow-on to this book is "Mastering Perl for Bioinformatics", and I recommend that book for both CS and biologist types that want to get into the more advanced parts of PERL and yet stay in the realm of learning the language via real biological problems. The following is a short run down of each chapter:
1. Biology and Computer Science - Covers some key concepts in molecular biology, as well as how biology and computer science fit together. 2. Getting Started with Perl - Shows you how to get Perl running on your computer and also talks about Perl's benefits. 3. The Art of Programming - Provides an overview as to how programmers accomplish their jobs. Some of the most important practical strategies good programmers use are explained, and where to find answers to questions that arise while you are programming is carefully laid out. These ideas are made concrete by brief narrative case studies that show how programmers, given a problem, find its solution. 4. Sequences and Strings - You start writing Perl programs with DNA and proteins. The programs transcribe DNA to RNA, concatenate sequences, make the reverse complement of DNA, and read sequence data from files. This is the first chapter to conclude with exercises. 5. Motifs and Loops - Continues demonstrating the basics of the Perl language with programs that search for motifs in DNA or protein, interact with users at the keyboard, write data to files, use loops and conditional tests, use regular expressions, and operate on strings and arrays. 6. Subroutines and Bugs -Extends the basic knowledge of Perl in two main directions: subroutines, which are an important way to structure programs, and the use of the Perl debugger, which can examine in detail a running Perl program. 7. Mutations and Randomizations - Genetic mutations, fundamental to biology, are modelled as random events using the random number generator in Perl. This chapter uses random numbers to generate DNA sequence data sets, and to repeatedly mutate DNA sequence. Loops, subroutines, and lexical scoping are also discussed. 8. The Genetic Code - How to translate DNA to proteins, using the genetic code. It also covers a good bit more of the Perl programming language, such as the hash data type, sorted and unsorted arrays, binary search, relational databases, and DBM, and how to handle FASTA formatted sequence data. 9. Restriction Maps and Regular Expressions - An introduction to Perl regular expressions. The main focus of the chapter is the development of a program to calculate a restriction map for a DNA sequence. 10. GenBank - The Genetic Sequence Data Bank (GenBank) is central to modern biology and bioinformatics. In this chapter, you learn how to write programs to extract information from GenBank files and libraries. You will also make a database to create your own rapid access lookups on a GenBank library. 11. Protein Data Bank - Develops a program that can parse Protein Data Bank (PDB) files. Some interesting Perl techniques are encountered while doing so, such as finding and iterating over lots of files and controlling other bioinformatics programs from a Perl program. 12. BLAST - Develops some code to parse a BLAST output file. Also mentioned are the Bioperl project and its BLAST parser, and some additional ways to format output in Perl. 13. Further Topics - Looks at topics beyond the scope of this book. These topics include sequence alignment methods like the Smith-Waterman algorithm and microarray techniques that enable the measurement of the relative levels of thousands of gene transcripts at a time. These topics are only briefly mentioned, and you are shown places outside of the book to get further information. Appendix A - Resources for Perl and for bioinformatics programming, such as books and Internet sites. Appendix B - Summary of those parts of the Perl language that will be most useful as you read this book. (Review Data Last Updated: 2007-09-07 22:17:40 EST)
|
|||||||||||||||||||||||||||||
| 12-31-06 | 5 | 3\3 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Although this book was written for biologists with no previous programming experience who have decided they need to learn to program in PERL, it is also useful for programmers entering the field of bioinformatics who need to learn the language. However, you should have some background in biology or else you'll be lost as to the purpose of the examples. That's because almost all of the examples and exercises are based on real biological problems, and this book will give you a good introduction to the most common bioinformatics programming problems and the most common computer-based biological data. This book is over five years old, but it still stands alone in that what it does it does better than any other book I've run across. The follow-on to this book is "Mastering Perl for Bioinformatics", and I recommend that book for both CS and biologist types that want to get into the more advanced parts of PERL and yet stay in the realm of learning the language via real biological problems. The following is a short run down of each chapter:
1. Biology and Computer Science - Covers some key concepts in molecular biology, as well as how biology and computer science fit together. 2. Getting Started with Perl - Shows you how to get Perl running on your computer and also talks about Perl's benefits. 3. The Art of Programming - Provides an overview as to how programmers accomplish their jobs. Some of the most important practical strategies good programmers use are explained, and where to find answers to questions that arise while you are programming is carefully laid out. These ideas are made concrete by brief narrative case studies that show how programmers, given a problem, find its solution. 4. Sequences and Strings - You start writing Perl programs with DNA and proteins. The programs transcribe DNA to RNA, concatenate sequences, make the reverse complement of DNA, and read sequence data from files. This is the first chapter to conclude with exercises. 5. Motifs and Loops - Continues demonstrating the basics of the Perl language with programs that search for motifs in DNA or protein, interact with users at the keyboard, write data to files, use loops and conditional tests, use regular expressions, and operate on strings and arrays. 6. Subroutines and Bugs -Extends the basic knowledge of Perl in two main directions: subroutines, which are an important way to structure programs, and the use of the Perl debugger, which can examine in detail a running Perl program. 7. Mutations and Randomizations - Genetic mutations, fundamental to biology, are modelled as random events using the random number generator in Perl. This chapter uses random numbers to generate DNA sequence data sets, and to repeatedly mutate DNA sequence. Loops, subroutines, and lexical scoping are also discussed. 8. The Genetic Code - How to translate DNA to proteins, using the genetic code. It also covers a good bit more of the Perl programming language, such as the hash data type, sorted and unsorted arrays, binary search, relational databases, and DBM, and how to handle FASTA formatted sequence data. 9. Restriction Maps and Regular Expressions - An introduction to Perl regular expressions. The main focus of the chapter is the development of a program to calculate a restriction map for a DNA sequence. 10. GenBank - The Genetic Sequence Data Bank (GenBank) is central to modern biology and bioinformatics. In this chapter, you learn how to write programs to extract information from GenBank files and libraries. You will also make a database to create your own rapid access lookups on a GenBank library. 11. Protein Data Bank - Develops a program that can parse Protein Data Bank (PDB) files. Some interesting Perl techniques are encountered while doing so, such as finding and iterating over lots of files and controlling other bioinformatics programs from a Perl program. 12. BLAST - Develops some code to parse a BLAST output file. Also mentioned are the Bioperl project and its BLAST parser, and some additional ways to format output in Perl. 13. Further Topics - Looks at topics beyond the scope of this book. These topics include sequence alignment methods like the Smith-Waterman algorithm and microarray techniques that enable the measurement of the relative levels of thousands of gene transcripts at a time. These topics are only briefly mentioned, and you are shown places outside of the book to get further information. Appendix A - Resources for Perl and for bioinformatics programming, such as books and Internet sites. Appendix B - Summary of those parts of the Perl language that will be most useful as you read this book. (Review Data Last Updated: 2008-11-12 07:00:57 EST)
|
|||||||||||||||||||||||||||||
| 12-31-06 | 5 | 1\1 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Although this program was written for biologists with no previous programming experience who have decided they need to learn to program in PERL, it is also useful for programmers entering the field of bioinformatics who need to learn the language. However, you should have some background in biology or else you'll be lost as to the purpose of the examples. That's because almost all of the examples and exercises are based on real biological problems, and this book will give you a good introduction to the most common bioinformatics programming problems and the most common computer-based biological data. This book is over five years old, but it still stands alone in that what it does it does better than any other book I've run across. The follow-on to this book is "Mastering Perl for Bioinformatics", and I recommend that book for both CS and biologist types that want to get into the more advanced parts of PERL and yet stay in the realm of learning the language via real biological problems. The following is a short run down of each chapter:
1. Biology and Computer Science - Covers some key concepts in molecular biology, as well as how biology and computer science fit together. 2. Getting Started with Perl - Shows you how to get Perl up and running on your computer. 3. The Art of Programming - Provides an overview as to how programmers accomplish their jobs. Some of the most important practical strategies good programmers use are explained, and where to find answers to questions that arise while you are programming is carefully laid out. These ideas are made concrete by brief narrative case studies that show how programmers, given a problem, find its solution. 4. Sequences and Strings - You start writing Perl programs with DNA and proteins. The programs transcribe DNA to RNA, concatenate sequences, make the reverse complement of DNA, read sequences data from files, and more. 5. Motifs and Loops - Continues demonstrating the basics of the Perl language with programs that search for motifs in DNA or protein, interact with users at the keyboard, write data to files, use loops and conditional tests, use regular expressions, and operate on strings and arrays. 6. Subroutines and Bugs -Extends the basic knowledge of Perl in two main directions: subroutines, which are an important way to structure programs, and the use of the Perl debugger, which can examine in detail a running Perl program. 7. Mutations and Randomizations - Genetic mutations, fundamental to biology, are modelled as random events using the random number generator in Perl. This chapter uses random numbers to generate DNA sequence data sets, and to repeatedly mutate DNA sequence. Loops, subroutines, and lexical scoping are also discussed. 8. The Genetic Code - How to translate DNA to proteins, using the genetic code. It also covers a good bit more of the Perl programming language, such as the hash data type, sorted and unsorted arrays, binary search, relational databases, and DBM, and how to handle FASTA formatted sequence data. 9. Restriction Maps and Regular Expressions - An introduction to Perl regular expressions. The main focus of the chapter is the development of a program to calculate a restriction map for a DNA sequence. 10. GenBank - The Genetic Sequence Data Bank (GenBank) is central to modern biology and bioinformatics. In this chapter, you learn how to write programs to extract information from GenBank files and libraries. You will also make a database to create your own rapid access lookups on a GenBank library. 11. Protein Data Bank - Develops a program that can parse Protein Data Bank (PDB) files. Some interesting Perl techniques are encountered while doing so, such as finding and iterating over lots of files and controlling other bioinformatics programs from a Perl program. 12. BLAST - Develops some code to parse a BLAST output file. Also mentioned are the Bioperl project and its BLAST parser, and some additional ways to format output in Perl. 13. Further Topics - Points the way to further learning in Perl by looking ahead to topics beyond the scope of this book. Appendix A - Resources for Perl and for bioinformatics programming, such as books and Internet sites. Appendix B - Summary of the parts of Perl covered in this book, plus a little more. (Review Data Last Updated: 2007-04-01 05:08:33 EST)
|
|||||||||||||||||||||||||||||
| 11-10-06 | 4 | 1\1 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
For the students of molecular biology and genetics, and also other bioinformatics-related departments, this book is an above-average supply to study Perl.
(Review Data Last Updated: 2006-12-31 11:38:39 EST)
|
|||||||||||||||||||||||||||||
| 09-20-06 | 5 | 1\1 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
People come to Bioinformatics from either the bio side or the CS side, with a few from various other disciplines. This book is best for the bio person who is getting into programming, not the programmer who is getting into bio.
For you CS types, I attended a tutorial by Tisdall on this material some years ago. One of the attendees asked why you needed an editor to code in Perl. That is the level that we are dealing with here! It is a crime that biology and biochem students are not taught any perl- this is a very useful tool that will be more important as time goes on. Perhaps someone could write a book on bioinformatics Perl for programmers someday, but that is not the goal of this book. (Review Data Last Updated: 2006-11-11 11:25:18 EST)
|
|||||||||||||||||||||||||||||
| 01-16-06 | 5 | 1\2 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Excellent book. The perl programming language is the most versitile and powerful software tool available today. This book was written for Biologists to learn this incredible programming language. Examples are pulled from real problems Biologists face and explained in terms they can understand. The book is clearly written.
(Review Data Last Updated: 2006-09-20 10:26:46 EST)
|
|||||||||||||||||||||||||||||
| 12-30-05 | 5 | 1\1 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
i find this book is an excellent intoudction for one of the most intersting topic..The book is so easy to read if you know the elementary of molecular biology and begining introudction about perl. I do recommed this book to start with if you interested about programming for bioinformatics. You will be able to build simple bioinformatics programmes after reading this book as well as you will be able to understand easily how the commerically avaliable bioinformatics programs are working.
(Review Data Last Updated: 2006-07-07 11:50:18 EST)
|
|||||||||||||||||||||||||||||
| 10-02-05 | 5 | 1\1 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I am only at chapter 5 in this book right now. But I will say that I pretty much used this book as a primary text for my Bioinformatics class. The author is clear. When a concept is being introduced he focuses on getting you comfortable with the basics, and then introduces exceptions later. I could list a hundred books where an author will list exceptions to the exceptions while first introducing a new concept; leaving a reader quite muddled. Not the case with this elegant book. If you are new to Perl, I strongly recommend this to supplement your current Bioinformatics text. Be Sure to also visit the author's website and download the example programs that you see in the book. It helps to play around with another's code and see what happens when you modify it. Use it while you read about it and you will learn it.
(Review Data Last Updated: 2006-07-07 11:50:18 EST)
|
|||||||||||||||||||||||||||||
| 09-06-05 | 4 | 2\4 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Tisdall gives a deliberately simple explanation of some of Perl's commonly used abilities. Geared towards an audience of biologists for whom the finer points of programming theory would be unappreciated. But then, why can't they just get a Dummies or Idiot's book on generic Perl? These surely exist.
Because what distinguishes Tisdall's text is the extensive use of data examples and problems drawn from molecular biology. Like writing a subroutine to mutate a DNA sequence. Then there are the exercises at the end of each chapter. All drawn suggestively for the readership. Also, he warns that Perl is not the only or best choice for every occasion. C or Java actually are better for intensive number crunching. While Perl gives you rapid prototyping and extensive ability to parse ASCII. (Review Data Last Updated: 2006-07-07 11:50:18 EST)
|
|||||||||||||||||||||||||||||
| 08-25-05 | 4 | 3\3 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
This book provides a quick and easy introduction to the subject and has clear and useful examples. Comming from a biology background I found the layout of the book and the clear explainations very helpful.
(Review Data Last Updated: 2006-07-07 11:50:19 EST)
|
|||||||||||||||||||||||||||||
| 06-23-05 | 5 | 5\5 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
For those of you who are originally from biology, and now want to/need to venture into the realm of computer programming for biological data, this is a great way to start learning. Its much more than just a basic run-of-the-mill intro programming book however, because the author applies everything towards biology.
In this sense the author first writes code examples with the intention that they can be used in your lab or just further your understanding about programming in general. From a programming perspective, one of the premier strengths of this particular book is its coverage on Regular Expressions. The author uses the method of drill to explain and explain and break down each segment of any presented regular expression in great detail so that pretty much anyone with a little programming background can understand. In addition, the chapters are wonderfully presented with not too much but not too little content, but just the right amount. Probably, the second biggest strength of this book is its organization and layout of each chapter. Well there's that and its awesome index/appendix where you can pretty much find the stuff you are looking for. I would recommend this book highly to anyone wanting to/needing to use Perl to handle their biological programming needs. Overall, this little book offers much as a solid segway into intro Perl programming for bioinformatics. Assumptions about the reader: This is an applied introductory book on Perl for Biology. Although it is introductory it would be best if you the reader had some prior computer programming knowledge under your belt (say in [C/C++/etc,...] to truly understand the material however its not a requirement. The only reason I mention that is because Perl is weird - its lack of strictness (no pun intended on the 'use strict' pragma fyi) can get frustrating at times because there are so many ways to do the same thing in Perl - thats what makes Perl weird IMHO. The final word: If you are not a pure programmer-type but a biology person wanting to learn programming - moreover programming in Perl for biology - this is definitely a good book to learn with - I really learned quite a bit from this book on how to parse files using regular expressions, and how to program in Perl. Its an intro-to-intermidiate level programming book thats quite good to begin with - hence the name 'Beginning Perl for Bioinformatics'. (Review Data Last Updated: 2006-07-07 11:50:19 EST)
|
|||||||||||||||||||||||||||||
| 05-01-04 | 3 | 2\3 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I have used this book in a beginning Perl programming course for biology majors. While it is good if you sift through it from start to the end, I often found it impossible to find things when I needed to go back to remind myself of something. The index does not help, and there is no concise language reference anywhere.
Also, I do not like the fact that it uses "quick and dirty" Perl (no "use strict" pragma). While it might be less confusing to skip it at the very beginning, very soon students start to waste too much precious class time trying to locate bugs that would make the program not compile with "use strict" in the first place (e.g. mistyped variable names). (Review Data Last Updated: 2006-07-07 11:50:19 EST)
|
|||||||||||||||||||||||||||||
| 03-16-04 | 4 | 11\11 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
"Bioinformatics" is the new sexy term for what used to be called simply "computational biology". Simply put, it involves pretty much any application of computation techniques to biological problems. The reason for the new nomenclature and the greatly increased interest in the topic is, like much in modern biology, a more-or-less direct consequence of the many genome sequencing projects of the last decade.
The consensus in the field seems to be that it's more productive (and certainly easier) to teach biologists how to program, rather than try to get programmers up to speed on the intracities of molecular biology. For similar reasons, Perl is a popular language to learn: it's easy to get off the ground and be productive with it, without requiring a heavy computer science background. (This, of course, has downsides as well...) Never one to miss out on a trend, I'm going to be teaching a course on Bioperl and advanced Perl programming, starting next fall, which means I'm doing a lot of reading in this topic area, trying to develop lectures and find good background reading material. One of the first books I grabbed was _Beginning Perl for Bioinformatics_, which has been sitting on my "to read" shelf since O'Reilly sent me a review copy in December of 2001. It's a typical O'Reilly "animal" book (the cover bears three tadpoles), which does a decent job of introducing the basic features of the Perl language, and it should enable a dedicated student to get to the point where she can produce small useful programs. However, I'm not completely happy about the book's organization, and I think the occasional "if you're not a biologist, here's some background" interjections could have been cut without hurting anything. The initial chapters in the book cover "meta" information, such as theoretical limits to computation, installing (or finding) the Perl interpreter on your computer, picking a text editor, and locating on-line documentation. Some general programming theory stuff is covered as well -- the code-run-debug cycle, top-down versus bottom-up design, the use of pseudocode. There's also some biology background, but it's very introductory level stuff -- DNA has four bases, proteins are made of 20 amino acids, and so on. In chapter four, the book begins to get into actual Perl, with some coverage of string manipulation. Examples deal with simulating the transcription of DNA into RNA. Chapters five and six continue to flesh out the language, covering loops, basic file I/O, and subroutines. Chapter seven introduces the rand() function, in the context of simulating mutations in DNA. Subsequent chapters introduce the hash data type (using a RNA->protein translation simulation), regular expressions (as a way to store the recognition patterns of restriction endonucleases), and parsing database flat files and BLAST program output. I'm clearly out of the target audience of the book, as I already have a strong working knowledge of Perl. Perhaps that's why I found the order that concepts were presented in to be a bit strange -- for example, hashes, which are a fundamental data type, aren't introduced until halfway through the book, and regular expressions (one of the key features of Perl) first appear even later. As I said above, I also found the biological background sections to be more distracting than anything, but I've also got a strong biology background, so perhaps I'm off base here too. That said, I think a person with a CS background would be better served with a copy of _Learning Perl_ and an introductory molecular biology text than with this particular book. One of the things I did enjoy about the book were the frequent coding examples, all of which presented realistic computational biology sorts of problems and then demonstrated how to solve them. I'm sure that when I get around to writing lectures, I'll be leafing through this book looking for problems I can use in class. Overall, recommended for biologists without programming experience who would like to get started using Perl for simple programming. Not recommended for people with computer science backgrounds looking to get into bioinformatics. (Review Data Last Updated: 2006-07-07 11:50:19 EST)
|
|||||||||||||||||||||||||||||
| 09-14-03 | 5 | 2\3 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
This is the first book that I read about Perl and also the first one that I read about Bioinformatics. I think it has an enough level of details so that readers who have little or no Bioinformatics background can easily understand the basics, and readers who wants to focus more on Perl usage in Bioinformatics can also get quick and useful examples such as interpreting BLAST output, and regular expressions.
(Review Data Last Updated: 2006-07-07 11:50:19 EST)
|
|||||||||||||||||||||||||||||
| 07-27-03 | 4 | 8\8 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
As the banner above the title of James Tisdall's Beginning Perl for Bioinformatics indicates, this book is 'an introduction to Perl for biologists.' What the banner doesn't mention is that it's also an introduction to biology and bioinformatics for Perl programmers, and it's also an introduction to both Perl *and* biology for people that have never really been exposed to either field. The author has clearly thought a lot about making one book to please these different audiences, and he has pulled it off nicely, in a way that manages to explain basic topics to people learning about each field for the first time while not coming off as condescending or slow-paced to those that might already have some exposure to it.
Superficially, this book isn't all that different from a lot of introductory Perl books: the Perl material starts out with an overview of the language, followed by a crash course on installing Perl, writing programs, and running them. From there, it goes on to introduce all the various language constructs, from variables to statements to subroutines, that any programmer is going to have to get comfortable with. Pretty run of the mill so far. Tisdall starts with two interesting assumptions, though: [1] that the reader may have never written a computer program before, and so needs to learn how to engineer a robust application that will do its job efficiently and well, and [2] that the reader wants to know how to write programs that can solve a series of biological problems, specifically in genetics and proteomics. As such, there is at least as much material about the problems that a biologist faces and the places she can go to get the data she needs as there is about the issues that a Perl programmer needs to be aware of. The author introduces the reader to the basics of DNA chemistry, the cellular processes that convert DNA to RNA and then proteins, and a little bit about how and why this is important to the biologist and what sorts of information would help a biologist's research. The main sources of public genetic data are noted, and the often confusing -- and huge -- datafiles that can be obtained from these sources are examined in detail. With the code he presents for solving these problems, Tisdall makes a point of not falling into the indecipherable-Perl trap: this is a useful language, well-suited to the essentially text-analysis problems that bioinformatics means, and he doesn't want to encourage the kind of dense, obscure, idiomatic coding style that has given Perl an undeservedly bad reputation. Some of Perl's more esoteric constructs are useful, and they show up when they're needed, but they're left out when they would only serve to confuse the reader. This is a good decision. Rather, the focus is on teaching readers how to solve biological problems with a carefully developed library of code that happens to leverage some of Perl's most useful properties. The result is pretty much a biologist's edition of Christiansen & Torkington's Perl Cookbook or Dave Cross' Data Munging With Perl. The author presents a series of issues that a working bioinformaticist might have to deal with daily -- parsing over BLAST, GenBank, and PDB files, finding relevant motifs in that parsed data, and preparing reports about all of it. If a bioinformaticist's job is to be able to report on interesting patterns from these various sources, then following the programming techniques that Tisdall explains in clear, easy-to-follow prose would be an excellent way to go about doing it. And when I say "programming techniques," note that I'm not specifically mentioning Perl. The code in this book is clear and organized, and all programs are carefully decomposed into logical subroutines that are then packaged up into a library file that each later sample program gets to draw from. Each new program typically contains a main section of a dozen lines of code or less, followed by no more than two or three new subroutines, along with calls to routines written earlier and called from the BeginPerlBioinfo.pm that is built up as the book progresses. Each sample is typically preceded by a description of what it's trying to accomplish and followed by a detaild description of how it was done, as well as suggestions of other ways that might have worked or not worked. This modular approach is fantastic -- too many Perl books seem to focus so heavily on the mechanics of getting short scripts to work that they lose sight of how to build up a suite of useful methods and, from those methods, to develop ever-more-sophisticated applications. It isn't quite object-oriented programming, but that's clearly where Tisdall is headed with these samples, and given a few more chapters he probably would have started formally wrapping some of this code into OO packages. If I have a complaint with the book, in fact, it's that Tisdall doesn't go any further: everything is good, but it ends too soon. Seemingly important topics such as OO programming, XML, graphics (charts & GUIs), CGI, and DBI are mentioned only in passing, under "further topics" in the last chapter. I also have a feeling that some of the biology was shorted, and the book barely touches upon the statistical analysis that probably is a critical aspect of the advanced bioinformaticist's toolbox. I can understand wanting to keep the length of a beginner's book relatively short, and this was probably the right decision, but it would have been nice to see some of the earlier sample problems revisited in these new contexts by, for example, formally making an OO library, showing a sample program that provided a web interface to some of the methods already written, or presenting code that presented results as XML or exchanged them with a database. But these are minor quibbles, and if the reader is comfortable with the material up to this point, she shouldn't have a hard time figuring out how to go a step further and do these things alone. It's a solid book, and one that should be able to get people learning Perl, genetics, or both up to speed and working on real world problems quickly. (Review Data Last Updated: 2006-07-07 11:50:19 EST)
|
|||||||||||||||||||||||||||||
| Reader Reviews 1 - 15 of 15 | |||||||||||||||||||||||||||||
| All Books | Arts | Biography | Click Here For An A-Z Index Of All 213 Best-Seller Subjects | Business | Children's | Comics | ||||||
| Computers | Cooking | Engineering | Entertainment | Health | History | Home | Horror | Humor | Law | Fiction | Medicine | Mystery |
| Nonfiction | Outdoors | Parenting | Professional | Reference | Religion | Romance | Science | Sci-Fi | Sports | Teens | Travel | |