Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Unix and Perl to the rescue! : A field guide for the life sciences (and other data-rich pursuits)
Bradnam K., Korf I., Cambridge University Press, New York, NY, 2012. 428 pp. Type: Book (978-0-521169-82-0)
Date Reviewed: Dec 20 2012

This is an expanded version of the authors’ publication “Unix and Perl primer for biologists” [1], used for a course delivered by them at UC Davis, and available freely on the Web.

As noted in the book’s introduction, the size of raw output files from biological (and other) research projects is increasing at an alarming rate, and the analysis of such files requires an easy-to-use language such as Perl. Perl is available for most platforms, and is usually available by default on Unix/Linux platforms.

The second part, on installing Unix and Perl, explains that a version of Unix is used in most modern Apple Mac machines, and the screen shots later in the book appear to have been generated on such a machine. Some suggestions are offered for the installation of Linux and Perl on machines that don’t have them; these include dual-boot, virtualization, and Cygwin arrangements.

Part 3, “Essential Unix,” introduces a basic set of commands with which users can create, save, and edit Perl and other files. The authors suggest using the nano editor and show how aliases can be created and sourced at login time. Permissions, shells, and paths are discussed and readers are guided through the creation of a simple shell script.

I’ve found that a number of life-science researchers actually use Windows desktops and laptops to access and process data held on remote Linux servers. It would be useful if some details were provided about installing a utility like PuTTY for logging on to remote machines.

The fourth part, ”Essential Perl,” contains the real meat of the book. Think “Perl for Dummies” in a DNA context. The authors have included many really good examples, with somewhat-less-than-subtle hints (“Always, always, always include ‘use warnings’ in your Perl scripts!”) sprinkled throughout. Readers are led progressively through scalar assignments, conditional statements, string handling, arrays and hashes, loops, and subroutines.

In Part 5, the reader is introduced to advanced Unix. Here, one can learn how to use the grep utility for extracting lines from FASTA files, and the sed and cut utilities for processing GFF files. The authors also give an all-too-brief summary of awk capabilities, and show how the tr utility can be used to rectify line-end character discrepancies in files received from a foreign system.

Topics dealt with in the next part, “Advanced Perl,” include more advanced regular expressions, modules, garbage-collection considerations, object-oriented-programming, command-line option processing, and the Comprehensive Perl Archive Network (CPAN) repository. There are also some quite detailed examples about two-dimensional arrays, references, and arrays of hashes. I have to confess that this sort of thing confuses me, but at least I now know where to look for examples.

The final part takes up programming topics, and it is actually a grab bag of really useful material. Debugging strategies are illustrated, and there’s a nice table of common error messages with corresponding likely causes. Code beautification is discussed, and there’s a section on data management in which persistent hashes are explained, along with Extensible Markup Language (XML) and SQL database access mechanisms.

The authors emphasize the importance of documentation, with the comment: “We don’t care if you lie, cheat or steal. We do care if you don’t document code!” They also include a whole section about what they term “other people’s data,” or OPD, with the succinct mantra: “Never trust OPD ... always examine it!”

The book ends with an appendix with solutions to some of the problems posed in Parts 3 and 4.

My chief regret about this book is that it wasn’t available last year, when I was working with a group of life-science researchers. I could have persuaded them all to purchase a copy, thereby saving myself a great deal of the time I spent assisting with their data analysis tasks!

Reviewer:  G. K. Jenkins Review #: CR140766 (1303-0181)
1) Bradnam,K. Korf,I. Unix and Perl primer for biologists UC Davis http://korflab.ucdavis.edu/unix_and_Perl/ (12/19/2012).
Bookmark and Share
  Featured Reviewer  
 
Unix (D.4.0 ... )
 
 
Perl (D.4.9 ... )
 
 
Life And Medical Sciences (J.3 )
 
 
Reference (A.2 )
 
Would you recommend this review?
yes
no
Other reviews under "Unix": Date
UNIX network programming
Stevens W., Prentice-Hall, Inc., Upper Saddle River, NJ, 1990. Type: Book (9780139498763)
Dec 1 1991
UNIX systems: advanced administration and management handbook
Hunter B., Bradford-Hunter K., Macmillan Publishing Co., Inc., Indianapolis, IN, 1991. Type: Book (9780023589508)
Feb 1 1992
UNIX system security
Farrow R., Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1991. Type: Book (9780201570304)
Oct 1 1992
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy