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.

Great, great book. I think this is the perfect book for any biologist to who wants to start learning to code with Python. Right away the author has you writing programs that are actually useful for biologists… I didn’t know a command-line from a hole in the ground when I first opened up this book, and mere days later I was impressing my colleagues with my own DNA analysis programs.
— review

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.

I’ve tried a few Python books, and this is by far the best for me. It jumps straight into the things biologists generally need Python for – creating and manipulating sequence files for example. For all other guides I’ve tried, I’ve had to wade through chapters of less relevant material before I get to anything this useful. I would definitely recommend this to any biologist.
— review

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
As part of my job, I had to teach programming to a group of PhD students in that lab... we are finished with Python for Biologists, and as I have earlier mentioned, and couldn’t put it better in any other words, Python for Biologists is one awesome book. I cannot thank you enough.
— -Sai Kishore, Birla Institute of Technology and Science

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

The bOOks

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


Zero to writing useful programs in a weekend.... Python for Biologists arrived last Thursday, I spent the whole weekend glued to my laptop in a 2 1/2 day frenzy of coding, and I just finished it ... Now, after one weekend, I have a solid foundation in Python and can write programs helpful in my work. Thanks, Dr. Jones, for a great book.
— Caroline Ingles, review

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:

Python for biologists

Advanced Python for Biologists

Effective Python Development for Biologists

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:

Python for biologists

Advanced Python for Biologists

Effective Python Development for Biologists

Can I buy a group licence for my lab/group/business?

Sure, drop me an email:

I have a question that's not answered here!

Drop me an email: