bioinformatics - How does Biopython determine the root of a phylogenetic tree? -


there other packages, particularly ape r, build unrooted tree allow root explicitly specifying outgroup.

in contrast, in biopython can directly create rooted tree without specifying root, i'm wondering how root being determined, example following code.

from bio import alignio alignment = alignio.read('mulscle-msa-aligned-105628a58654.fasta', 'fasta') bio.phylo.treeconstruction import distancecalculator calculator = distancecalculator('ident') dm = calculator.get_distance(alignment) bio.phylo.treeconstruction import distancetreeconstructor constructor = distancetreeconstructor() tree = constructor.upgma(dm) bio import phylo phylo.write(tree, 'phyloxml-7016bed7d42.xml', 'phyloxml') 

i made sequences here after tree built, nonetheless rooted tree built process.

enter image description here

as @cel said, product of upgma algorithm. upgma creates tree working backward present (or whenever data from). starts finding 2 similar species. in theory, these species have more recent common ancestor other pair of species, grouped together. similarity of common ancestor other species in tree loosely estimated averaging each species' similarity members of group.

this process continues, grouping 2 similar species (or presumed common ancestors) in tree @ each step , recalculating similarities, until there 2 groups left. 1 of these groups may have 1 member, in case can thought of outgroup, may both have many members. root of tree common ancestor of these 2 groups.


Comments

Popular posts from this blog

c++ - Difference between pre and post decrement in recursive function argument -

php - Nothing but 'run(); ' when browsing to my local project, how do I fix this? -

php - How can I echo out this array? -