Pruning Phylogenetic Trees and Bootstrap Values
1
0
Entering edit mode
10 weeks ago
Zeng Hao ▴ 40

Hi everyone,

I am pruning a phylogenetic tree (gene tree) to create a simplified figure with a smaller number of taxa represented. This process will involve collapsing and deleting numerous nodes (both terminal and internal). As a result, my pruned tree contain branches with multiple bootstrap values corresponding to those internal nodes that have been deleted.

Question: Should I show only the bootstrap value at the terminal end (leading to the taxon) and can I ignore bootstrap values belonging to internal nodes (that no longer exist as the other taxa are already pruned)?

Alternatively, should I just create a separate phylogenetic tree using this smaller, more representative set of taxa? I am only worried that this method might lead to sampling issues which can affect the bootstrap values.

For reference I am using iTOL for pruning and my trees are constructed by maximum likelihood.

phylogenetics bootstrap • 647 views
ADD COMMENT
1
Entering edit mode
9 weeks ago
Klaus S ▴ 160

Dear Zeng,

you have to also prune the bootstrap trees and and reassign the bootstrap values to your small tree given the now smaller bootstrap trees.

Kind regards,

Klaus

ADD COMMENT
0
Entering edit mode

Dear Klaus,

Thank you for the reply. If I could clarify with an example: With this tree,

B0----------------- A
-|    B1----------- B
  ---- |    B2----- C
        -----|
              ----- D

And I want to prune it such that only taxa A and C are kept, I would represent the pruned tree with bootstraps B0 and B2, while omitting B1?

Thank you again for your help.

Best,

ZH

ADD REPLY
0
Entering edit mode

The best is to prune the tree and also the bootstrap trees and afterwards re-assign the bootstrap values to the tree. The bootstrap values might be higher than in the original tree afterwards. In R (with packages ape & phangorn) the code could look like:

library(phangorn)
tree <- drop.tip(tree, c("B", "C"))
tree$node.label <- NULL # delete node labels
bs_trees <-  drop.tip(bs_trees, c("B", "C"))
tree <- plotBS(tree, bs_trees) # assign nodelabels and plot the tree
write.tree(tree)
ADD REPLY

Login before adding your answer.

Traffic: 2825 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6