Bioinformatics

[Review] Unix and Perl to the Rescue


Unix and Perl to the Rescue!
A field guide for the life sciences (and other data-rich pursuits)
Authors: Keith Bradnam, Ian Korf
ISBN: 9780521169820
Price: £29.99/US$48.00

Unix and Perl to the Rescue is a light-hearted, compelling book that introduces key programming concepts and Unix tasks, particularly relevant to the field of Bioinformatics. It assumes no previous knowledge of Unix or Perl and presents step-by-step basic processes as well as the philosophy of well experienced programmers, e.g. “The importance of saving key strokes”. This is not a trivial achievement, especially for the shy biologist who fears typing commands, afraid of breaking the machine, or for the experimentalist who meticulously follows protocols for the execution of tasks.

The book is presented in such a way that it can be read in specific chunks, and different sections may be skipped without losing the thread. The chapters are easily readable, only several pages long and containing humorous puns that make the book fun to read (i.e. ‘why it’s good to stray from the $PATH’). Every chapter contains also short code snippets followed by an explanatory section.  Given that the scope for the book is mainly introductory, it is not surprising that later ‘advanced’ sections are the ones that I personally found most useful after having done bioinformatics for more than a decade (e.g. debugging strategies or code beautification).

I especially recommend this book for any bioinformatics student coming from a Biology background.

Categories: Bioinformatics, Opinion, Review

Tagged as: , ,

5 replies »

  1. As a co-author of the book, I’d like to comment that we are not necessarily advocating Perl over Python (or Ruby for that matter).

    The primary aim of the book is to show how Unix combined with a scripting language can equip a non-programmer with a very useful tool set.

    Maybe a second version of the book could be extended such that we could name it ‘Unix and Various Scripting Languages to the Rescue!’ :-)

    Like

  2. All the features you like about PERL are at least as well done in Python. I never used BioPerl, so I can’t comment on whether all its features have been incorporated into BioPython or not.

    Bioinformaticians probably still need to program in PERL in order to maintain legacy code, but there is no reason for new development to happen in PERL. It took me about 2 weeks to switch from PERL programming to Python programming.

    I know several people who switched from using PERL to using Python after being pushed to learn Python (with free choice of language afterwards). I don’t know anyone who chooses PERL after knowing both PERL and Python.

    Like

  3. PERL is not the best first programming language for a biologist to learn—it is an ugly language that results in write-only, unmaintainable code. I used to teach PERL to bioinformatics students, because they had to know it, but nowadays they can use Python instead, which is much cleaner and easier both to learn and to teach.

    Like

    • Thanks Kevin as always for your unadulterated opinion.

      I hear lots of good things about python from people. I guess I have attachment to Perl because it is the first language I really fetl confident programming in.

      Part of the reason why I recommend Perl is because traditionally it has been the language of choice for bioinformatics: e.g EnsEMBL API, BioPerl, GBrowse, etc. Arguably there has been much more bioinformatics code in perl than in any other language. I definitively can say that when doing bioinformatics Perl it is safe choice, regardless of coding language preferences or background.

      Perl core features remain extremely valuable for current bioinformatics: its ability to glue programs into pipelines, its regexes for parsing and its tight integration in UNIX.

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s