Ejemplo n.º 1
0
 def save_as_nexus(self):
     save_as_nexus(self.tree.tree, self.output_path + "_timeTree.nex")
Ejemplo n.º 2
0
        return node

    def traverse_and_resolve_first(tree):
        for clade in tree.find_clades(terminal=False, order="preorder"):
            if len(clade.clades) != 2:
                print("resolving ", clade.name, " with ", len(clade.clades), " children using temporal data")
                clade = ladderise_node(clade)
                return True
        return False

    ## fn start
    polytomies_exist = True; # stopping condition
    while polytomies_exist:
        polytomies_exist = traverse_and_resolve_first(tree)
    assert(tree.is_bifurcating())
    tree.ladderize()

if __name__=="__main__":
    params = collect_args()
    outfile = params.outfile if params.outfile != None else params.tree.split(".json")[0]+".nex"

    json_fh = open(params.tree, "r")
    json_dict = json.load(json_fh)
    tree = json_to_tree(json_dict)
    if params.resolve:
        resolve_polytomies(tree)
    if params.temporal:
        save_as_nexus(tree, outfile, "num_date")
    else:
        save_as_nexus(tree, outfile, "div")
Ejemplo n.º 3
0
        return node

    def traverse_and_resolve_first(tree):
        for clade in tree.find_clades(terminal=False, order="preorder"):
            if len(clade.clades) != 2:
                print("resolving ", clade.name, " with ", len(clade.clades), " children using temporal data")
                clade = ladderise_node(clade)
                return True
        return False

    ## fn start
    polytomies_exist = True; # stopping condition
    while polytomies_exist:
        polytomies_exist = traverse_and_resolve_first(tree)
    assert(tree.is_bifurcating())
    tree.ladderize()

if __name__=="__main__":
    params = collect_args()
    outfile = params.outfile if params.outfile != None else params.tree.split(".json")[0]+".nex"

    json_fh = open(params.tree, "r")
    json_dict = json.load(json_fh)
    tree = json_to_tree(json_dict)
    if params.resolve:
        resolve_polytomies(tree)
    if params.temporal:
        save_as_nexus(tree, outfile, "num_date")
    else:
        save_as_nexus(tree, outfile, "div")