A global optimization algorithm for protein surface alignment