[ ] Only run ancestral reconstruction and permutation test on unique variant patterns (across all genomes), and then un-collapse after computationally intensive steps.
[ ] Parallelize ancestral reconstruction and the permutaiton test so that hogwash runs faster.
[ ] Use future.apply if you use the apply family anywhere (you can check out the below link to see how we do it for mikRopML to make it an optional dependency).
Kelly Sovacool implemented something possibly similar as far as parallelization here:
future.apply
if you use the apply family anywhere (you can check out the below link to see how we do it for mikRopML to make it an optional dependency).Kelly Sovacool implemented something possibly similar as far as parallelization here:
https://github.com/SchlossLab/mikRopML/blob/master/R/utils.R
Example of testing on only unique variant patterns:
In this example, you’d only run var1 and var3 (or var2 and var3) because var1 and var2 have identical patterns so the results should be identical.