Question: Problem with getting branch support for phylogenetic tree
gravatar for mdsiddra
2.1 years ago by
mdsiddra30 wrote:

I have used python 3.6 and biopython 1.72 for viewing phylogenetiv trees. I have a protein msa file and a resulting tree file from the data. To evaluate the tree topology, I have generated a 1000 replicate trees for my data. In order to get branch support for my original tree with bootstrap replicates I have used following function;

def get_support(target_tree, trees, len_trees=None):
    """Calculate branch support for a target tree given bootstrap replicate trees.

        target_tree : Tree
            tree to calculate branch support for.
        trees : iterable
            iterable of trees used to calculate branch support.
        len_trees : int
            optional count of replicates in trees. len_trees must be provided
            when len(trees) is not a valid operation.

    term_names =
                        for term in target_tree.find_clades(terminal=True))
    bitstrs = {}

    size = len_trees
    if size is None:
            size = len(trees)
        except TypeError:
            raise TypeError("Trees does not support len(trees), "
                            "you must provide the number of replicates in trees "
                            "as the optional parameter len_trees.")

    for clade in target_tree.find_clades(terminal=False):
        bitstr = _clade_to_bitstr(clade, term_names)
        bitstrs[bitstr] = (clade, 0)
    for tree in trees:
        for clade in tree.find_clades(terminal=False):
            bitstr = _clade_to_bitstr(clade, term_names)
            if bitstr in bitstrs:
                c, t = bitstrs[bitstr]
                c.confidence = round ((t + 1) * 100.0 / size)
                bitstrs[bitstr] = (c, t + 1)
    return target_tree

The problem I am facing is that this function results a tree that shows branch support values for a few of the branches and not for all. I'm really stuck with this point and can't figure out what is the real problem?

Can anyone come up with a solution for this?

biopython python • 637 views
ADD COMMENTlink written 2.1 years ago by mdsiddra30
Please log in to add an answer.


Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 1153 users visited in the last hour