What's new in ETE 2.3 ********************************* .. currentmodule:: ete2 Update 2.3.2 ================= * added :func:`NCBITaxa.get_descendant_taxa` * added :func:`NCBITaxa.get_common_names` * `ete ncbiquery `_: dump descendant taxa given a taxid or taxa name. new option `--descendants`_; renamed `--taxonomy`_ by `--tree`_ * fixes `_ in ultrametric tree images using vt_line_width > 0 * fixes `_ New Modules ============= tools -------- A collection of `command line tools `_, implementing common tree operations has been added to the ETE core package. All tools are wrapped by the **ete** command, which should become available in your path after installation. * `ete build `_: Build phylogenetic trees using a using a number of predefined built-in gene-tree and species-tree workflows. `Watch example `_ * `ete view `_: visualize and generate tree images directly form the command line. * `ete compare `_: compare tree topologies based on any node feature (i.e. name, species name, etc) using the Robinson-Foulds distance and edge compatibility scores. * `ete ncbiquery `_: query the ncbi taxonomy tree directly from the database. * **ete mod**: modify tree topologies directly from the command line. Allows rooting, sorting leaves, pruning and more * **ete annotate**: add features to the tree nodes by combining newick and text files. * **ete generate**: generate random trees, mostly for teaching and testing .. figure:: http://etetoolkit.org/static/img/ete23_demo.gif :scale: 50% ncbi taxonomy --------------------- The new **ncbi_taxonomy** module provides the class :class:`NCBITaxa`, which allows to query a locally parsed NCBI taxonomy database. It provides taxid-name translations, tree annotation tools and other handy functions. A brief tutorial and examples on how to use it is available `here <../tutorial/tutorial_ncbitaxonomy.html>`_ New features ================= **News in Tree instances** * added :func:`TreeNode.iter_edges` and :func:`TreeNode.get_edges` * added :func:`TreeNode.compare` function * added :func:`TreeNode.standardize` utility function to quickly get rid of multifurcations, single-child nodes in a tree. * added :func:`TreeNode.get_topology_id` utility function to get an unique identifier of a tree based on their content and topology. * added :func:`TreeNode.expand_polytomies` * improved :func:`TreeNode.robinson_foulds` function to auto expand polytomies, filter by branch support, and auto prune. * improved :func:`TreeNode.check_monophyly` function now accepts unrooted trees as input * Default node is set to blank instead of the "NoName" string, which saves memory in very large trees. * The branch length distance of root nodes is set to 0.0 by default. * newick export allows to control the format of branch distance and support values. * Tree and SeqGroup instances allow now to open gzipped files transparently. .. **News in PhyloTree instances** * added new reconciliation algorithm: Zmasek and Eddy's 2001, implemented by ????? **News in the treeview module** * improved SVG tree rendering * improved :func:`random_color` function (a list of colors can be fetch with a single call) * improved :class:`SeqMotifFace` * Added :class:`RectFace` * Added :class:`StackedBarFace` .. * Improved heatmap support??? Highlighted Bug Fixes ============================ * `Newick parser `_ is now more strict when reading node names and branch distances, avoiding silent errors when parsing node names containing illegal symbols (i.e. ][)(,: ) * fixes several minor bugs when retrieving extra attributes in :func:`PhyloNode.get_speciation_trees`. * Tree viewer `crashes `_ when redrawing after changing node properties. * fixed `installation problem `_ using pip. * visualizing internal tree nodes as a circular tree `produce crashes `_ * `math domain error `_ in SequencePlotFace. * Fix likelihood calculation bug in EvolTree * Fix `BarChartFace problem with negative numbers `_ * Fix problem that produced `TreeStyle attributes to be ignored in PhyloTree instances. `_