Codon support will either be implemented or scrapped (due to the large inconsistencies between MrBayes and IQTree Codon handling) on Monday.
This PR also largely refactors the logic for the MrBayes Block File. Specifically:
Moves core functions to phyloanalysis (from phylotree and phylosupertree), to avoid clogging up phylotree
Moves model functions to individual models, therefore using polymorphism to call the relevant model function instead of a switch statement
This has the side effect of causing runs with Mixture Models or Lie Markov Models to not return a block file. This may be changed in the future to output files with GTR as the model.
Finally, this PR also changes +R from remapping to +G, to remapping to +G+I.
Fallbacks:
Since MrBayes has just JC/F81, K80/HKY, and SYM/GTR for DNA, the output block file will default to GTR, with the specific rate matrix and substitution rates specified in the _model file.
Since MrBayes does not have all IQTree Supported Protein Models, it will fallback to GTR20. If the IQTree Protein Model was not GTR20, the rates will be fixed, but if it was GTR20, the rates will be variable (with dirichlet)
Excluded Factors:
MrBayes Binary Data does not support +I, that has been ignored, with warning printed to log and file
Morphological Data:
MrBayes does not support states {A-Z}, warning has been printed to log and file
MrBayes does not support +I, that has been ignored, with warning printed to log and file
Tests conducted:
Binary Data Set, with and without partitions, with and without +G, +I, +R
Morphological Data Set, with and without partitions, with and without ordering, with and without +G, +I, +R
Protein Data Set, with and without partitions, with and without +G, +I, +R, with GTR20, MrBayes supported models, and non-MrBayes supported models
This PR adds support for exporting Protein, Binary and Morphological Data Analysis to MrBayes, completing another section of https://github.com/iqtree/iqtree2/issues/195.
Codon support will either be implemented or scrapped (due to the large inconsistencies between MrBayes and IQTree Codon handling) on Monday.
This PR also largely refactors the logic for the MrBayes Block File. Specifically:
phyloanalysis
(fromphylotree
andphylosupertree
), to avoid clogging upphylotree
This has the side effect of causing runs with Mixture Models or Lie Markov Models to not return a block file. This may be changed in the future to output files with GTR as the model.
Finally, this PR also changes
+R
from remapping to+G
, to remapping to+G+I
.Fallbacks:
_model
file.Excluded Factors:
Tests conducted: