Abstract
As the density of sampled population increases, especially as studies incorporate aspects of the spatial landscape to study evolutionary processes, efficient simulation of genetic data under the coalescent becomes a primary challenge. Beyond the computational demands, coalescence-based simulation strategies have to be reconsidered because traditional assumptions about the dynamics of coalescing lineages within local populations may be violated (e.g. more than two daughter lineages may coalesce to a parent at low population densities). Specifically, to efficiently assign n lineages to m parents, the order relation between n and m strongly affects the relevant algorithm for the coalescent simulator (e.g. only when n<2m, it is reasonable to assume that two lineages, at most, can be assigned to the same parent). Controlling the details of the simulation model as a function of n and m is then crucial to represent accurately and efficiently the assignment process, but current implementations make it difficult to switch between different types of lineage mergers at run-time or even compile-time. With the described occupancy spectrum and algorithm that generates the support of the joint probability distribution of the occupancy spectrum; computation is much faster than realizing the whole assignment process under the coalescent. Using general definitions of lineage merges, which also makes the codebase reusable, we implement several variants of coalescent mergers, including an approximation where low probability spectrums are discarded. Comparison of runtimes and performance of the different C++ highly reusable coalescence mergers (binary, multiple, hybrids) are given, and we illustrate their potential utility with example applications. All components are integrated into Quetzal, an open-source C++ library for coalescence available at https://becheler.github.io/pages/quetzal.html. Supplementary data are available at Bioinformatics online.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.