Open rbouckaert opened 9 months ago
Hi Remco, just a thought: would you consider reading this list of packages from an element in packages.xml? Particularly as the list expands, it would be great to avoid giving certain packages hard-coded privileges.
Hi Tim, I would like to think this list should not be altered often (this is the first proposal since the v2.7.0 release in September 2022), or at least the release cycle should keep up with the number of changes in the list. The recommended package list are just replacements of older functionality in the BEAST.base & BEAST.app packages that are proven to be better, so older functionality should be discouraged. CCD summary trees fall in that same category. Though I expect we will find more of these cases, they should be rare, so perhaps no need to make things more configurable.
Fair enough. In the case of the CCD package, what's the case for not simply merging this directly into BEAST.app? It doesn't prevent one from computing MCC trees does it?
When CCD is installed, it should prevent one from computing MCC trees by default. So, for people not bothered with any of the TreeAnnotator settings, but just being interested in a summary tree, TreeAnnotator should behave more reasonable with default settings by deprecating MCC and "Maximum sum of clade credibilities" (which requires some code change in TreeAnnotator) when something more reasonable is available.
Ideally, I would like to keep BEAST.app as lean as possible in order to not confuse package developers more than necessary. There are no dependencies on CCD in the BEAST.app code, so keeping it outside of BEAST.app will keep BEAST.app as simple as possible. That gives the flexibility of developing and releasing CCD without requiring a full BEAST release. For example, it will allow addressing some efficiency issues with diffuse tree sets, which are currently problematic for CCD point estimates.
TreeAnnotator by default uses the MCC tree to get a topology. There is now overwhelming evidence MCC trees are bad summary trees in terms of average Robinson Foulds distance, and better methods are available.
The best method we are aware of is based on conditional clade distributions. Since v2.7.5 TreeAnnotator allows packages to implement TopologySettingService, and there is a CCD based topology setting service in the CCD package, which is almost always better and never worse than MCC.
Since tree summarisation is a common activity, and we now know that MCC trees are almost always worse than CCD based summary trees, it makes sense to add the CCD package to the list of recommended packages.