tree = Tree(params["-i"]) nbE = 1 for n in tree.traverse(): nbC = len(n.children) if nbC > 3: nbE *= dPsNbT[nbC] print "expanding will create", nbE, "topologies" if nbE > 1000000: print "More than 100000 topologies. Aborting to avoid potential memory hog." print "Use --force option to override." exit(1) print "expanding poytomies" try: TL = tree.expand_polytomies(polytomy_size_limit=params["-n"]) except ete3.coretype.tree.TreeError as e: se = str(e) se = se.replace("\\n", "\n") print se #print e exit(1) print "generated", len(TL), "bifurcating trees" OUT = open(params["-o"], "w") for l in TL: OUT.write(l + "\n") OUT.close()