Comments (5)
This should be a bug.
After my testing, I found that it's not a bug of ggtree
.
You can plot the tree successfully using ggtree(y, ladderize=FALSE)
.
The issue is due to ggtree call ape::ladderize()
and the output tree from phangorn::midpoint()
is not compatible with ape::ladderize()
.
> y
Phylogenetic tree with 10 tips and 9 internal nodes.
Tip labels:
t8, t1, t4, t6, t10, t3, ...
Rooted; includes branch lengths.
> y$edge
[,1] [,2]
[1,] 15 3
[2,] 15 4
[3,] 14 2
[4,] 14 15
[5,] 13 14
[6,] 13 5
[7,] 12 13
[8,] 12 6
[9,] 18 1
[10,] 18 12
[11,] 19 8
[12,] 19 9
[13,] 17 10
[14,] 17 19
[15,] 16 7
[16,] 16 17
[17,] 11 16
[18,] 11 18
> ladderize(y)
Phylogenetic tree with 10 tips and 9 internal nodes.
Tip labels:
t8, t1, t4, t6, t10, t3, ...
Rooted; includes branch lengths.
> ladderize(y)$edge
[,1] [,2]
[1,] 11 18
[2,] 18 12
[3,] 16 17
[4,] 17 19
[5,] 19 8
[6,] 19 9
[7,] 15 4
[8,] 17 10
[9,] 18 1
The output from ape::ladderize()
is not correct. We need to report this issue to the author of ape
and phangorn
.
from ggtree.
Thank you very much for your reply.
Do you wish me to report this issue, or will you do so?
With all best wishes
David
From: Guangchuang Yu [mailto:[email protected]]
Sent: 04 October 2015 15:12
To: GuangchuangYu/ggtree [email protected]
Cc: David Wyllie [email protected]
Subject: Re: [ggtree] Midpoint rooting tree causes ggtree to fail, reporting multiple roots (#15)
This should be a bug.
After my testing, it's not a bug of ggtree.
You can plot the tree successfully using ggtree(y, ladderize=FALSE).
The issue is due to ggtree call ape::ladderize() and the output tree from phangorn::midpoint() is not compatible with ape::ladderize().
y
Phylogenetic tree with 10 tips and 9 internal nodes.
Tip labels:
t8, t1, t4, t6, t10, t3, ...
Rooted; includes branch lengths.
y$edge
[,1] [,2]
[1,] 15 3
[2,] 15 4
[3,] 14 2
[4,] 14 15
[5,] 13 14
[6,] 13 5
[7,] 12 13
[8,] 12 6
[9,] 18 1
[10,] 18 12
[11,] 19 8
[12,] 19 9
[13,] 17 10
[14,] 17 19
[15,] 16 7
[16,] 16 17
[17,] 11 16
[18,] 11 18
ladderize(y)
Phylogenetic tree with 10 tips and 9 internal nodes.
Tip labels:
t8, t1, t4, t6, t10, t3, ...
Rooted; includes branch lengths.
ladderize(y)$edge
[,1] [,2]
[1,] 11 18
[2,] 18 12
[3,] 16 17
[4,] 17 19
[5,] 19 8
[6,] 19 9
[7,] 15 4
[8,] 17 10
[9,] 18 1
The output from ape::ladderize() is not correct. We need to report this issue to the author of ape and phangorn.
—
Reply to this email directly or view it on GitHubhttps://github.com//issues/15#issuecomment-145353036.
from ggtree.
Dear Guangchuang & Emmanuel,
it seems ladderize assumes that trees are in "cladewise" order, but midpoint returns a tree in postorder
.
x<-rtree(10)
x2 <- reorder(x, "postorder")
plot(ladderize(x2)) # error message
y<-phangorn::midpoint(x)
y <- reorder(y)
plot(ladderize(y)) # works!!!
Just add
tree <- reorder(tree)
before running ladderize.
Cheers,
Klaus
from ggtree.
Dear Klaus,
Thank you for your reply.
It's very clear. We just need to reorder()
the tree before using ggtree()
.
Thanks,
Guangchuang
from ggtree.
@davidhwyllie FYI, In r-sig-phylo mailing list, Emmanuel mentioned that he will include phy <- reorder(phy)
in ladderize()
, so we don't need to call reorder explicitly in future release of ape
.
from ggtree.
Related Issues (20)
- Issue with linear tree with only one parent and one
- layout_dendrogram and theme_tree2 are incompatiable HOT 1
- Error with geom_inset of nodepies onto circular/radial/fan trees
- Unwanted white lines between tiles in gheatmap layout circular/fan
- rect_to_poly issue HOT 9
- Tree tips not colored according to specified colors HOT 2
- geom_cladelab doesn't facet
- facet_plot will not plot correctly align to branch in ggtree
- geom_hilight rectangle unreasonably long
- geom_highlight compresses the tree slightly
- Basic functionality missing from ggtree
- Problems with Collapse function
- Same name on one tree (2 copies), add links to another tree problem
- 无法正常绘制layout = "equal-angle"的tree
- theme_tree2 scale bar width
- chunky resolution of circular tree segments
- geom_taxalink error "as_string() Can't convert `NULL` to a string." HOT 2
- Sorting Problem of Evolutionary Leaf Node Labels//咨询进化树叶节点的排序问题 HOT 3
- ggtree adds unexpected branch/node HOT 1
- No "read.r8s" HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ggtree.