Skip to main content
Journal of the American Medical Informatics Association : JAMIA logoLink to Journal of the American Medical Informatics Association : JAMIA
. 2004 May-Jun;11(3):173. doi: 10.1197/jamia.M1457

Perl Programming for Biologists

By D. Curtis Jamison. Hoboken, NJ: John Wiley & Sons, Inc., 2003; 191 pages; $42.95

Reviewed by: Tricia A Thornton-Wells 1, Kevin B Johnson 1
PMCID: PMC400514

D. Curtis Jamison, PhD, an associate professor in the School of Computational Science at George Mason University in Manassas, Virginia, wrote the book Perl Programming for Biologists. Perl is an open-source interpreted scripting language originally designed for Unix systems programming by Larry Wall about 25 years ago. Due in large part to its powerful regular expressions for pattern matching and its accessibility for nonprogrammers, Perl has become the most popular programming language in bioinformatics. The goal of this book is to provide the reader with the background and tools necessary to write scripts of immediate practical value to his or her work.

It is Dr. Jamison's long-held desire to see full integration of computer technology into the experimental protocol that he brings to Perl Programming for Biologists. That desire translates into a very accessible text, which any biomedical researcher lacking programming experience would find a quick and painless primer. This book clearly targets that audience, and in so doing is too elementary for most researchers with intermediate or advanced programming experience. Furthermore, most beginning programmers will find that as their programming projects grow more complex, they will soon need a more thorough treatment of the subject, such as that found in O'Reilly's Beginning Perl for Bioinformatics.1

Intended for biologists, particularly those involved in genomics and proteomics, who have no prior programming experience, this book begins with the basics of data and control structures before covering more intermediate topics of regular expressions and input/output handling. Advanced sections on references and object-oriented programming provide the necessary background for understanding how to use Bioperl modules, which are the focus of the last chapter of the book.

The author succeeds at providing an informal introduction to Perl scripting that incorporates real-world examples appropriate for the intended audience. At the end of each chapter, there are exercises and programming challenges offered to reinforce concepts. Although most of the exercises are effective and of appropriate difficulty, the learning opportunity could have been improved by providing solutions as either an appendix or an online resource.

Unfortunately, not unlike many other programming texts, there were several typographical errors, which could prove very confusing for readers. For example, on at least three occasions, single quotes were mistakenly printed instead of back-ticks, including in an example that was meant to demonstrate the distinction between the two characters used in print statements. In Chapter 4, the initial text explaining the resulting values of using comparison operators is in direct opposition to the examples and subsequent textual explanations on the topic. The reader may be left not knowing which is correct without directly testing the result. Another nontrivial error was found in an example meant to demonstrate how to pass arrays as references. The backslash character, which must be placed in front of an array variable to create a reference to it, was omitted from the example entirely, again potentially leaving the reader confused as to how to implement a reference.

Author Qualifications

D. Curtis Jamison, PhD, earned his graduate degree from the University of Denver and then completed his postdoctoral work at the University of Missouri and at the National Center for Supercomputing Applications at the University of Illinois Urbana-Champaign. He currently leads the Bioinformatics Laboratory in the Center for Biomedical Genomics and Informatics at George Mason University.

Overall Recommendation

With more than 30 current titles offering introductory Perl instruction for a variety of applications, one might wonder whether another text on the subject was needed. However, with its narrowly defined purpose and scope, Perl Programming for Biologists does indeed meet the needs of a specific audience in a way earlier-published texts do not.

Compared with the 400-page Beginning Perl for Bioinformatics,1 first published by O'Reilly & Associates in 1991, Jamison's book provides a less comprehensive coverage of resources familiar to biologists, such as GenBank and BLAST. It also does not spend time explaining concepts such as DNA transcription and RNA translation. This is perfectly acceptable given Jamison's target audience of biologists and geneticists and the niche he is trying to fill. The result is a book half the size of the O'Reilly text, which makes it all the more accessible. However, those new to Perl and new to genetics or bioinformatics would need additional information that is not included in this text.

Perl is not only the most popular but also arguably the most valuable programming language for biologists to know. Notwithstanding the typographical errors that plague most programming texts, Perl Programming for Biologists is a well-written, easy-to-follow text that the nonprogramming biologist will find very helpful in learning Perl. Indeed, after reading only the first two sections of the book, one should be able to start writing simple Perl scripts that could improve data management and analysis processes and increase laboratory productivity.

Quotable Quotes

“If computational biology is about building the tools, analytical bioinformatics is about using the tools…. And just as DNA sequencing has turned into a Red Queen pursuit, every biology researcher has to perform more and more analytical bioinformatics to keep up.”

“What sets this book apart from most Perl language books is (1) the assumption that you've never had any formal training in programming, and (2) the examples are geared toward real problems that biologists face….”

References

  • 1.Tisdall J. Beginning Perl for Bioinformatics. Sebastopol, CA: O'Reilly & Associates, Inc., 2001.

Articles from Journal of the American Medical Informatics Association : JAMIA are provided here courtesy of Oxford University Press

RESOURCES