Codon Usage and Selection on Proteins