-
Notifications
You must be signed in to change notification settings - Fork 62
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
treesim.birth_death_tree() raises division by zero error when used to extend an existing tree #188
Comments
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 |
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: DendroPy/src/dendropy/model/birthdeath.py Line 703 in a8ee431
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 👍 |
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:
The text was updated successfully, but these errors were encountered: