code: def packing_angle(self):
          
          try:
              knob_vector = self.knob_residue['CB'] - self.knob_residue['CA']
          # exception for GLY residues (with no CB atom).
          except KeyError:
              return None
          hole_vector = self.hole_residues[2]['CA'] - self.hole_residues[1]['CA']
          return angle_between_vectors(knob_vector, hole_vector)
docs: Angle between CA-CB of knob and CA(h1)-CA(h2). Returns None if knob is GLY.