The process of identifying genes in a genome based on various computational algorithms and experimental evidence.