Computer science analogies can aid the understanding of gene expression, including the storage of genetic information on chromosomes and the fate of genes that are no longer used. Computer science analogies can also aid the understanding of species interactions (for example, computer viruses) and natural selection.