Perl is one of the most popular choices when it comes to analysis of biological data, since it has a well developed ability to detect patterns in it. Starting out can be difficult, however, especially if you have little experience in programming. Applying the language to bioinformatics without assistance can be difficult. That's because the most popular books to teach you Perl are usually too computer-science-focused and overly theoretical for biologists who need to solve specific problems.
Beginning Perl for Bioinformatics solves that problem by arranging its information in such a way as to get you over the language barrier quickly. Perl programming is approached just like any other new skill you'd use in the laboratory, and each chapter is very focused. The book starts with the simplest problems and increases in complexity in each following chapter. Later chapters may have more detailed information on specific topics in bioinformatics, too.
Beginning Perl for Bioinformatics works as a reference work, for self-study, and in the classroom, covering basics in programming, as well as working with DNA strings and sequences, debugging, simulating gene mutations, regular expressions and finding motifs and much more. You'll also see information on regular expressions and restriction maps, hashes, arrays and relational databases, and using Perl as a means to parse BLAST output, annotations in GenBank and PDB records.
Here's a short overview of the major topics in Beginning Perl for Bioinformatics, including the chapters you'll find them in.
Chapter one, Biology and Computer Science, covers the relationship between the two details, as well as information about DNA and protein organization and the limits computation has in representing them.
Chapter two, Getting Started with Perl, discusses the program's usual learning curve, how it can benefit biologists, and how to install Perl onto your computer. It also covers running Perl programs, getting help, and use of various text editors.
In chapter three, The Art of Programming, topics discussed include the various individual approaches possible, the process and various strategies in programming, the importance of saving and revision, and the environment in which programming happens, including open source software.
Chapter four, Sequences and Strings, discusses representation of sequence data, using programs to store a sequence, and concatenating DNA fragments, as well as transcription from DNA to RNA. It also tells readers about use of Perl documentation and calculating the reverse complement using Perl. It covers how to use protein sequence data in Perl, including reading data from the file and the use of arrays in the Perl language. Since Perl operations behave differently depending on the context they're being used in, both scalar and list context are discussed, and exercises are included to help users understand the chapter.
Chapter five, Motifs and Loops, covers flow control, code layout, finding motifs, counting nucleotides, operating on strings and exploding them into arrays, and writing to files. It also includes helpful exercises that cover the other content in the chapter.
In chapter six, called Subroutines and Bugs, subroutines and scoping are covered, as well as passing data to subroutines, the modules and libraries of subroutines, and command line arguments and arrays. More exercises assist in understanding of the chapter.
The seventh chapter is Mutations and Randomization, including information on random number generators, using randomization to simulate the mutation of DNA, generating random DNA, and analyzing it.
In chapter eight, The Genetic Code, topics covered include data structures and algorithms for biology, translating DNA into proteins, reading DNA from FASTA format files, and reading frames, as well as the expected exercises.
Chapter nine, Restriction Maps and Regular Expressions, brings us information on regular expressions, restriction maps and restriction enzymes, and how they fit in with Perl operations. As in previous chapters, more exercises help with understanding.
Chapter ten is GenBank (Genetic Sequence Data Bank), and covers files and libraries for GenBank, separating sequence and annotation, parsing of annotations, and using DBM to index GenBank.
In chapter eleven, Protein Data Bank, an overview of PDB is given, as well as information on organization structure, PDB files and how to parse them, in addition to controlling other programs and the usual exercises.
Chapter twelve, called BLAST (Basic Local Alignment Search Tool), covers how to obtain BLAST, string matching and homology, parsing BLAST output and all about output files from BLAST, and data presentation. Bioperl (a collection of Perl bioinformatics modules) information is also included in this chapter.
Further topics are covered in chapter thirteen, which is fittingly enough called Further Topics. It covers the art of program design and programming for the web. Sequence alignment and algorithms, object oriented programming, Perl modules, complex data structures and relational databases. Graphics programming, modeling networks, micro arrays and XML and DNA computers are also covered in this chapter.
The included appendixes contain resources for general information about Perl, computer science, bioinformatics, Linux and molecular biology, as well as a Perl summary. Beginning Perl for Bioinformatics is one of the best books you can choose if you want to learn how to use Perl in a biology context, not one more related to computer science. Even if you're new to programming or have very little experience with it, this book could be what you've been waiting for. Beginning Perl for Bioinformatics is a big help for biologists everywhere.
You can see excerpts from this book accessing the page:
Beginning Perl for Bioinformatics
where you can see free preview of the Beginning Perl for Bioinformatics or subscribe to it in order to have access at the whole thing. Check it out and see if this useful book is the one for you.