Here is a list of recommended resources for learning Python. Most are geared towards beginners (in Python and programming alike). Also, the bioinformatics-specific books are all quite practical, describing “applied bioinformatics” – i.e. more how to analyze your data than how to write your own algorithms.
Book: Python for the life sciences: a gentle introduction to python for life scientists (Alexandar Lancestar, 2019). This book is very explicitly geared towards biologists with no or little programming experience, and takes a very practical and project-oriented approach. From what I’ve seen of the book, I can highly recommended it!
Book: Python for Bioinformatics (Sebastian Bassi, 2018). This book also starts with an introduction to Python and then has chapters that each describe practical problems/projects for Python, like “Calculating melting temperature from a set of primers”.
(Associated GitHub repository.)
Book: Python programming for biology, bioinformatics, and beyond (Tim Stevens, 2015). This book starts with an introduction to Python and then has chapters on topics like “Pairwise sequence alignments”, “Sequence variation and evolution”, and “High-throughput sequences”.
Book: Reproducible Bioinformatics with Python (Ken Youens-Clark, 2021). This is a slightly more advanced book that does not start with an introduction to Python, but you should be able to follow the book with what you’ll learn over the next couple of weeks in the course.
Python for everybody – Includes course materials and lectures, and is also available at Coursera and edX.
Programming for Biology – This is the Cold Spring Harbor course that your TA Zach took, and the materials are available online.
Ten simple rules for writing and sharing computational analyses in Jupyter Notebooks – Rule et al. 2019, PLoS Computational Biology
Statista: “Python Remains Most Popular Programming Language” (2020)
The Economist: “Python is becoming the world’s most popular coding language” (2018)
You can also use the Jupyter Notebooks / JupyterLab as an Interactive App at OSC OnDemand. If you’re interested in using this, I would recommend trying JupyterLab which can run Jupyter Notebooks but also regular Python scripts, a shell, and so forth.
To do so at OSC OnDemand, click on Interactive Apps
(top blue bar) and then Jupyter (Owens and Pitzer)
near the bottom, and check the box Use JupyterLab instead of Jupyter Notebook?
.
This JupyterLab documentation provides a nice introduction to JupyterLab features (the link goes to documentation for a version close to the one at OSC).
For a general introduction to Jupyter Notebooks, see also How to Use Jupyter Notebook in 2020: A Beginner’s Tutorial.
Text and figures are licensed under Creative Commons Attribution CC BY 4.0. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".