Proton8 Automatic protonation state analysis of amino acid residues in X-ray protein structures Requirements Python cctbx wxpython matplotlib Programs shelx-2012 probe reduce