balabanmetin / apples

distance based phylogenetic placement
GNU General Public License v3.0
25 stars 5 forks source link

Apples collapses some branches of the backbone tree to polytomies in the jplace file #14

Open computations opened 1 year ago

computations commented 1 year ago

I am running some benchmarks with several placement programs, and apples will (rarely) modify the backbone tree by collapsing some branches into polytomies (see the following image for an example).

tanglegram

This makes it difficult to compute a common node distance between all the placement tools.

I looked at the options as well as the code, and I didn't an obvious way to stop this from happening. Is there some way to stop this from happening?

I've attached the some files. 5.tree is the backbone tree for the rest of the programs in the benchmark, apples.tree is the tree extracted from the jplace file, and apples.jplace is the original jplace file.

example-files.tar.gz

balabanmetin commented 1 year ago

Thanks for using APPLES-2. APPLES-2 calls FastTree internally to reestimate backbone tree branch lengths. The command is

FastTreeMP -nosupport -nt -nome -noml -log tree.log -intree backbone.nwk < ref.fa > minimum_evo_backbone.nwk

Since I don't have your alignment, can you call this and see whether minimum_evo_backbone.nwk has any collapsed branches. If that's the case, you can remove multifunctions in minimum_evo_backbone.nwk and provide that tree to APPLES-2 with "-D" option so that FastTree is not called internally. That will ensure the output tree will have no multifurcations.