|
|
8 of 9 people found the following review helpful:
5.0 out of 5 stars
A great way to get started in bioinformatics programming, 26 Jun 2004
I think this is a really good introduction to both Perl and Bioinformatics programming. I already know several other languages, and have been meaning to pick up Perl for a while. So I thought this book might be too basic for me, but because I was new to the field of Bioinformatics, I did not find it terribly basic. I also do believe that it would be very good for someone with a biology background wanting to learn perl for bioinformatics (this is the audience the book claims to be targeting). Perl is a very powerful language, and I do think that it could be hard for programming beginner to learn. However, I think this book does a very good job of introducing several important topics in Perl gently. The best thing about it is the extremely numerous examples, which can all be downloaded from the book's website, so you don't have to waste time typing them in. This provides a great source of learning and experimenting with the code, but it also provides a platform for developing more advanced programs. You can just build new programs on top of much of the code from the book, which is very convenient, and is also what programming efficiently is all about.There are 13 chapters in the book, and I'll give a quick summary and insight into each below: Chapter 1 Biology and computer science: This gives a quick and gentle introduction to the goals of the field of bioinformatics, and how the two fields of biology and computer science contribute to it. It sets the context of the book. Chapter 2 Getting started with Perl: This is a good chapter which details how to set up Perl on your computer, and get started using it. Chapter 3 The art of programming: This chapter discusses the common approaches that people take to programming, and open source programming. Design, pseudocode, algorithms, and implementation are all discussed. Chapter 4 Sequences and strings: This provides a dual introduction to the string variable type in Perl and basic sequence analysis in bioinformatics. The general basics of Perl are covered as well, but the focus is on working with strings (actually scalars, and also arrays), which are very important in bioinformatics. Chapter 5 Motifs and loops: This chapter covers further topics in Perl (such as control structures (conditional stetments and loops), and searching DNA and proteins for sequences (motifs). Chapter 6 Subroutines and bugs: This chapter covers the important topic of subroutines, or breaking your code into small, reusable chunks. This is quite important in programming. The chapter also introduces debuggin, which is also (unfortunately) a very important part of programming. Chapter 7 Mutations and randomization: This chapter introduces the concept of mutation in bioinformatics, and how to model that with a computer, via a random number generator. It does a good job of explaining the (sort of strange) way that random number generators work, and the importance of using them correctly in order to get genuinely random numbers (which you obviously want!). Chapter 8 The genetic code: This chapter talks more about the genetic code in terms of translating DNA into protein. It also introduces hashes, which are another important variable type in Perl. It provides some good examples, and also deals with reading files in the FASTA data format, which is commonly used. Chapter 9 Restriction maps and regular expressions: Regular expressions were introduced and used in earlier chapters, but are covered more deeply here. It also introduces restriction enzymes and restriction maps, which are important for designing effective and efficient laboratory experiments. The chapter explains the process of developing a program for computing restriction maps, and provides some good example code. Chapter 10 GenBank: This chapter basically covers the methods you need to go through in order to extract information from GenBank, one of the most important databanks of genetic sequence information. Chapter 11 Protein data bank: This chapter is similar to the last, except that it deals with the Protein Data Bank instead of GenBank. Chapter 12 BLAST: This is another specific chapter, dealing with the Basic Local Alignment Search Tool (BLAST), a pervasive tool in bioinformatics. Chapter 13 Further Topics: Gives a cursory discussion of several "advanced" topics, like DNA computing, graphics pogramming and relational databases. You can see from the above chapters how the book proceeds, covering both aspects of Perl and tasks in bioinformatics one step at a time, which means that it's good for beginners with any background, really. All of the chapters (except the very early ones) have lots of sample code. Obviously this book isn't intended to be the only book you own on bioinformatics or Perl. It doesn't provide a thorough discussion of either, and you will especially need another book on bioinformatics if you are new to the biological sciences. You will need a more solid reference for the Perl language, which you can get from Programming Perl, or you can use the online documentation. If you are new to programming, you would also possibly benefit from using another beginning book, like Learning Perl, but I still believe that having a targeted book like this is invaluable to the starting bioinformatician.
|