Python for Biologists books
Why learn programming?
Maybe you see colleagues writing programs to save time and deal with large datasets.
Maybe your supervisor has told you that you need to learn programming for your next project.
Maybe you’ve been looking at job ads and noticed just how many of them are asking for programming skills.
Whatever your motivation, learning to program is one of the best investments that you can make for your research and your career.
No matter where you are in your biology career, you already know that programming is rapidly becoming a must-have skill. When you work with data everyday, the ability to write your own tools, to deal with increasingly large datasets, and to automate everyday tasks is game-changing. In a career where there are a seemingly infinite number of demands on your time, learning to program is the single biggest productivity boost you can give yourself.
Most programming books are terrible...
… for people who aren’t already trained in computer science. Chances are you’ve already looked at some online programming tutorials, or browsed some Python books – if so, then you’ll know that they’re simply not designed for people like you. The examples and exercises you’ll find in the vast majority of learn-to-program books have nothing to do with the problems you are interested in solving, because they’re written for people with a completely different background.
Python for biologists is different
Python for Biologists came out of my ten years of experience teaching programming to people with a biological background. I’ve taught everyone from undergraduates to PI’s, and have designed the books for people just like you. You need a programming book
- with examples and exercises that involve biologically-relevant problems
- that teaches you to start writing useful code straight away
- that concentrates on the most useful bits of the language
- and that doesn’t assume you have a background in computing
What You’ll Learn
Python for biologists is a complete programming course for beginners that will give you the skills you need to tackle common biological and bioinformatics problems.
- Learn how to use Python’s powerful text-manipulation tools to deal with DNA and protein sequence data files
- Investigate the output that you get from the analysis tools you already use every day
- Stop running analyses and visualizations manually. Automate common housekeeping jobs and reclaim your time to work on your research
Python for Biologists
Designed for complete beginners, this book teaches you programming from scratch using real-life biological examples. You’ll use structured exercises to practise your programming skills while explanations and solutions point out the tricks and pitfalls that are most important for biological work. By the end of this book, you’ll have all the skills you need to start writing your own analysis programs, deal with large datasets, and automate common tasks.
Chapters include: Introducing Python, Manipulating text, Reading and writing files, List and loops, Writing functions, Conditional tests, Regular expressions, Working with dicts
Advanced Python for Biologists
Take the next step in your programming and learn how Python’s advanced features can let you write code faster and more efficiently. This book introduces you to new approaches to programming and teaches you techniques that are necessary for building larger programs. By the end of this book, you’ll be able to use and understand functional and object-oriented programming and to write larger, faster and more efficient programs.
Chapters include: Recursion and trees, Complex data structures, Object-oriented Python, Functional Python, Comprehensions, Exceptions
Effective Python development for Biologists
Learn how to take advantage of Python's libraries and tools to make writing programs quicker and easier. This book covers the Python development ecosystem and will teach you to track down problems with debuggers, make code faster using profiling, and find mistakes quickly with automated testing. You'll also learn step-by-step how to organise and distribute your code to other researchers, and how to build user interfaces to make your code even more useful.
Chapters include: Environments for development, Organising and sharing code, Testing, Performance optimisation, Building user interfaces.
What you'll get
DRM-free, fully searchable PDF files for all three books which you can read on any device
Code examples which are ready for you to run and modify as the basis for your own programs
Exercise files with detailed solutions
Email support in case you run in to any problems
Instant delivery of your files via email
Frequently Asked Questions
Do I need to know anything about programming?
No, this series of books is designed for complete beginners and doesn't assume any programming knowledge. As long as you can use a text editor, you'll be fine. Just make sure that you start with the material in the first book, Python for Biologists, as the other two build on the basic material in there.
Do I need to know anything about biology?
Yes - this series of books has been written specifically for people with a biological background, so the examples and exercises are all based around biological themes. To make sense of them, you need some basic biological knowledge - you'll need to know what a DNA sequence is, what a restriction enzyme is, and what it means to translate DNA sequences into protein.
What if I don't like the books?
If for any reason it turns out that these books aren't for you, drop me an email and I'll refund you, no questions asked.
Who wrote these books?
Hi, I'm Martin. I trained as a biologist, learned to program during my PhD, and have been teaching other biologists to write code ever since. I currently run instructor-led training courses at various institutions; before that I was lecturer at Edinburgh University.
If you want to know more, check out the About page.
Can I buy the books individually?
Sure (though it's better value to buy them as a bundle), just click these links:
Can I buy physical copies?
Sure. I think the ebook versions are more useful for most people, because:
- You can read them on the same device that you use for programming
- You can easily search inside them
- You can copy and paste code from them
But, if you'd prefer physical books, you can get them from Amazon:
Can I buy a group licence for my lab/group/business?
Sure, drop me an email: email@example.com.
I have a question that's not answered here!
Drop me an email: firstname.lastname@example.org.