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
TreeStyleclass 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
TreeStyledocumentation
Added new face positions float, branch-top and branch-bottom. See tutorial (Node faces) for more details.
Added several
Faceattributes:- 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)StaticItemFaceandDynamicItemFace(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_COLORSnames 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.nexmlmodule (read and write nexml format)Added
ete2.phyloxmlmodule (read and write phyloxml format)Added
ete2.webpluginmodule: Allows to create interactive web tree applicationsTree visualization GUI checks now for newer version of the ETE package.
Added
PhylomeDB3ConnectorAdded
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