What is the difference between allele, gene, and trait?