Coordinates of the end of the knob residue (atom in side-chain furthest from CB atom.
        Returns CA coordinates for GLY.

def knob_end(self):
        """ Coordinates of the end of the knob residue (atom in side-chain furthest from CB atom.
        Returns CA coordinates for GLY.
        """
        side_chain_atoms = self.knob_residue.side_chain
        if not side_chain_atoms:
            return self.knob_residue['CA']
        distances = [distance(self.knob_residue['CB'], x) for x in side_chain_atoms]
        max_d = max(distances)
        knob_end_atoms = [atom for atom, d in zip(side_chain_atoms, distances) if d == max_d]
        if len(knob_end_atoms) == 1:
            return knob_end_atoms[0]._vector
        else:
            return numpy.mean([x._vector for x in knob_end_atoms], axis=0)