In recent years, biological research has shifted from focused narrow experiments to high-throughput assays yielding ever increasing amounts of data. Today, a single experiment (e.g. RNA/DNA-seq, mass spectrometry) often produces more data than a human could ever hope to analyze manually.

In order to conduct effective modern biological research, we believe that not only bioinformaticians, but any biologist, should possess computational and analytical skills. The analytical computational tools complement the experimental ones, and empower the biological researcher with an indispensable toolkit. Programming allows much greater flexibility, efficiency and liberty than using prepared programs and web tools.

Among programming and scripting languages, Python is a rising star with tremendous popularity and a large, rapidly-growing community of active users. In biological research Python is gradually replacing many of the traditional languages, including R, Matlab and Perl. Python is well suited for the full spectrum of programming tasks, ranging from very small scripts to full-scale enterprise programs. It is simple, clean and easy to learn, and has a rich variety of modules for almost any use, including many scientific and biological libraries (which will be much of the focus of this class).

This class assumes preexisting knowledge in programming (could be in any language), but Python is (quickly) taught from scratch. The focus of the class is practical, involving a lot of hands-on training, with emphasis on quantitative critical thinking around a variety of biological questions. We mainly focus on molecular/genetic data (e.g. analyzing DNA, RNA and protein sequences).

During the lectures you will be introduced to the most central and modern databases, and their applications to biological research. The practicalities of Python programming will be intertwined with open discussion and engagement in interesting topics of quantitative biology.

Students who have completed this class will possess the following skills:

●        Advanced Python programming

●        Critical quantitative thinking and statistical analysis

●        Data manipulation, integration & visualization

●        Translating an open biological question into a computational pipeline