Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add CCD package to list of recommended packages #1138

Open
rbouckaert opened this issue Jan 31, 2024 · 4 comments
Open

Add CCD package to list of recommended packages #1138

rbouckaert opened this issue Jan 31, 2024 · 4 comments

Comments

@rbouckaert
Copy link
Member

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.

@tgvaughan
Copy link
Contributor

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.

@rbouckaert
Copy link
Member Author

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.

@tgvaughan
Copy link
Contributor

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?

@rbouckaert
Copy link
Member Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants