Source: http://www.bioinfo.rpi.edu/bystrc/courses/biol4550/lecture1.pdf