I have written before about admixture graphs, which are phylogenetic networks that represent reticulations due to introgression:
- Admixture graphs – evolutionary networks for population biology
- Producing trees from datasets with gene flow
- Networks of admixture or introgression
- Kalle Leppälä, Svend Vendelbo Nielsen, Thomas Mailund (2017) admixturegraph: an R package for admixture graph manipulation and fitting. Bioinformatics
There are currently several quite different programs for producing admixture graphs:
- qpgraph (Castelo and Roberato 2006)
- TreeMix (Pickrell and Pritchard 2012)
- AdmixTools (Patterson et al. 2012)
- MixMapper (Lipson et al. 2013)
- admixturegraph (see above)
None of this is ideal. Another problem has been that the graphs are often constructed by hand, and may be needed as input to the programs. However, the biggest limitation is that there are currently no algorithms for inferring the optimal graph topology. This is, of course, the basic problem that needs to be solved for all network construction. To quote the authors with regard to their own R package:
The set of all possible graphs, even when limited to one or two admixture events, grows super-exponentially in the number of leaves, and it is generally not computationally feasible to explore this set exhaustively. Still, we give graph libraries for searching through all possible topologies with not too many leaves and admixture events.
For larger graphs we provide functions for exploring all possible graphs that can be reached from a given graph by adding one extra admixture event or by adding one additional leaf. However, the best fitting admixture graphs are not necessarily extensions of best fitting smaller graphs, so we recommend that users not only expand the best smaller graph but a selected few best of them.The world of graph-edge rearrangements (NNI, SPR) does not yet seem to have encountered the world of admixture graphs.