Do you have a biological question that could be readily answered by computational techniques, but little experience in programming? Do you want to learn more about the core techniques used in computational biology and bioinformatics? Written in an accessible style, Python Programming for Biology provides a foundation for both newcomers to computer programming and those interested in learning more about computational biology. The chapters guide the reader through: a complete beginners' course to programming in Python, with an introduction to computing jargon; descriptions of core bioinformatics methods with working Python examples; scientific computing techniques, including image analysis, statistics and machine learning. Python Programming for Biology also functions as a language reference written in straightforward English, covering the most common Python language elements and a glossary of computing and biological terms. Python Programming for Biology will teach undergraduates, postgraduates and professionals working in the life sciences how to program with Python, a powerful, flexible and easy-to-use language.
2. Beginners' guide
3. Python basics
4. Program control and logic
7. Object orientation
8. Object data modelling
10. Coding tips
11. Biological sequences
12. Pairwise sequence alignments
13. Multiple sequence alignments
14. Sequence variation and evolution
15. Macromolecular structures
16. Array data
17. High-throughput sequence analyses
19. Signal processing
23. Clustering and discrimination
24. Machine learning
25. Hard problems
26. Graphical interfaces
27. Improving speed
Appendix 1: simplified language reference
Appendix 2: selected standard type methods and operations
Appendix 3: standard module highlights
Appendix 4: string formatting
Appendix 5: regular expressions
Appendix 6: further statistics
Tim Stevens is Senior Investigator Scientist at the MRC Laboratory of Molecular Biology in Cambridge. He researches single-cell 3D genome architecture and provides computational biology oversight, development and training within the Cell Biology Division.
Wayne Boucher, a mathematician and theoretical physicist by training, is a senior postdoctoral associate and computing technician for the Department of Biochemistry at the University of Cambridge. He teaches undergraduate mathematics and postgraduate programming courses, and is currently developing software for the analysis of biological molecules by nuclear magnetic resonance spectroscopy.
"As a long-time advocate of Python as the language of choice for both the bulk of biological data analysis and for teaching computer programming to molecular life scientists, I am delighted to see this book. [It] provides a well-focused introduction to Python programming but then goes on to use the clarity of the Python language to demystify a wide range of commonly applied data processing and analysis techniques that arise in modern cell and molecular biology. The integration of straightforward introductions to sequence analysis, image processing and statistical analysis (amongst others) into a book on Python is inspired. The clarity of the Python language helps to show that often 'yes it really is that simple', in a way that staring at a mathematical expression often fails to, and the programming element allows the reader to become actively involved."
– Jeremy Craven, University of Sheffield
"Python Programming for Biology is an excellent introduction to the challenges that biologists and biophysicists face. The choice of Python is appropriate; we use it in most research in our laboratories at the interface between biology, biochemistry and bioinformatics. The book takes us through programming principles for a beginner with a biological background, introducing the basics. It has useful tips for improving code and some specific examples, for example in sequence analysis, macromolecular structures, image processing and databases. I was pleased to see that there is a substantive section on machine learning which in the era of 'big data' is becoming central to much of the software developed for biomedical and agri-biotech research."
– Tom Blundell, University of Cambridge
"Stevens and Boucher tear down barriers to programming and bioinformatics, for biologists and medics alike [...] this is the book that I wish I could have read years ago. Serving as both a straightforward tutorial and plain-English reference, the key programming, biology and bioinformatics concepts necessary to build programs for practical, real-world applications are explained in a logical and easy-to-follow order, helping the reader to get from zero to results faster. Unlike many programming books and resources, information is presented in the right amount of detail and jargon is demystified, giving a gentle but thorough and practical introduction to programming with Python, while providing useful tips and encouraging good practices. This introduction is built on with 'from the ground up' explanations of basic, intermediate and advanced computational biology methodologies through Python implementations, resulting in a well-rounded text for programming to solve biological challenges."
– Harry Jubb, University of Cambridge
"As an increasingly valuable and important skill, programming can be daunting for those new to it. Python Programming for Biology provides the perfect introduction into the world of coding. Stevens and Boucher gently guide the reader through the basics and into practical examples that will aid the reader into incorporating Python into their research activities. I would not hesitate to recommend it as a valuable teaching aide or to people keen to expand their horizons into bioinformatics."
– David Ascher, University of Cambridge
"Python has become a programming and scripting language of utmost importance in scientific computing, in particular in biology. Major, widely used software packages make use of Python, and libraries offering powerful functionalities are available. Many if not most research projects in biology benefit from computational techniques. Although it is incredibly simple to write small scripts in Python, for a novice in programming, the first steps may seem daunting. In contrast to many other books on Python, this book is specifically aimed at an audience that has little or no experience with programming. After a step-by-step introduction to programming in Python, it describes concrete examples from different areas in biology, with code examples from data analysis to modelling. [It] is a highly valuable addition to the literature on Python, and recommended to any biologist who is interested in using computers in his research."
– Michael Nilges, Institut Pasteur, France
"[Stevens and Boucher's] understanding of the needs of the target audience for this book (primarily bench scientists with minimal programming experience) is complete. They have accurately customized the book, to meet those specific requirements which are so distinct from those of students aspiring to be specialist programmers. They have achieved this difficult objective without 'dumbing down' the content or omitting any relevant aspect of Python. The book provides an easy and comprehensive introduction for the complete novice as well as offering plenty to engage the more experienced reader. This work is exactly what is required for us to build new training events upon."
– David Judge, University of Cambridge