def run(): # Parse options parser = optparse.OptionParser(__doc__) options, files = parser.parse_args() stat = Stat() plumb(stat, files)
def run(): parser = optparse.OptionParser(__doc__) options, files = parser.parse_args() height = Height() plumb(height, files)
def run(): # Parse options parser = optparse.OptionParser(__doc__) options, files = parser.parse_args() # Read trees first = True for count, line in enumerate(fileinput.input(files),1): t = ete2.Tree(line) leaves = t.get_leaves() # If first tree, get names if first: names = sorted([l.name for l in leaves]) print_middle(names) first = False for l in leaves: if l.name in names: l.name = str(names.index(l.name)+1) # Print tree line print "TREE tree_%d = %s" % (count, t.write()) print_footer() # Done return 0
def run(): parser = optparse.OptionParser(__doc__) parser.add_option('-a', '--attribute', default=None) parser.add_option('-f', '--file', dest="filename", help='Specifies a file from which to read taxa') parser.add_option('-i', '--inverse', action="store_true", default=False, dest="inverse") parser.add_option('-v', '--value', default=None) options, files = parser.parse_args() if (options.attribute and options.value) or options.filename: taxa = [] else: if files: taxa = set(files[0].split(",")) files = files[1:] else: sys.stderr.write( "Must specify either a list of taxa, a file of taxa, or an attribute and value.\n" ) sys.exit(1) prune = Prune(taxa, options.filename, options.attribute, options.value, options.inverse) plumb(prune, files)
def run(): parser = optparse.OptionParser(__doc__) options, files = parser.parse_args() dedupe = Dedupe() plumb(dedupe, files)
def run(): # Parse options parser = optparse.OptionParser(__doc__) parser.add_option('-a', '--age', action="store_true", dest="age", default=False, help="Include age information in report.") parser.add_option('-f', '--frequency', type="float", dest="frequency", default=1.0, help='Minimum clade frequency to report.') parser.add_option("-o", "--output", action="store", dest="filename", help="save clades to FILE", metavar="FILE") parser.add_option('-s', '--sort', action="store_true", dest="sort", default=False) options, files = parser.parse_args() support = Support(options.frequency, options.age, options.sort, options.filename) plumb(support, files)
def run(): # Parse options parser = optparse.OptionParser(__doc__) options, files = parser.parse_args() taxa = Taxa() plumb(taxa, files)
def run(): # Parse options parser = optparse.OptionParser(__doc__) parser.add_option('-a', '--attribute', dest="attribute", default=None) parser.add_option('-d', '--dpi', type="int", default=None) parser.add_option('-H', '--height', type="int", dest="h", default=None) parser.add_option('-l', '--label', default="name") parser.add_option('-m', '--multiple', default=False, action="store_true") parser.add_option('-o', '--output', default=None) parser.add_option('-u', '--units', default="px") parser.add_option('-w', '--width', type="int", dest="w", default=None) options, files = parser.parse_args() # Setup TreeStyle ts = ete2.TreeStyle() ts.show_scale = False ts.show_branch_support = True # Read trees for n, line in enumerate(fileinput.input(files)): t = ete2.Tree(line) # Add faces if options.attribute: values = set( [getattr(l, options.attribute) for l in t.get_leaves()]) colours = get_colour_set(len(values)) colour_map = dict(zip(values, colours)) for l in t.iter_leaves(): mycolour = colour_map[getattr(l, options.attribute)] l.add_face( ete2.CircleFace(radius=10, color=mycolour, style="sphere"), 0) for l in t.iter_leaves(): l.add_face(ete2.TextFace(getattr(l, options.label)), 1) # Plot or save if options.output: kw = {} if options.h or options.w: for o in ("h", "w", "units", "dpi"): if getattr(options, o): kw[o] = getattr(options, o) if options.multiple: base, ext = os.path.splitext(options.output) filename = base + ("_%06d" % (n + 1)) + ext else: filename = options.output t.render(filename, ultrametric, tree_style=ts, **kw) else: t.show(ultrametric, tree_style=ts) if not options.multiple: return 0 return 0
def run(): parser = optparse.OptionParser(__doc__) parser.add_option('-a', '--attribute', dest="attribute", default=None) parser.add_option('-t', '--translate', help='Specifies the translation file.',default=None) options, files = parser.parse_args() collapse = Collapse(options.translate, options.attribute) plumb(collapse, files)
def run(): # Parse options parser = optparse.OptionParser(__doc__) parser.add_option('-a', '--ages', action="store_true", dest="age", default=False, help="Include age information in report.") parser.add_option('-f', '--frequency', type="float", dest="frequency", default=1.0, help='Minimum clade frequency to report.') options, files = parser.parse_args() clades = Clades(options.frequency, options.age) plumb(clades, files)
def run(): # Parse options parser = optparse.OptionParser(__doc__) parser.add_option('-c', '--compress', action="store_true", dest="compress", default=False) options, files = parser.parse_args() pretty = Pretty(compress=options.compress) plumb(pretty, files)
def run(): # Parse options parser = optparse.OptionParser(__doc__) parser.add_option('-s', '--scale', type="float", default=1.0, help='Scaling factor.') options, files = parser.parse_args() scale = Scale(options.scale) plumb(scale, files)
def run(): # Parse options parser = optparse.OptionParser(__doc__) parser.add_option('-f', '--file', dest="filename", help='Specifies the translation file.') print(sys.argv) options, files = parser.parse_args() rename = Rename(options.filename) plumb(rename, files)
def run(): # Parse options parser = optparse.OptionParser(__doc__) parser.add_option('-l', '--lengths', action="store", dest="lengths", default="mean") options, files = parser.parse_args() uniq = Uniq(options.lengths) plumb(uniq, files)
def run(): parser = optparse.OptionParser(__doc__) parser.add_option('-f', '--frequency', type="float", dest="frequency", default=0.5, help="Minimum clade support to include in tree.") options, files = parser.parse_args() consensus = Consensus(options.frequency) plumb(consensus, file)
def run(): # Parse options parser = optparse.OptionParser(__doc__) parser.add_option('-n', action="store", dest="iterations", type="int", default=1) parser.add_option('-g', "--guard", action="store", dest="guarded") options, files = parser.parse_args() rogue = Rogue(options.iterations, options.guarded) plumb(rogue, files)
def run(): # Parse options parser = optparse.OptionParser(__doc__) parser.add_option('-e', '--extract', action="store_true", help="Extract data from annotated tree to file.") parser.add_option('-f', '--file', dest="filename", help="File to read/write annotation data from/to.") parser.add_option( '-k', '--key', dest="key", help="Name of column in annotation file to match against taxon names") parser.add_option('-m', '--multiple', default=False, action="store_true") options, files = parser.parse_args() annotate = Annotate(options.filename, options.key, options.extract, options.multiple) plumb(annotate, files)
def run(): # Parse options parser = optparse.OptionParser(__doc__) parser.add_option('-b', '--burnin', action="store", dest="burnin", type="int", default=0) parser.add_option('-s', '--subsample', action="store", dest="subsample", type="int", default=1) parser.add_option('--no-annotations', action="store_true", dest="no_annotations", default=False) options, files = parser.parse_args() if not files: files = ["-"] # Read files for filename in files: if filename == "-": fp = sys.stdin else: fp = open(filename, "r") tree_strings = [] firstline = True for line in fp: # Skip blank lines if not line: continue # Detect Nexus file format by checking first line if firstline: if line.strip() == "#NEXUS": isNexus = True inTranslate = False nexus_trans = {} else: isNexus = False firstline = False # Detect beginning of Nexus translate block if isNexus and "translate" in line.lower(): inTranslate = True continue # Handle Nexus translate block if isNexus and inTranslate: # Detect ending of translate block... if line.strip() == ";": inTranslate = False # ...or handle a line of translate block else: if line.strip().endswith(";"): line = line[:-1] inTranslate = False index, name = line.strip().split() if name.endswith(","): name = name[:-1] nexus_trans[index] = name # Try to find a likely tree on this line and extract it if (")" in line and ";" in line and line.count("(") == line.count(")")): # Smells like a tree! start = line.index("(") end = line.rindex(";") + 1 tree_strings.append(line[start:end]) burnin = int(round((options.burnin / 100.0) * len(tree_strings))) tree_strings = tree_strings[burnin::options.subsample] while tree_strings: tree_string = tree_strings.pop(0) t = get_tree(tree_string) if not t: continue if isNexus and nexus_trans: for node in t.traverse(): if node.name and node.name in nexus_trans: node.name = nexus_trans[node.name] if options.no_annotations: print t.write(format_root_node=True) else: print t.write(features=[], format_root_node=True) # Done return 0