Gene and genome duplication and the evolution of novel gene functions