Skip to main content

Resources

On this page, we have collected links to resources we have found useful.

Online Resources

Print Resources

  • A Primer on Scientific Programming with Python (4th edition) by H.P. Langtangen. Springer. (2014)

  • Physical Models of Living Systems by Philip Nelson. W. H. Freeman and Company. (2015)

  • Learn Python the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code (3rd edition) by Zed Shaw. Addison-Wesley (2014)

  • Computational Physics: Problem Solving with Computers (3rd edition) by R.H. Landau, M.J. Parez, and C.C. Bordeianu. Wiley-VCH Verlag GmbH & Company (2012)

  • A Student’s Guide to Data and Error Analysis by H.J.C. Berendsen. Cambridge University Press. (2011)

  • Python Scientific Lecture Notes by V. Haenel, E. Gouillart, and G. Varoquaux. (2013)

  • Python for Biologists: A Complete Programming Course for Beginners by M. James. Amazon CreateSpace. (2013)

  • Computing for Biologists: Python Programming and Principles by R. Libeskind-Hadas and E. Bush. Cambridge University Press. (2014)

  • Python Pocket Reference (5th edition) by M. Lutz. O’Reilly Media Inc. (2014)

  • Computational Physics (revised and expanded edition) by M. Newman. Amazon CreateSpace. (2013)

  • IPython: A system for interactive scientific computing. F. Perez and B.E. Granger. Computing in Science and Engineering 9(3), 21–29. (2007)

  • Ten simple rules for better figures. W.P. Rougier, M. Droettboom, and P.E. Bourne. PLOS Computational Biology 10(9), e1003833. (2014)

  • Avoiding twisted pixels: Ethical guidelines for the appropriate use and manipulation of scientific digital images. D.W. Cromey. Science and Engineering Ethics 16(4), 639–667. (2010)

  • Optimal matrix rigidity for stress-fibre polarization in stem cells. A. Zemel, et al. Nature Physics 6(6), 468–473. (2010)

Comments

Popular posts from this blog

Paths in Python

How do you get your Python interpreter to find modules that are not located in your current working directory? The answer is … you tell it where to look. When you type something like from my_module import my_function Python searches a collection of directories (i.e., folders) on your computer. If the directory containing <my_module.py> is not in this collection, you will receive an ImportError . This can be frustrating if you know the file exists, and even more so if you know where it exists. In this post, we will take a brief look at how to add paths to the collection of directories searched by Python. Paths A path is essentially a set of directions to a file: /Users/username/modules/my_module.py [Mac OS X, Linux] C:\modules\my_module.py [Windows] It tells your operating system how to navigate from a fixed starting point — the “root directory” / in Unix-based systems, or C:\ in Windows — through a collection of folders to the de

Raising a Figure Window to the Foreground

This post describes a utility function that will raise a plot window to the foreground of your screen. The function will only work with the Qt graphics backend, so I will start with a brief overview of graphics backends. If you just want to use the function as a black box, you can do the following: Set the Graphics Backend to “Qt” in the Spyder preferences menu. Copy this function into your working directory. Graphics Backends You may have have written a script to produce precisely the data you need, but a lot of processing is required to transform these numbers into a figure. You need to create a plot window, draw a figure inside of it, and manage all of the attributes that control a figure’s appearance: title, axis labels, line widths, colors, tick marks, etc. All of this happens in the background when you type a command like plt.plot(x,y) . A graphics backend is the software that Python uses to physically draw a figure on your computer screen. If you have already import

Illuminating Surface Plots

Matplotlib provides functions for visualizing three-dimensional data sets. One useful tool is a surface plot. A surface plot is a two-dimensional projection of a three-dimensional object. Much like a sketch artist, Python uses techniques like perspective and shading to give the illusion of a three-dimensional object in space. In this post, I describe how you can control the lighting of a surface plot. Surface Plots First, let’s look at some of the options available with the default three-dimensional plotting tools. This script will create a surface plot of a Bessel function. Its ripples will emphasize the effects of lighting later. import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D # Import 3D plotting tools. from scipy.special import jn # Import Bessel function. # Define grid of points. points = np.linspace(-10, 10, 51) X, Y = np.meshgrid(points, points) R = np.sqrt(X**2 + Y**2) Z = jn(0,R) # Create 3D surface plo