Detecting heterogeneity of substitution along DNA and protein sequences.