Table of contents preview for Python for the Life Sciences

book-coverOur Amber Biology book Python For The Life Sciences is now nearing publication – we anticipate sometime in the early summer of 2016 for the publication date. As requested by many folks we are releasing the first draft of the table of contents.  If you’re interested in updates you can sign up for our book mailing list.  You can also checkout a preview chapter on Leanpub.

Python at the bench:
In which we introduce some Python fundamentals and show you how to ditch those calculators and spreadsheets and let Python relieve the drudgery of basic lab calculations (freeing up more valuable time to drink coffee and play Minecraft)

Building biological sequences:
In which we introduce basic Python string and character handling and demonstrate Python’s innate awesomeness for handling nucleic acid and protein sequences.

Of biomarkers and Bayes:
In which we discuss Bayes’ Theorem and implement it in Python, illustrating in the process why even your doctor might not always estimate your risk of cancer correctly.

Reading, parsing and handling biological sequence data files:
Did we already mention how great Python is for handling biological sequence data? In this chapter we expand our discussion to sequence file formats like FASTA.

Regular expressions for genomics:
In which we show how to search even the largest of biological sequences quickly and efficiently using Python Regular Expressions – and in the process, blow the lid off the myth that Python has to be slow because it is an interpreted language.

Biological sequences as Python objects:
Just when you thought you had heard the last about sequences, we explore the foundational concept of Object Oriented Programming in Python, and demonstrate a more advanced and robust approach to handling biological sequences using Python objects.

Slicing and dicing genomic data:
In which we demonstrate how easy it is to use Python to create a simple next-generation sequencing pipeline – and how it can be used to extract data from many kinds of genomic sources, up to and including whole genomes.

Managing plate assay data:
In which we use Python to manage data from that trusty workhorse of biological assays, the 96-well plate.

Python for structural biology and molecular modeling:
In which we demonstrate Python’s ability to implement three-dimensional mathematics and linear algebra for molecular mechanics. It’s nano but it’s still biology folks!

Modeling biochemical kinetics:
In which we use Python to recreate what happens in the biochemist’s beaker (minus the nasty smells) – as well as using Python to model the cooperative binding effects of allosteric proteins.

Systems biology data mining:
In which we demonstrate how to parse and interrogate network data using Python sets, and in the process, tame the complex network “hairball”.

Modeling cellular systems:
In which we introduce the Gillespie algorithm to model biological noise and switches in cells, and use Python to implement it and visualize the results – along with some pretty pictures to delight the eye.

Modeling development with cellular automata:
In which we use the power of cellular automata to grow some dandy leopard skin pants using Turing’s model of morphogenesis with Python 2D graphics. Note to our readers: no leopards were harmed in the writing of this chapter.

Modeling development with artificial life:
In which we introduce Lindemeyer systems to grow virtual plants and use Python’s implementation of Turtle LOGO. Don’t worry, these plants will not invade your garden (but they might take over your computer).

Predator-prey dynamics in ecology:
In which we let loose chickens and foxes into an ecosystem and let ‘em duke it out in a state-space that is visualized using Python’s animation features.

Modeling virus population dynamics with agent-based simulation:
In which we create a virtual zombie apocalypse with agents that have internal state and behaviors. These are definitely smarter-than-usual zombies that illustrate an approach in which Python’s object-oriented programming approach really shines.

Modeling evolution:
In which we use the Wright-Fisher model to demonstrate natural selection in action, and show how being the “fittest” doesn’t always mean that you will “win”. Think Homer Simpson winning a game of musical chairs.