Is there a program or algorithm for calculating atomic charges in protein R group amino acid residues in various conditions (ie ligand binding partners, solutions of various pH, hydrophobic pockets, etc)?