The assignment of pKa values to functional groups in amino acids