What’s new in ETE 2.1¶
A basic standalone tree visualization program called “ete2” is now installed along with the package.
The drawing engine has been completely rewritten to provide the following new features:
Added
TreeStyle
class allowing to set the following- Added circular tree drawing mode
- Added tree title face block (Text or images that rendered on top of the tree)
- Added tree legend face block (Text or images that rendered as image legend)
- Added support for tree rotation and orientation
- Possibility of drawing aligned faces as a table
- Added header and footer regions for aligned faces.
- And more! Check
TreeStyle
documentation
Added new face positions float, branch-top and branch-bottom. See tutorial (Node faces) for more details.
Added several
Face
attributes:- face border
- face background color
- left, right, top and bottom margins
- face opacity
- horizontal and vertical alignment (useful when faces are rendered as table)
Added support for predefined
NodeStyle
, which can be set outside the layout function (allows to save and export image rendering info)- Added new face types:
CircleFace
(basic circle/sphere forms)TreeFace
(trees within trees)StaticItemFace
andDynamicItemFace
(create custom and interactive QtGraphicsItems)
- Save and export images
- Added full support for SVG image rendering
- Added more options to the
TreeNode.render()
function to control image size and resolution
Added support for
SVG_COLORS
names in faces and node styles
- Core methods:
- Added
TreeNode.copy()
: returns an exact and independent copy of node and all its attributes - Added
TreeNode.convert_to_ultrametric()
: converts all branch lengths to allow leaves to be equidistant to root - Added
TreeNode.sort_descendants()
: sort tree branches according to node names. - Added
TreeNode.ladderize()
: sort tree branches according to partition size - Added
TreeNode.get_partitions()
: return the set of all possible partitions grouping leaf nodes - Tree nodes can now be fully exported using cPickle
- Newick parser can read and export branch distances and support values using scientific notation
TreeNode.swap_childs()
method has changed toTreeNode.swap_children()
- Added
Added
ete2.nexml
module (read and write nexml format)Added
ete2.phyloxml
module (read and write phyloxml format)Added
ete2.webplugin
module: Allows to create interactive web tree applicationsTree visualization GUI checks now for newer version of the ETE package.
Added
PhylomeDB3Connector
Added
PhyloNode.get_farthest_oldest_node()
function, which allows to find the best outgroup node in a tree, even if it is an internal node.- Bug Fixes and improvements:
- Fix:
TreeNode.get_common_ancestor()
accepts a single argument (node or list of nodes) instead of a succession or nodes. It can also return the path of each node to the parent. - Fix: Fast scroll based zoom-in was producing tree image inversions
- Fix: Phylip parser does not truncate long names by default
- Fix: “if not node” syntax was using a len(node) test, which made it totally inefficient. Now, the same expression returns always True
- Improvement: Traversing methods are now much faster (specially preorder and levelorder)
- Improvement: Faster populate function (added possibility of random and non-random branch lengths)
- Improvement: Faster prune function
- Improvement: unicode support for tree files
- Improvement: Added newick support for scientific notation in branch lengths
- Fix:
- Improved documentation and examples:
- Online and PDF tutorial
- Better library reference
- A set of examples is now provided with the installation package and here