Abstract by Jordan Andersen
Creating a phylogenetic tree simulator with Horizontal Gene Transfer
Horizontal gene transfer is a type of mutation that confounds many existing tree inference algorithms, but is very common for certain types of organisms. Our lab has been experimenting with different types of algorithms and data structures that are able to deal with Horizontal Gene Transfer (HGT). The main project I did was creating a simulator that could generate trees with HGT, and other common types of mutations. This gave us a way to test inference algorithms while having a base truth of the real trees.
Trees are usually built from top to bottom, because genes are usually transferred vertically, from parent to offspring. But with HGT, genes move sideways. In order to implement HGT, I created a flagging system. Before the tree's genomes are created, a conceptual tree is created, and certain nodes can be flagged for an HGT mutation. Then when the genomes are made, the software starts going from top to bottom, but stops when it hits two nodes flagged for an HGT. At that point, one of the two flagged nodes is mutated with a sequence from the other similarly flaged node. Then normal top to bottom tree generation is done until the tree is completed.