Closed Androstane closed 6 months ago
Thanks for the report! Do you happen to know if this error occurs when working with a non-empty tree?
As a pointer for myself in returning to this issue, here's a link to this method's documentation https://jeetsukumaran.github.io/DendroPy/library/birthdeath.html#dendropy.model.birthdeath.birth_death_tree
It seems to me that the error would occur when working with empty and non-empty trees. A quick fix I have found is to remove the condition check at:
as with it, the list of the extant tips would always be empty even if a non-empty tree is supplied, leading to a division by zero issues later when sampling the event node from the list of extant tips. It is probably because, by default, the is_extinct attribute is not added to the node. I am not sure if this fix would lead to other unexpected performance in the code though.
Hi @Androstane --- I believe I found the root cause of the issue and fixed it. The fix will appear in DendroPy 4.6.2 which will release shortly!
Thank you for the report, it is much appreciated :+1:
Quick update, looks like we need to get the maintainers to add verified email addresses before publishing due to a new PyPI policy. Hope to get the release out soon.
Hello,
Thanks for developing the tool! When I was using Treesim to simulate a birth-death tree with multiple stages, an error had occurred. Specifically, when treesim.birth_death_tree() raises division by zero error when the tree argument is supplied. Here's a minimal example:
When running the code, the following error would arise: