I apologize in advance- I'm not an advanced python coder. I do at least have a handle on the basics, but working with .tre files trips me up a bit. Years ago, when I was working on my MS in biology, I used the R Packages Ape and Caper to find the average evolutionary distinctiveness for each bird in posterior distribution of 10,000 possible phylogenetic trees as part of my thesis. Now, I'm in the middle of a graduate Python course, and thought it could be fun to rewrite and enhance my code in Python.
I was looking through the documentation for DendroPy, and I was struggling to find a measure like evolutionary distinctiveness. It's basically the distance from root to an end node, but the distance of each edge is divided by the number of nodes that eventually branch from it. In other words, the closer to the root, the less the branch is weighted because it's split among all of its eventual end nodes. Does DendroPy have any methods like that? Ideally, the edges closest to the root wouldn't have be be calculated over and over again for each species, but could be reused.
I'd also like to look at the lowest common ancestor of a given genus. So, if I have 10 species in a single genus, could I have it return the evolutionary distinctiveness of the lowest common ancestor for each genus?