Understanding the causes of errors in eukaryotic protein-coding gene prediction: a case study of primate proteomes