Horizontal gene transfer is a process in which prokaryotesexchange genes. This is responsible for the genetic diversity in prokaryotes that sexual reproduction is responsible for in eukaryotes. When genes transfer between species they usually gain characteristics of the host genome making it harder to identify the origin. There are some methods they are using to try to detect the genes using the family tree of organisms such as using reference phylogeny to see where a gene likely came from. There are some types of genes which get transferred often that are involved in being parasitic or having symbiosis and the pattern of occurring rarely in many different species is an indicator. Some genes that transfer a lot are found in both bacteria and archea, and often the organisms that shae them live in similar conditions such as hot conditions. There is a general rule that the more interactions the protein a gene codes for has, the less likely the gene is to be transferred however there are some exeptions such as some ribosomal genes. It can be hard to assign genes to specific ancestors and horizontal transfer has even made us somewhat rethink taxonomy since many aspects of the genomes of bacteria do not all come from ancestors. Bacteria and archea also have the ability to eliminate harmful genes which eukaryotes do not have usually.