Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Allow users to specify arbitrary IQ-TREE models
IQ-TREE supports hundreds of models through its `-m` argument. When users omit this argument, IQ-TREE will run a model test and use the best model to build the tree. Users can refer to the IQ-TREE log file to find the best model and use that in future runs of the command. Unfortunately, augur tree hardcodes only a handful of possible substitution models as viable choices for the `--substitution-model` argument. Although the help text for `--substitution-model` says users can provide "none" as an argument to run the IQ-TREE model test, "none" is not one of the hardcoded choices. This means the model test functionality of IQ-TREE hasn't been available for years. Additionally, the message we print to stdout when users can select "none" refers to the wrong log file, and once users find the best model for their data, they cannot provide it to augur tree unless it happens to be one of the predefined choices. To address these issues, this commit removes the list of hardcoded substitution model choices from augur tree, allowing users to provide any valid IQ-TREE model or "none", as described in the help text. This commit also adds a functional test of this "model test" interface that revealed a typo in the code that calls IQ-TREE, fixes the typo, and prints the path of the actual IQ-TREE log file to check for model test results. Fixes #619
- Loading branch information