- Amazon Student members save an additional 10% on Textbooks with promo code TEXTBOOK10. Enter code TEXTBOOK10 at checkout. Here's how (restrictions apply)
UNIX and Perl to the Rescue!: A Field Guide for the Life Sciences (and Other Data-rich Pursuits) Paperback – Aug 27 2012
Special Offers and Product Promotions
Customers Who Bought This Item Also Bought
No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
To get the free app, enter your e-mail address or mobile phone number.
"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!"
G. K. Jenkins, Computing Reviews
"With their book on UNIX and Perl, scientists Bradnam and Korf have come to the aid of laboratory or field researchers floundering helplessly under overwhelming gigabytes of unstructured raw data. With a characteristic charming and chipper cheerfulness, the book quickly guides the readers through finding/installing a UNIX system of any variety... Highly recommended."
F.E.J. Linton, emeritus, Wesleyan University, Choice Magazine
"Unix and Perl to the Rescue! is a book I highly recommend for all those students, post-docs, and academics who are scared of programming but can benefit immensely from the power of Unix and scripting languages. It's time to come out of your shell."
Dr MD Sharma, Genetics Society News
"Bradnam and Korf provide an intuitive and enjoyable volume that shows how to make the terminal window useful to scientists looking to build automation into data queries using UNIX and Perl scripting. With a thorough treatment of more than just the basics, this book fills a missing niche in the Perl and UNIX world with a focus on data processing. The authors have crafted a brilliant treatment of pattern searching with regular expressions to help the reader unleash some of the most powerful parts of the Perl programming language. For scientists looking to parse data files and extract the essential pieces this is a thorough and well explained complete with sprinkles of humor and biologically motivated examples."
Jason Stajich, University of California, Riverside
Written in a fun, accessible style, this step-by-step guide teaches non-programmers the key aspects of Unix and Perl. No prior experience is required and new concepts are introduced using code examples for readers to try themselves. Essential reading for those who want to work more effectively with large data sets.See all Product Description
Most Helpful Customer Reviews on Amazon.com (beta)
So here we have Keith Bradnam and Ira Korf expounding on two of the driest subjects known to humankind, Unix and Perl, and they actually are witty, engaging, entertaining and, best of all, educational. (Of course, if you are into Unix and Perl, you know they're really kind of exciting: but this book isn't written for us. It's for total beginners.)
This book does not pretend to be anything more than what the authors declare it to be: a basic (very basic, in fact) introduction to Unix and Perl for "the life sciences (and other data-rich pursuits)".
They say they will teach you what 20 Unix commands are and do - and that is precisely what they do. If you know Unix or Linux, you know they are very rich Operating Systems and have hundreds of functions and operators and thousands of variants. But the 20 Bradnam and Korf tutor the reader in are all you need to get going in Unix and Linux.
Everything is in bite-sized chunks which bear a faint resemblance to chapters. The authors' wry wit permeates every page and, miraculously, they are actually funny and use their humor to drive their teaching. Well done!
The Perl section will not please those who have already passed through the fires of learning Perl. There are almost as many books on Perl programming as there are about Napoleon - and this volume does not try to compete with the classics of the Perl language.
Rather it presumes the reader knows literally nothing about Perl and is motivated by the desire to escape enslavement by spreadsheet as they try to analyze mountains of data.
The authors set out to teach basic data analysis using Perl: they are not showing you how to parse a genome. They demonstrate the very basics of using Perl and make no secret that you are on your own in tackling larger projects.
This is a book for non-programmers, for neophytes, a stress-fee introduction into the scary world of programming. And it does the job well. The authors' wry wit goes along way into making Unix and Perl (or at least the very basics of the two) easily accessible. Mssrs. Bradnam and Korf have done an excellent job here.
I know nothing about either, so I followed the book's directions, and they worked. I downloaded the recommended CYGWIN program
(NOTE: When you download CYGWIN, you have to include the "nano" editor and the "perl" programming language; these do not download automatically on the install, at least they didn't for me. Google how to do this; there are multiple explanations online.),
installed it, and, lo and behold, I was running a Unix environment. All of the commands worked the way the book said they would. I practiced creating files, renaming them, deleting them, etc.
Then, it was on to Perl programming. Perl is a forgiving programming language, and I did understand the commands I was learning via the programs I was told to write.
But, I do agree with the reviewer who said the book doesn't go as far as it claims it will. I thought I would be learning how to do some statistical programming in Perl, and that really doesn't happen.
But, I now know infinitely more than I did when I started. I am sort of amazed that the book contains enough well organized information to get you started off the bat. And, the authors have a dry sense of humor, particularly noticeable in their footnotes.
Verdict? Recommended for beginners who know nothing about Unix and Perl. Not recommended for people with prior knowledge.
The book features dozens of little "chapters" (typically 2-3 pages each) that begin with an explanation of a task, then code is presented and then the code is explained. The chapters are largely self contained but you will want to work through all 100 pages on UNIX because the the later sections assume you have build a couple directories from earlier chapters. Don't panic about the number of pages because the writing makes them very easy to follow and work through. Most chapters have brief exercises to reinforce the topics. These are excellent.
All the commands you need to create, move, and run files are covered. Specifically: alias, cat, cd, chmod, cp, date, echo, file, history, less, ls, man, mkdir, mv, nano, rm, rmdir, source, touch, and which are all explained very well. With this set of tools you can manipulate your files but the authors do not explain how to find them! So, you will need to leave the console to find that work you did a couple weeks ago. Other that that weakness there is nothing wrong with the UNIX section. The authors introduce nano as a text editor, which is adequate for the book and they mention vim and Emacs as more full featured tools. Each editor needs a book of its own. So, it would have been great if the authors provided a recommended reading list for those.
The PERL section is long and nicely full featured. PERL offers a HUGE set of tools and this book covers the critical parts which you need to manipulate text files like a professional.
In addition to the oversight on finding files the other weakness of the book is the lack of links on how to use other tools. These days knowledge of R and/or Python are a must. Detailed coverage of those are beyond the scope of the book but it would have been great to see long sections on integrating those tools or at least references on where to start. Despite the lack of external links I love this book for the quality of the writing and an excellent index.
Good, brief, specific tutorials on Unix commands and PERL
Missing case study examples to put it all together to solve common problems
This book will help you if you want to learn to program using Unix commands and the PERL programming language, the portions that can be used for data - reformatting, evaluating, summarizing, etc. It offers reasonably good tutorials for these two subjects.
But the back cover of the book says this: "Your research has generated gigabytes of data and now you need to analyze it. You hate using spreadsheets, but it's all you know, so what else can you do? This book will transform how you work with large and complex data sets, teaching you powerful programming tools for slicing and dicing data to suit your needs."
The problem is, the book does not accomplish those goals. It may be possible to do some kinds of spreadsheet analysis using these tools, but this book does not give you examples. They do introduce two biology-oriented data formats, but example manipulations of these is fairly trivial and oriented to demonstrating one command. They do talk about SLICING (finding, matching, and extracting) data, but there is not much on DICING (rearranging, summarizing, combining) data.
Essentially, without examples, you'll be left to develop your own strategy to pull it together. To show you what I mean, consider the structure of the book:
Chapter 1 - Introduction - 8 pages
Chapter 2 - Installing Unix and Perl - 5 pages - does not really discuss installation beyond giving Windows users some options because Windows does not include Unix
Chapter 3 - An Introduction to Unix - 85 pages - introduces a subset of Unix *commands* (not Unix itself, which is an operating system) useful for working with data
Chapter 4 - An Introduction to Perl - 149 pages - introducing basics of Perl programming language
Chapter 5 - Advanced Unix - 34 pages. This chapter includes the only real discussion of working with data files in the sense the back cover is discussing. The chapter includes a few pages describing to biology data file formats, and uses them as examples for some command features.
Chapter 6 - Advanced Perl - 47 pages. Describes capabilities (such as multi-dimensional arrays) that are useful for data analysis, such as a brief look at reading a comma-separated file into an array.
Chapter 7 - Programming Topics - 48 pages - tips on the practice of programming in general.
The only meaningful discussion of analyzing data is in Chapters 5 and 6, and it is superficial, brief, and serves to illustrate how one command works, rather than strategies for using multiple capabilities together to solve a problem.
If I were to write a book with the same goals, I would structure it around typical problems to be solved, and introduce concepts as I go along. Sure, you need to have brief chapters on Unix and Perl basics, but there needs to be a LOT more focus on applying the technology to data analysis problems.
Even with the organization they used, the book would be more useful with several chapters discussing problems and solutions using Unix and Perl from what was presented - putting together what you have learned for practical purposes. The size of these missing chapters should be 75-200% of the introductory material that precedes it.
As a side comment, the Unix operating system is NOT required for this work. For Windows users, there are many sources of Unix work-alike commands and true Perl that will suffice for this book. They do mention one (Cygwin), but there are also commercial ones (MKS) and many other open-source or freeware alternatives that are not discussed.
Three stars on Amazon means "It's ok." If the book were positioned as a programming tutorial, I'd give it four stars, but it fails to address the problem statement written on the back of the book - manipulations of the sort you could do with a spreadsheet, including slicing and dicing - and is likely to disappoint someone who is looking for that focus.