Merge branch 'master' of https://github.com/JustGitting/ggtree
# Conflicts:
# .Rbuildignore
... | ... |
@@ -7,7 +7,7 @@ |
7 | 7 |
|
8 | 8 |
### Describe you issue |
9 | 9 |
|
10 |
-* [ ] Make a reproducible example (*e.g.* [1](https://gist.github.com/talonsensei/e1fad082657054207f249ec98f0920eb])) |
|
10 |
+* [ ] Make a reproducible example (*e.g.* [1](https://gist.github.com/talonsensei/e1fad082657054207f249ec98f0920eb)) |
|
11 | 11 |
* [ ] your code should contain comments to describe the problem (*e.g.* what expected and actually happened?) |
12 | 12 |
|
13 | 13 |
|
... | ... |
@@ -1,7 +1,8 @@ |
1 | 1 |
Package: ggtree |
2 | 2 |
Type: Package |
3 |
-Title: an R package for visualization and annotation of phylogenetic trees with their covariates and other associated data |
|
4 |
-Version: 1.7.9 |
|
3 |
+Title: an R package for visualization and annotation of phylogenetic trees with |
|
4 |
+ their covariates and other associated data |
|
5 |
+Version: 1.7.10 |
|
5 | 6 |
Authors@R: c( |
6 | 7 |
person("Guangchuang", "Yu", email = "guangchuangyu@gmail.com", role = c("aut", "cre", "cph")), |
7 | 8 |
person("Tommy Tsan-Yuk", "Lam", email = "tylam.tommy@gmail.com", rol = c("aut", "ths")), |
... | ... |
@@ -9,8 +10,9 @@ Authors@R: c( |
9 | 10 |
person("Hugo", "Gruson", email = "hugo.gruson@normalesup.org", rol = "ctb") |
10 | 11 |
) |
11 | 12 |
Maintainer: Guangchuang Yu <guangchuangyu@gmail.com> |
12 |
-Description: 'ggtree' extends the 'ggplot2' plotting system which implemented the grammar of graphics. |
|
13 |
- 'ggtree' is designed for visualization and annotation of phylogenetic trees with their covariates and other associated data. |
|
13 |
+Description: 'ggtree' extends the 'ggplot2' plotting system which implemented |
|
14 |
+ the grammar of graphics. 'ggtree' is designed for visualization and annotation |
|
15 |
+ of phylogenetic trees with their covariates and other associated data. |
|
14 | 16 |
Depends: |
15 | 17 |
R (>= 3.3.2), |
16 | 18 |
ggplot2 (>= 2.2.0), |
... | ... |
@@ -21,6 +23,7 @@ Imports: |
21 | 23 |
grid, |
22 | 24 |
magrittr, |
23 | 25 |
methods, |
26 |
+ rvcheck, |
|
24 | 27 |
tidyr, |
25 | 28 |
utils |
26 | 29 |
Suggests: |
... | ... |
@@ -12,6 +12,10 @@ rd: |
12 | 12 |
readme: |
13 | 13 |
Rscript -e 'rmarkdown::render("README.Rmd")' |
14 | 14 |
|
15 |
+sticker: |
|
16 |
+ Rscript -e 'source("ggtree_sticker.R")'; |
|
17 |
+ rm Rplots.pdf |
|
18 |
+ |
|
15 | 19 |
build: |
16 | 20 |
cd ..;\ |
17 | 21 |
R CMD build $(PKGSRC) |
... | ... |
@@ -47,17 +51,11 @@ mkdocs: mdfiles |
47 | 51 |
mkdocs build;\ |
48 | 52 |
cd ../docs;\ |
49 | 53 |
rm -rf fonts;\ |
50 |
- rm -rf css/font-awesome*;\ |
|
51 |
- Rscript -e 'library(ypages); add_biobabble("index.html")' |
|
52 |
- |
|
54 |
+ rm -rf css/font-awesome* |
|
53 | 55 |
|
54 | 56 |
mdfiles: |
55 | 57 |
cd mkdocs;\ |
56 |
- Rscript -e 'library(ypages); gendoc("src/index.md", "blue", "docs/index.md")';\ |
|
57 |
- Rscript -e 'library(ypages); gendoc("src/documentation.md", "blue", "docs/documentation.md")';\ |
|
58 |
- Rscript -e 'library(ypages); gendoc("src/featuredArticles.md", "blue", "docs/featuredArticles.md")';\ |
|
59 |
- Rscript -e 'library(ypages); gendoc("src/gallery.md", "blue", "docs/gallery.md")';\ |
|
60 |
- Rscript -e 'library(ypages); gendoc("src/faq.md", "blue", "docs/faq.md")';\ |
|
58 |
+ Rscript -e 'source("render.R")';\ |
|
61 | 59 |
cd docs;\ |
62 | 60 |
ln -f -s ../mysoftware/* ./ |
63 | 61 |
|
... | ... |
@@ -181,6 +181,7 @@ importFrom(magrittr,add) |
181 | 181 |
importFrom(magrittr,equals) |
182 | 182 |
importFrom(methods,is) |
183 | 183 |
importFrom(methods,missingArg) |
184 |
+importFrom(rvcheck,get_fun_from_pkg) |
|
184 | 185 |
importFrom(tidyr,gather) |
185 | 186 |
importFrom(treeio,as.phylo) |
186 | 187 |
importFrom(treeio,as.treedata) |
... | ... |
@@ -1,3 +1,10 @@ |
1 |
+CHANGES IN VERSION 1.7.10 |
|
2 |
+------------------------ |
|
3 |
+ o add message for subview, inset, phylopic, theme_transparent and theme_inset <2017-03-23, Thu> |
|
4 |
+ + will be defunct in version >= 1.9.0 |
|
5 |
+ + user should use ggimage package to annotate tree with graphic object or image file |
|
6 |
+ o update subview to support mainview produced by `ggplot() + layers` <2017-03-13, Mon> |
|
7 |
+ |
|
1 | 8 |
CHANGES IN VERSION 1.7.9 |
2 | 9 |
------------------------ |
3 | 10 |
o fixed geom_range to support height_0.95_HPD <2017-03-03, Fri> |
... | ... |
@@ -17,6 +17,8 @@ |
17 | 17 |
inset <- function(tree_view, insets, width=0.1, height=0.1, hjust=0, vjust=0, |
18 | 18 |
x="node", reverse_x=FALSE, reverse_y=FALSE) { |
19 | 19 |
|
20 |
+ message("The inset function will be defunct in next release, please use ggimage::geom_subview() instead.") |
|
21 |
+ |
|
20 | 22 |
df <- tree_view$data[as.numeric(names(insets)),] |
21 | 23 |
x <- match.arg(x, c("node", "branch", "edge")) |
22 | 24 |
|
... | ... |
@@ -336,7 +336,9 @@ fortify.paml_rst <- function(model, data, |
336 | 336 |
} |
337 | 337 |
|
338 | 338 |
merge_phylo_anno.paml_rst <- function(df, model) { |
339 |
- for (type in get.fields(model)) { |
|
339 |
+ types <- get.fields(model) |
|
340 |
+ types <- types[grepl('subs', types)] |
|
341 |
+ for (type in types) { |
|
340 | 342 |
anno <- get.subs(model, type=type) |
341 | 343 |
colnames(anno)[2] <- type |
342 | 344 |
df <- df %add2% anno |
... | ... |
@@ -1,6 +1,6 @@ |
1 | 1 |
##' download phylopic and convert to grob object |
2 | 2 |
##' |
3 |
-##' |
|
3 |
+##' |
|
4 | 4 |
##' @title get.phylopic |
5 | 5 |
##' @param id phylopic id |
6 | 6 |
##' @param size size of the phylopic |
... | ... |
@@ -34,9 +34,9 @@ download.phylopic <- function(id, size=512, color="black", alpha=1) { |
34 | 34 |
|
35 | 35 |
channel <- get_fun_from_pkg("EBImage", "channel") |
36 | 36 |
readImage <- get_fun_from_pkg("EBImage", "readImage") |
37 |
- |
|
37 |
+ |
|
38 | 38 |
img <- readImage(imgfile) |
39 |
- |
|
39 |
+ |
|
40 | 40 |
color <- col2rgb(color) / 255 |
41 | 41 |
|
42 | 42 |
img <- channel(img, 'rgb') |
... | ... |
@@ -44,7 +44,7 @@ download.phylopic <- function(id, size=512, color="black", alpha=1) { |
44 | 44 |
img[,,2] <- color[2] |
45 | 45 |
img[,,3] <- color[3] |
46 | 46 |
img[,,4] <- img[,,4]*alpha |
47 |
- |
|
47 |
+ |
|
48 | 48 |
return(img) |
49 | 49 |
} |
50 | 50 |
|
... | ... |
@@ -59,13 +59,13 @@ download.phylopic_internal <- function(id, size=512, outfile=NULL) { |
59 | 59 |
outfile <- sub(".*/", "", imgurl) |
60 | 60 |
} |
61 | 61 |
## mode = "wb" for Windows platform |
62 |
- download.file(imgurl, outfile, mode="wb", quiet = TRUE) |
|
62 |
+ download.file(imgurl, outfile, mode="wb", quiet = TRUE) |
|
63 | 63 |
} |
64 | 64 |
|
65 | 65 |
|
66 | 66 |
##' add phylopic layer |
67 | 67 |
##' |
68 |
-##' |
|
68 |
+##' |
|
69 | 69 |
##' @title phylopic |
70 | 70 |
##' @param tree_view tree view |
71 | 71 |
##' @param phylopic_id phylopic id |
... | ... |
@@ -84,6 +84,9 @@ download.phylopic_internal <- function(id, size=512, outfile=NULL) { |
84 | 84 |
phylopic <- function(tree_view, phylopic_id, |
85 | 85 |
size=512, color="black", alpha=0.5, |
86 | 86 |
node=NULL, x=NULL, y=NULL, width=.1) { |
87 |
+ |
|
88 |
+ message("The phylopic function will be defunct in next release, please use ggimage::geom_phylopic() instead.") |
|
89 |
+ |
|
87 | 90 |
width <- diff(range(tree_view$data$x)) * width |
88 | 91 |
img <- download.phylopic(phylopic_id, size, color, alpha) |
89 | 92 |
if ( is.null(node) ) { |
... | ... |
@@ -104,7 +107,7 @@ phylopic <- function(tree_view, phylopic_id, |
104 | 107 |
ymin <- y - AR * width/2 |
105 | 108 |
ymax <- y + AR * width/2 |
106 | 109 |
} |
107 |
- |
|
110 |
+ |
|
108 | 111 |
tree_view + annotation_custom(xmin=xmin, ymin=ymin, |
109 | 112 |
xmax=xmax, ymax=ymax, |
110 | 113 |
rasterGrob(img)) |
... | ... |
@@ -118,7 +121,7 @@ getAR <- function(img) { |
118 | 121 |
|
119 | 122 |
##' annotation taxa with images |
120 | 123 |
##' |
121 |
-##' |
|
124 |
+##' |
|
122 | 125 |
##' @title annotation_image |
123 | 126 |
##' @param tree_view tree view |
124 | 127 |
##' @param img_info data.frame with first column of taxa name and second column of image names |
... | ... |
@@ -149,7 +152,7 @@ annotation_image <- function(tree_view, img_info, width=0.1, align=TRUE, linetyp |
149 | 152 |
xmin <- x - width/2 + offset |
150 | 153 |
} |
151 | 154 |
xmax <- xmin + width |
152 |
- |
|
155 |
+ |
|
153 | 156 |
ymin <- y - ARs * width/2 |
154 | 157 |
ymax <- y + ARs * width/2 |
155 | 158 |
image_layers <- lapply(1:length(xmin), function(i) { |
... | ... |
@@ -1,6 +1,6 @@ |
1 | 1 |
##' add subview to mainview for ggplot2 objects |
2 | 2 |
##' |
3 |
-##' |
|
3 |
+##' |
|
4 | 4 |
##' @title subview |
5 | 5 |
##' @param mainview main view |
6 | 6 |
##' @param subview a ggplot or grob object |
... | ... |
@@ -11,15 +11,24 @@ |
11 | 11 |
##' @return ggplot object |
12 | 12 |
##' @importFrom ggplot2 annotation_custom |
13 | 13 |
##' @importFrom ggplot2 ggplotGrob |
14 |
+##' @importFrom ggplot2 ggplot_build |
|
14 | 15 |
##' @export |
15 | 16 |
##' @author Guangchuang Yu |
16 | 17 |
subview <- function(mainview, subview, x, y, width=.1, height=.1) { |
18 |
+ message("The subview function will be defunct in next release, please use ggimage::geom_subview() instead.") |
|
19 |
+ |
|
17 | 20 |
mapping <- mainview$mapping %>% as.character |
18 | 21 |
aes_x <- mapping["x"] |
19 | 22 |
aes_y <- mapping["y"] |
20 |
- |
|
21 |
- xrng <- mainview$data[, aes_x] %>% range |
|
22 |
- yrng <- mainview$data[, aes_y] %>% range |
|
23 |
+ |
|
24 |
+ if (is.na(aes_x) || is.na(aes_y)) { |
|
25 |
+ obj <- ggplot_build(mainview) |
|
26 |
+ xrng <- obj$layout$panel_ranges[[1]]$x.range |
|
27 |
+ yrng <- obj$layout$panel_ranges[[1]]$y.range |
|
28 |
+ } else { |
|
29 |
+ xrng <- mainview$data[, aes_x] %>% range |
|
30 |
+ yrng <- mainview$data[, aes_y] %>% range |
|
31 |
+ } |
|
23 | 32 |
|
24 | 33 |
for (i in seq_along(mainview$layers)) { |
25 | 34 |
layer <- mainview$layers[[i]] |
... | ... |
@@ -58,13 +67,15 @@ subview <- function(mainview, subview, x, y, width=.1, height=.1) { |
58 | 67 |
|
59 | 68 |
xrng <- diff(xrng) |
60 | 69 |
yrng <- diff(yrng) |
61 |
- |
|
62 |
- if (!any(class(subview) %in% c("ggplot", "grob", "character"))) { |
|
70 |
+ |
|
71 |
+ if (!any(class(subview) %in% c("ggplot", "trellis", "grob", "character"))) { |
|
63 | 72 |
stop("subview should be a ggplot or grob object, or an image file...") |
64 | 73 |
} |
65 |
- |
|
74 |
+ |
|
66 | 75 |
if (is(subview, "ggplot")) { |
67 | 76 |
sv <- ggplotGrob(subview) |
77 |
+ } else if (is(subview, "trellis")) { |
|
78 |
+ sv <- grid::grid.grabExpr(print(subview)) |
|
68 | 79 |
} else if (is(subview, "grob")) { |
69 | 80 |
sv <- subview |
70 | 81 |
} else if (file.exists(subview)) { |
... | ... |
@@ -76,7 +87,7 @@ subview <- function(mainview, subview, x, y, width=.1, height=.1) { |
76 | 87 |
|
77 | 88 |
width <- width/2 |
78 | 89 |
height <- height/2 |
79 |
- |
|
90 |
+ |
|
80 | 91 |
mainview + annotation_custom( |
81 | 92 |
sv, |
82 | 93 |
xmin = x - width*xrng, |
... | ... |
@@ -20,7 +20,7 @@ |
20 | 20 |
theme_tree <- function(bgcolor="white", fgcolor="black", ...) { |
21 | 21 |
list(xlab(NULL), |
22 | 22 |
ylab(NULL), |
23 |
- theme_tree2_internal() + |
|
23 |
+ theme_tree2_internal() + |
|
24 | 24 |
theme(panel.background=element_rect(fill=bgcolor, colour=bgcolor), |
25 | 25 |
axis.line.x = element_blank(), |
26 | 26 |
axis.text.x = element_blank(), |
... | ... |
@@ -63,7 +63,7 @@ theme_tree2_internal <- function(bgcolor="white", fgcolor="black", |
63 | 63 |
axis.line.y=element_blank(), |
64 | 64 |
axis.ticks.y=element_blank(), |
65 | 65 |
axis.text.y=element_blank(),...) { |
66 |
- theme_bw() + |
|
66 |
+ theme_bw() + |
|
67 | 67 |
theme(legend.position=legend.position, |
68 | 68 |
panel.grid.minor=panel.grid.minor, |
69 | 69 |
panel.grid.major=panel.grid.major, |
... | ... |
@@ -88,6 +88,8 @@ theme_tree2_internal <- function(bgcolor="white", fgcolor="black", |
88 | 88 |
##' @export |
89 | 89 |
##' @author Guangchuang Yu |
90 | 90 |
theme_transparent <- function(...) { |
91 |
+ message("this theme was moved to ggimage::theme_transparent and will be removed in next release") |
|
92 |
+ |
|
91 | 93 |
theme(panel.background = element_rect( |
92 | 94 |
fill = "transparent", |
93 | 95 |
colour = NA), |
... | ... |
@@ -95,10 +97,10 @@ theme_transparent <- function(...) { |
95 | 97 |
fill = "transparent", |
96 | 98 |
colour = NA), |
97 | 99 |
legend.key = element_rect( |
98 |
- fill = "transparent", |
|
100 |
+ fill = "transparent", |
|
99 | 101 |
colour = NA), |
100 | 102 |
legend.background = element_rect( |
101 |
- fill = "transparent", |
|
103 |
+ fill = "transparent", |
|
102 | 104 |
colour = NA), ...) |
103 | 105 |
} |
104 | 106 |
|
... | ... |
@@ -111,6 +113,7 @@ theme_transparent <- function(...) { |
111 | 113 |
##' @export |
112 | 114 |
##' @author Guangchuang Yu |
113 | 115 |
theme_inset <- function(...) { |
116 |
+ message("this theme will be removed in next release") |
|
114 | 117 |
list(xlab(NULL), |
115 | 118 |
ylab(NULL), |
116 | 119 |
theme_tree(...), |
... | ... |
@@ -349,7 +349,8 @@ is.tree <- function(x) { |
349 | 349 |
"codeml_mlc", |
350 | 350 |
"codeml", |
351 | 351 |
"hyphy", |
352 |
- "beast") |
|
352 |
+ "beast", |
|
353 |
+ "phangorn") |
|
353 | 354 |
) { |
354 | 355 |
return(TRUE) |
355 | 356 |
} |
... | ... |
@@ -459,14 +460,7 @@ getCols <- function (n) { |
459 | 460 |
colorRampPalette(col3)(n) |
460 | 461 |
} |
461 | 462 |
|
462 |
- |
|
463 |
-get_fun_from_pkg <- function(pkg, fun) { |
|
464 |
- ## requireNamespace(pkg) |
|
465 |
- ## eval(parse(text=paste0(pkg, "::", fun))) |
|
466 |
- require(pkg, character.only = TRUE) |
|
467 |
- eval(parse(text = fun)) |
|
468 |
-} |
|
469 |
- |
|
463 |
+##' @importFrom rvcheck get_fun_from_pkg |
|
470 | 464 |
hist <- get_fun_from_pkg("graphics", "hist") |
471 | 465 |
|
472 | 466 |
|
... | ... |
@@ -15,14 +15,14 @@ library("txtplot") |
15 | 15 |
library("ypages") |
16 | 16 |
``` |
17 | 17 |
|
18 |
-<img src="https://raw.githubusercontent.com/jotsetung/BioC-stickers/master/ggtree/ggtree.png" height="128", align="right" /> |
|
18 |
+<img src="https://raw.githubusercontent.com/Bioconductor/BiocStickers/master/ggtree/ggtree.png" height="200" align="right" /> |
|
19 | 19 |
|
20 | 20 |
|
21 |
-`r badge_release("ggtree", "green")` |
|
22 |
-`r badge_devel("ggtree", "green")` |
|
21 |
+`r badge_bioc_release("ggtree", "green")` |
|
22 |
+`r badge_devel("guangchuangyu/ggtree", "green")` |
|
23 | 23 |
[](https://www.bioconductor.org/packages/devel/bioc/html/ggtree.html#since) |
24 |
-`r badge_download("ggtree", "total", "blue")` |
|
25 |
-`r badge_download("ggtree", "month", "blue")` |
|
24 |
+`r badge_bioc_download("ggtree", "total", "blue")` |
|
25 |
+`r badge_bioc_download("ggtree", "month", "blue")` |
|
26 | 26 |
|
27 | 27 |
|
28 | 28 |
[](http://www.repostatus.org/#active) |
... | ... |
@@ -77,8 +77,8 @@ txtplot(d$year, d$cites) |
77 | 77 |
### Download stats |
78 | 78 |
|
79 | 79 |
`r badge_download_bioc("ggtree")` |
80 |
-`r badge_download("ggtree", "total", "blue")` |
|
81 |
-`r badge_download("ggtree", "month", "blue")` |
|
80 |
+`r badge_bioc_download("ggtree", "total", "blue")` |
|
81 |
+`r badge_bioc_download("ggtree", "month", "blue")` |
|
82 | 82 |
|
83 | 83 |
|
84 | 84 |
```{r echo=F, comment=NA} |
... | ... |
@@ -2,11 +2,11 @@ |
2 | 2 |
ggtree: an R package for visualization and annotation of phylogenetic trees with their covariates and other associated data |
3 | 3 |
=========================================================================================================================== |
4 | 4 |
|
5 |
-<img src="https://raw.githubusercontent.com/jotsetung/BioC-stickers/master/ggtree/ggtree.png" height="128", align="right" /> |
|
5 |
+<img src="https://raw.githubusercontent.com/Bioconductor/BiocStickers/master/ggtree/ggtree.png" height="200" align="right" /> |
|
6 | 6 |
|
7 |
-[](https://bioconductor.org/packages/ggtree) [](https://github.com/GuangchuangYu/ggtree) [](https://www.bioconductor.org/packages/devel/bioc/html/ggtree.html#since) [](https://bioconductor.org/packages/stats/bioc/ggtree) [](https://bioconductor.org/packages/stats/bioc/ggtree) |
|
7 |
+[](https://bioconductor.org/packages/ggtree) [](https://github.com/guangchuangyu/ggtree) [](https://www.bioconductor.org/packages/devel/bioc/html/ggtree.html#since) [](https://bioconductor.org/packages/stats/bioc/ggtree) [](https://bioconductor.org/packages/stats/bioc/ggtree) |
|
8 | 8 |
|
9 |
-[](http://www.repostatus.org/#active) [](https://codecov.io/gh/GuangchuangYu/ggtree) [](https://github.com/GuangchuangYu/ggtree/commits/master) [](https://github.com/GuangchuangYu/ggtree/network) [](https://github.com/GuangchuangYu/ggtree/stargazers) [](https://awesome-r.com/#awesome-r-graphic-displays) |
|
9 |
+[](http://www.repostatus.org/#active) [](https://codecov.io/gh/GuangchuangYu/ggtree) [](https://github.com/GuangchuangYu/ggtree/commits/master) [](https://github.com/GuangchuangYu/ggtree/network) [](https://github.com/GuangchuangYu/ggtree/stargazers) [](https://awesome-r.com/#awesome-r-graphic-displays) |
|
10 | 10 |
|
11 | 11 |
[](https://www.bioconductor.org/packages/devel/bioc/html/ggtree.html#archives) [](https://bioconductor.org/checkResults/devel/bioc-LATEST/ggtree/) [](https://travis-ci.org/GuangchuangYu/ggtree) [](https://ci.appveyor.com/project/GuangchuangYu/ggtree) [](http://bioconda.github.io/recipes/bioconductor-ggtree/README.html) |
12 | 12 |
|
... | ... |
@@ -20,7 +20,7 @@ Please cite the following article when using `ggtree`: |
20 | 20 |
|
21 | 21 |
**G Yu**, DK Smith, H Zhu, Y Guan, TTY Lam<sup>\*</sup>. ggtree: an R package for visualization and annotation of phylogenetic trees with their covariates and other associated data. ***Methods in Ecology and Evolution***. 2017, 8(1):28-36. |
22 | 22 |
|
23 |
-[](http://dx.doi.org/10.1111/2041-210X.12628) [](https://scholar.google.com.hk/scholar?oi=bibs&hl=en&cites=7268358477862164627) [](https://www.altmetric.com/details/10533079) |
|
23 |
+[](http://dx.doi.org/10.1111/2041-210X.12628) [](https://scholar.google.com.hk/scholar?oi=bibs&hl=en&cites=7268358477862164627) [](https://www.altmetric.com/details/10533079) |
|
24 | 24 |
|
25 | 25 |
------------------------------------------------------------------------ |
26 | 26 |
|
... | ... |
@@ -33,32 +33,32 @@ For details, please visit our project website, <https://guangchuangyu.github.io/ |
33 | 33 |
|
34 | 34 |
### Citation |
35 | 35 |
|
36 |
-[](https://scholar.google.com.hk/scholar?oi=bibs&hl=en&cites=7268358477862164627) |
|
37 |
- |
|
38 |
- +--+---------+---------+---------+---------+---------+---+ |
|
39 |
- 7 + * + |
|
40 |
- | | |
|
41 |
- 6 + + |
|
42 |
- | | |
|
43 |
- 5 + + |
|
44 |
- | | |
|
45 |
- 4 + + |
|
46 |
- 3 + + |
|
47 |
- | | |
|
48 |
- 2 + + |
|
49 |
- | | |
|
50 |
- 1 + * + |
|
51 |
- +--+---------+---------+---------+---------+---------+---+ |
|
36 |
+[](https://scholar.google.com.hk/scholar?oi=bibs&hl=en&cites=7268358477862164627) |
|
37 |
+ |
|
38 |
+ +-+---------+---------+---------+---------+---------+---+ |
|
39 |
+ | * | |
|
40 |
+ 10 + + |
|
41 |
+ | | |
|
42 |
+ 8 + + |
|
43 |
+ | | |
|
44 |
+ | | |
|
45 |
+ 6 + + |
|
46 |
+ | | |
|
47 |
+ 4 + + |
|
48 |
+ | | |
|
49 |
+ 2 + + |
|
50 |
+ | * | |
|
51 |
+ +-+---------+---------+---------+---------+---------+---+ |
|
52 | 52 |
2016 2016.2 2016.4 2016.6 2016.8 2017 |
53 | 53 |
|
54 | 54 |
### Download stats |
55 | 55 |
|
56 |
-[](https://bioconductor.org/packages/stats/bioc/ggtree) [](https://bioconductor.org/packages/stats/bioc/ggtree) [](https://bioconductor.org/packages/stats/bioc/ggtree) |
|
56 |
+[](https://bioconductor.org/packages/stats/bioc/ggtree) [](https://bioconductor.org/packages/stats/bioc/ggtree) [](https://bioconductor.org/packages/stats/bioc/ggtree) |
|
57 | 57 |
|
58 | 58 |
++-------------------+-------------------+--------------------+-------------------+-----------+ |
59 | 59 |
| * | |
60 |
- | * | |
|
61 |
- | * | |
|
60 |
+ | * * | |
|
61 |
+ | | |
|
62 | 62 |
| * * | |
63 | 63 |
| | |
64 | 64 |
1500 + + |
... | ... |
@@ -91,7 +91,7 @@ |
91 | 91 |
|
92 | 92 |
|
93 | 93 |
<li class="dropdown active"> |
94 |
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">My Software <b class="caret"></b></a> |
|
94 |
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Software <b class="caret"></b></a> |
|
95 | 95 |
<ul class="dropdown-menu"> |
96 | 96 |
|
97 | 97 |
|
... | ... |
@@ -91,7 +91,7 @@ |
91 | 91 |
|
92 | 92 |
|
93 | 93 |
<li class="dropdown active"> |
94 |
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">My Software <b class="caret"></b></a> |
|
94 |
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Software <b class="caret"></b></a> |
|
95 | 95 |
<ul class="dropdown-menu"> |
96 | 96 |
|
97 | 97 |
|
... | ... |
@@ -91,7 +91,7 @@ |
91 | 91 |
|
92 | 92 |
|
93 | 93 |
<li class="dropdown active"> |
94 |
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">My Software <b class="caret"></b></a> |
|
94 |
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Software <b class="caret"></b></a> |
|
95 | 95 |
<ul class="dropdown-menu"> |
96 | 96 |
|
97 | 97 |
|
... | ... |
@@ -91,7 +91,7 @@ |
91 | 91 |
|
92 | 92 |
|
93 | 93 |
<li class="dropdown active"> |
94 |
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">My Software <b class="caret"></b></a> |
|
94 |
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Software <b class="caret"></b></a> |
|
95 | 95 |
<ul class="dropdown-menu"> |
96 | 96 |
|
97 | 97 |
|
... | ... |
@@ -91,7 +91,7 @@ |
91 | 91 |
|
92 | 92 |
|
93 | 93 |
<li class="dropdown active"> |
94 |
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">My Software <b class="caret"></b></a> |
|
94 |
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Software <b class="caret"></b></a> |
|
95 | 95 |
<ul class="dropdown-menu"> |
96 | 96 |
|
97 | 97 |
|
... | ... |
@@ -91,7 +91,7 @@ |
91 | 91 |
|
92 | 92 |
|
93 | 93 |
<li class="dropdown"> |
94 |
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">My Software <b class="caret"></b></a> |
|
94 |
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Software <b class="caret"></b></a> |
|
95 | 95 |
<ul class="dropdown-menu"> |
96 | 96 |
|
97 | 97 |
|
... | ... |
@@ -228,15 +228,14 @@ |
228 | 228 |
<!-- AddToAny BEGIN --> |
229 | 229 |
|
230 | 230 |
<div class="a2a_kit a2a_kit_size_32 a2a_default_style"> |
231 |
+ |
|
231 | 232 |
<a class="a2a_dd" href="//www.addtoany.com/share"></a> |
232 |
-<a class="a2a_button_facebook"></a> |
|
233 |
-<a class="a2a_button_twitter"></a> |
|
233 |
+<a class="a2a_button_facebook"></a> <a class="a2a_button_twitter"></a> |
|
234 | 234 |
<a class="a2a_button_google_plus"></a> |
235 |
-<a class="a2a_button_pinterest"></a> |
|
236 |
-<a class="a2a_button_reddit"></a> |
|
237 |
-<a class="a2a_button_sina_weibo"></a> |
|
238 |
-<a class="a2a_button_wechat"></a> |
|
235 |
+<a class="a2a_button_pinterest"></a> <a class="a2a_button_reddit"></a> |
|
236 |
+<a class="a2a_button_sina_weibo"></a> <a class="a2a_button_wechat"></a> |
|
239 | 237 |
<a class="a2a_button_douban"></a> |
238 |
+ |
|
240 | 239 |
</div> |
241 | 240 |
|
242 | 241 |
<script async src="//static.addtoany.com/menu/page.js"></script> |
... | ... |
@@ -247,87 +246,139 @@ |
247 | 246 |
<h2 id="vignettes"><i class="fa fa-book"></i> Vignettes</h2> |
248 | 247 |
<ul> |
249 | 248 |
<li><a href="https://bioconductor.org/packages/devel/bioc/vignettes/ggtree/inst/doc/ggtree.html">ggtree</a></li> |
250 |
-<li><a href="https://bioconductor.org/packages/devel/bioc/vignettes/ggtree/inst/doc/treeImport.html">Tree Data Import</a></li> |
|
251 |
-<li><a href="https://bioconductor.org/packages/devel/bioc/vignettes/ggtree/inst/doc/treeVisualization.html">Tree Visualization</a></li> |
|
252 |
-<li><a href="https://bioconductor.org/packages/devel/bioc/vignettes/ggtree/inst/doc/treeAnnotation.html">Tree Annotation</a></li> |
|
253 |
-<li><a href="https://bioconductor.org/packages/devel/bioc/vignettes/ggtree/inst/doc/treeManipulation.html">Tree Manipulation</a></li> |
|
254 |
-<li><a href="https://bioconductor.org/packages/devel/bioc/vignettes/ggtree/inst/doc/advanceTreeAnnotation.html">Advance Tree Annotation</a></li> |
|
255 |
-<li><a href="https://bioconductor.org/packages/devel/bioc/vignettes/ggtree/inst/doc/ggtreeUtilities.html">ggtree utilities</a></li> |
|
249 |
+<li><a href="https://bioconductor.org/packages/devel/bioc/vignettes/ggtree/inst/doc/treeImport.html">Tree Data |
|
250 |
+ Import</a></li> |
|
251 |
+<li><a href="https://bioconductor.org/packages/devel/bioc/vignettes/ggtree/inst/doc/treeVisualization.html">Tree |
|
252 |
+ Visualization</a></li> |
|
253 |
+<li><a href="https://bioconductor.org/packages/devel/bioc/vignettes/ggtree/inst/doc/treeAnnotation.html">Tree |
|
254 |
+ Annotation</a></li> |
|
255 |
+<li><a href="https://bioconductor.org/packages/devel/bioc/vignettes/ggtree/inst/doc/treeManipulation.html">Tree |
|
256 |
+ Manipulation</a></li> |
|
257 |
+<li><a href="https://bioconductor.org/packages/devel/bioc/vignettes/ggtree/inst/doc/advanceTreeAnnotation.html">Advance Tree |
|
258 |
+ Annotation</a></li> |
|
259 |
+<li><a href="https://bioconductor.org/packages/devel/bioc/vignettes/ggtree/inst/doc/ggtreeUtilities.html">ggtree |
|
260 |
+ utilities</a></li> |
|
256 | 261 |
</ul> |
257 | 262 |
<h2 id="blog-posts"><i class="fa fa-wordpress"></i> Blog posts</h2> |
258 | 263 |
<h3 id="news-and-updates"><i class="fa fa-angle-double-right"></i> News and updates</h3> |
259 | 264 |
<ul> |
260 |
-<li><a href="https://guangchuangyu.github.io/2014/12/viewing-and-annotating-phylogenetic-tree-with-ggtree">viewing and annotating phylogenetic tree with ggtree</a></li> |
|
261 |
-<li><a href="https://guangchuangyu.github.io/2015/01/ggtree-in-bioconductor-3.1">ggtree in Bioconductor 3.1</a></li> |
|
262 |
-<li><a href="https://guangchuangyu.github.io/2015/04/bioc-31-news-of-my-bioc-packages">BioC 3.1: NEWS of my BioC packages</a></li> |
|
263 |
-<li><a href="https://guangchuangyu.github.io/2015/10/bioc-32-news-of-my-bioc-packages">BioC 3.2: NEWS of my BioC packages</a></li> |
|
264 |
-<li><a href="https://guangchuangyu.github.io/2015/12/news-of-ggtree">News of ggtree</a></li> |
|
265 |
-<li><a href="https://guangchuangyu.github.io/2016/05/bioc-33-news-of-my-bioc-packages/">BioC 3.3: NEWS of my BioC packages</a></li> |
|
266 |
-<li><a href="https://guangchuangyu.github.io/2016/10/bioc-34-news-of-my-bioc-packages">BioC 3.4: NEWS of my BioC packages</a></li> |
|
267 |
-<li><a href="https://guangchuangyu.github.io/2016/08/ggtree-paper-published">ggtree paper published</a></li> |
|
265 |
+<li><a href="https://guangchuangyu.github.io/2014/12/viewing-and-annotating-phylogenetic-tree-with-ggtree">viewing and annotating phylogenetic tree with |
|
266 |
+ ggtree</a></li> |
|
267 |
+<li><a href="https://guangchuangyu.github.io/2015/01/ggtree-in-bioconductor-3.1">ggtree in Bioconductor |
|
268 |
+ 3.1</a></li> |
|
269 |
+<li><a href="https://guangchuangyu.github.io/2015/04/bioc-31-news-of-my-bioc-packages">BioC 3.1: NEWS of my BioC |
|
270 |
+ packages</a></li> |
|
271 |
+<li><a href="https://guangchuangyu.github.io/2015/10/bioc-32-news-of-my-bioc-packages">BioC 3.2: NEWS of my BioC |
|
272 |
+ packages</a></li> |
|
273 |
+<li><a href="https://guangchuangyu.github.io/2015/12/news-of-ggtree">News of |
|
274 |
+ ggtree</a></li> |
|
275 |
+<li><a href="https://guangchuangyu.github.io/2016/05/bioc-33-news-of-my-bioc-packages/">BioC 3.3: NEWS of my BioC |
|
276 |
+ packages</a></li> |
|
277 |
+<li><a href="https://guangchuangyu.github.io/2016/10/bioc-34-news-of-my-bioc-packages">BioC 3.4: NEWS of my BioC |
|
278 |
+ packages</a></li> |
|
279 |
+<li><a href="https://guangchuangyu.github.io/2016/08/ggtree-paper-published">ggtree paper |
|
280 |
+ published</a></li> |
|
268 | 281 |
</ul> |
269 | 282 |
<h3 id="data-manipulation"><i class="fa fa-angle-double-right"></i> Data manipulation</h3> |
270 | 283 |
<ul> |
271 |
-<li><a href="https://guangchuangyu.github.io/2015/09/subsetting-data-in-ggtree">subsetting data in ggtree</a></li> |
|
272 |
-<li><a href="https://guangchuangyu.github.io/2016/01/ggtree-supports-phylip-tree-format">ggtree supports phylip tree format</a></li> |
|
273 |
-<li><a href="http://guangchuangyu.github.io/2017/01/convert-graphic-object-to-tree-object-using-treeio/">convert graphic object to tree object using treeio</a></li> |
|
284 |
+<li><a href="https://guangchuangyu.github.io/2015/09/subsetting-data-in-ggtree">subsetting data in |
|
285 |
+ ggtree</a></li> |
|
286 |
+<li><a href="https://guangchuangyu.github.io/2016/01/ggtree-supports-phylip-tree-format">ggtree supports phylip tree |
|
287 |
+ format</a></li> |
|
288 |
+<li><a href="http://guangchuangyu.github.io/2017/01/convert-graphic-object-to-tree-object-using-treeio/">convert graphic object to tree object using |
|
289 |
+ treeio</a></li> |
|
274 | 290 |
</ul> |
275 | 291 |
<h3 id="tree-visualization"><i class="fa fa-angle-double-right"></i> Tree visualization</h3> |
276 | 292 |
<ul> |
277 |
-<li><a href="https://guangchuangyu.github.io/2015/02/ggtree---updating-a-tree-view/">ggtree - updating a tree view</a></li> |
|
278 |
-<li><a href="https://guangchuangyu.github.io/2015/04/an-example-of-drawing-beast-tree-using-ggtree">an example of drawing beast tree using ggtree</a></li> |
|
293 |
+<li><a href="https://guangchuangyu.github.io/2015/02/ggtree---updating-a-tree-view/">ggtree - updating a tree |
|
294 |
+ view</a></li> |
|
295 |
+<li><a href="https://guangchuangyu.github.io/2015/04/an-example-of-drawing-beast-tree-using-ggtree">an example of drawing beast tree using |
|
296 |
+ ggtree</a></li> |
|
297 |
+<li><a href="http://www.molecularecologist.com/2017/02/phylogenetic-trees-in-r-using-ggtree/">Phylogenetic trees in R using |
|
298 |
+ ggtree</a> |
|
299 |
+ <i class="fa fa-arrow-left"></i> The Molecular Ecologist</li> |
|
279 | 300 |
</ul> |
280 | 301 |
<h3 id="tree-annotation"><i class="fa fa-angle-double-right"></i> Tree annotation</h3> |
281 | 302 |
<ul> |
282 |
-<li><a href="https://guangchuangyu.github.io/2016/01/label-edge-number-in-ggtree">label edge number in ggtree</a></li> |
|
283 |
-<li><a href="http://guangchuangyu.github.io/2016/12/edge-coloring-with-user-data/">Edge coloring with user data</a></li> |
|
303 |
+<li><a href="https://guangchuangyu.github.io/2016/01/label-edge-number-in-ggtree">label edge number in |
|
304 |
+ ggtree</a></li> |
|
305 |
+<li><a href="http://guangchuangyu.github.io/2016/12/edge-coloring-with-user-data/">Edge coloring with user |
|
306 |
+ data</a></li> |
|
284 | 307 |
<li><a href="https://guangchuangyu.github.io/2015/08/subview">subview</a></li> |
285 |
-<li><a href="https://guangchuangyu.github.io/2016/01/annotate-a-phylogenetic-tree-with-insets">Annotate a phylogenetic tree with insets</a></li> |
|
286 |
-<li><a href="https://guangchuangyu.github.io/2015/08/ggtree-annotate-phylogenetic-tree-with-local-images">ggtree annotate phylogenetic tree with local images</a></li> |
|
287 |
-<li><a href="https://guangchuangyu.github.io/2016/03/embed-images-in-ggplot2-via-subview-and-annotate-a-phylogenetic-tree-with-images-using-inset-function">embed images in ggplot2 via subview and annotate a phylogenetic tree with images using inset function</a></li> |
|
288 |
-<li><a href="https://guangchuangyu.github.io/2016/06/identify-method-for-ggtree">identify method for ggtree</a></li> |
|
289 |
-<li><a href="https://guangchuangyu.github.io/2016/10/facet_plot-a-general-solution-to-associate-data-with-phylogenetic-tree/">facet_plot: a general solution to associate data with phylogenetic tree</a></li> |
|
290 |
-<li><a href="https://guangchuangyu.github.io/2016/11/align-genomic-features-with-phylogenetic-tree/">align genomic features with phylogenetic tree</a></li> |
|
291 |
-<li><a href="https://guangchuangyu.github.io/2016/10/xlim_tree-set-x-axis-limits-for-only-tree-panel/">xlim_tree: set x axis limits for only Tree panel</a></li> |
|
292 |
-<li><a href="https://guangchuangyu.github.io/2016/12/add-layer-to-specific-panel-of-facet_plot-output/">add layer to specific panel of facet_plot output</a></li> |
|
308 |
+<li><a href="https://guangchuangyu.github.io/2016/01/annotate-a-phylogenetic-tree-with-insets">Annotate a phylogenetic tree with |
|
309 |
+ insets</a></li> |
|
310 |
+<li><a href="https://guangchuangyu.github.io/2015/08/ggtree-annotate-phylogenetic-tree-with-local-images">ggtree annotate phylogenetic tree with local |
|
311 |
+ images</a></li> |
|
312 |
+<li><a href="https://guangchuangyu.github.io/2016/03/embed-images-in-ggplot2-via-subview-and-annotate-a-phylogenetic-tree-with-images-using-inset-function">embed images in ggplot2 via subview and annotate a phylogenetic |
|
313 |
+ tree with images using inset |
|
314 |
+ function</a></li> |
|
315 |
+<li><a href="https://guangchuangyu.github.io/2016/06/identify-method-for-ggtree">identify method for |
|
316 |
+ ggtree</a></li> |
|
317 |
+<li><a href="https://guangchuangyu.github.io/2016/10/facet_plot-a-general-solution-to-associate-data-with-phylogenetic-tree/">facet_plot: a general solution to associate data with phylogenetic |
|
318 |
+ tree</a></li> |
|
319 |
+<li><a href="https://guangchuangyu.github.io/2016/11/align-genomic-features-with-phylogenetic-tree/">align genomic features with phylogenetic |
|
320 |
+ tree</a></li> |
|
321 |
+<li><a href="https://guangchuangyu.github.io/2016/10/xlim_tree-set-x-axis-limits-for-only-tree-panel/">xlim_tree: set x axis limits for only Tree |
|
322 |
+ panel</a></li> |
|
323 |
+<li><a href="https://guangchuangyu.github.io/2016/12/add-layer-to-specific-panel-of-facet_plot-output/">add layer to specific panel of facet_plot |
|
324 |
+ output</a></li> |
|
293 | 325 |
</ul> |
294 | 326 |
<h3 id="tree-manipulation"><i class="fa fa-angle-double-right"></i> Tree manipulation</h3> |
295 | 327 |
<ul> |
296 |
-<li><a href="https://guangchuangyu.github.io/2015/07/flip-and-rotate-branches-in-ggtree">flip and rotate branches in ggtree</a></li> |
|
328 |
+<li><a href="https://guangchuangyu.github.io/2015/07/flip-and-rotate-branches-in-ggtree">flip and rotate branches in |
|
329 |
+ ggtree</a></li> |
|
297 | 330 |
</ul> |
298 | 331 |
<h3 id="application"><i class="fa fa-angle-double-right"></i> Application</h3> |
299 | 332 |
<ul> |
300 |
-<li><a href="https://guangchuangyu.github.io/2016/09/ggtree-for-microbiome-data/">ggtree for microbiome data</a></li> |
|
301 |
-<li><a href="https://guangchuangyu.github.io/2016/09/ggtree-for-outbreak-data/">ggtree for outbreak data</a></li> |
|
302 |
-<li><a href="http://guangchuangyu.github.io/2016/12/ggtree-version-of-plottree/">ggtree version of plotTree</a></li> |
|
303 |
-<li><a href="https://guangchuangyu.github.io/2016/10/reproducible-logo-generated-by-ggtree">reproducible logo generated by ggtree</a></li> |
|
333 |
+<li><a href="https://guangchuangyu.github.io/2016/09/ggtree-for-microbiome-data/">ggtree for microbiome |
|
334 |
+ data</a></li> |
|
335 |
+<li><a href="https://guangchuangyu.github.io/2016/09/ggtree-for-outbreak-data/">ggtree for outbreak |
|
336 |
+ data</a></li> |
|
337 |
+<li><a href="http://guangchuangyu.github.io/2016/12/ggtree-version-of-plottree/">ggtree version of |
|
338 |
+ plotTree</a></li> |
|
339 |
+<li><a href="https://guangchuangyu.github.io/2016/10/reproducible-logo-generated-by-ggtree">reproducible logo generated by |
|
340 |
+ ggtree</a></li> |
|
304 | 341 |
</ul> |
305 | 342 |
<h3 id="funny-stuff"><i class="fa fa-angle-double-right"></i> Funny stuff</h3> |
306 | 343 |
<ul> |
307 |
-<li><a href="https://guangchuangyu.github.io/2015/06/ggtree-with-funny-fonts">ggtree with funny fonts</a></li> |
|
308 |
-<li><a href="https://guangchuangyu.github.io/2015/09/comic-phylogenetic-tree-with-ggtree-and-comicr">comic phylogenetic tree with ggtree and comicR</a></li> |
|
309 |
-<li><a href="https://guangchuangyu.github.io/2015/12/use-emoji-font-in-r">use emoji font in R</a></li> |
|
344 |
+<li><a href="https://guangchuangyu.github.io/2015/06/ggtree-with-funny-fonts">ggtree with funny |
|
345 |
+ fonts</a></li> |
|
346 |
+<li><a href="https://guangchuangyu.github.io/2015/09/comic-phylogenetic-tree-with-ggtree-and-comicr">comic phylogenetic tree with ggtree and |
|
347 |
+ comicR</a></li> |
|
348 |
+<li><a href="https://guangchuangyu.github.io/2015/12/use-emoji-font-in-r">use emoji font in |
|
349 |
+ R</a></li> |
|
310 | 350 |
</ul> |
311 | 351 |
<h3 id="users-feedback"><i class="fa fa-angle-double-right"></i> User's feedback</h3> |
312 | 352 |
<ul> |
313 |
-<li><a href="https://guangchuangyu.github.io/2016/02/tweets-of-ggtree">tweets of ggtree</a></li> |
|
314 |
-<li>Join the group chat on <a href="https://twitter.com/hashtag/ggtree"><i class="fa fa-twitter fa-lg"></i></a> and <a href="http://huati.weibo.com/k/ggtree"><i class="fa fa-weibo fa-lg"></i></a></li> |
|
353 |
+<li><a href="https://guangchuangyu.github.io/2016/02/tweets-of-ggtree">tweets of |
|
354 |
+ ggtree</a></li> |
|
355 |
+<li>Join the group chat on |
|
356 |
+ <a href="https://twitter.com/hashtag/ggtree"><i class="fa fa-twitter fa-lg"></i></a> |
|
357 |
+ and |
|
358 |
+ <a href="http://huati.weibo.com/k/ggtree"><i class="fa fa-weibo fa-lg"></i></a></li> |
|
315 | 359 |
</ul> |
316 |
-<p><i class="fa fa-hand-o-right"></i> Find out more on <a href="https://guangchuangyu.github.io/tags/ggtree/">https://guangchuangyu.github.io/tags/ggtree/</a>.</p> |
|
360 |
+<p><i class="fa fa-hand-o-right"></i> Find out more on |
|
361 |
+<a href="https://guangchuangyu.github.io/tags/ggtree/">https://guangchuangyu.github.io/tags/ggtree/</a>.</p> |
|
317 | 362 |
<h2 id="slides"><i class="fa fa-slideshare"></i> Slides</h2> |
318 | 363 |
<ul> |
319 |
-<li><a href="https://guangchuangyu.github.io/presentation/2014-ggplot2/">Generating publication quality figures using R & ggplot2</a></li> |
|
320 |
-<li><a href="https://guangchuangyu.github.io/presentation/2016-ggtree-chinar/">ggtree for visualization and annotation of phylogenetic trees</a></li> |
|
364 |
+<li><a href="https://guangchuangyu.github.io/presentation/2014-ggplot2/">Generating publication quality figures using R & |
|
365 |
+ ggplot2</a></li> |
|
366 |
+<li><a href="https://guangchuangyu.github.io/presentation/2016-ggtree-chinar/">ggtree for visualization and annotation of phylogenetic |
|
367 |
+ trees</a></li> |
|
321 | 368 |
</ul> |
322 | 369 |
<h2 id="video"><i class="fa fa-youtube-play"></i> Video</h2> |
323 | 370 |
<ul> |
324 |
-<li><a href="https://www.youtube.com/watch?v=KcF8Ec38mzI">interactive clade highlighting</a></li> |
|
325 |
-<li><a href="https://www.youtube.com/watch?v=lKNn4QlPO0E">interactive rotating clades</a></li> |
|
326 |
-<li><a href="https://www.youtube.com/watch?v=SmcceRD_jxg">interactive clade labeling</a></li> |
|
371 |
+<li><a href="https://www.youtube.com/watch?v=KcF8Ec38mzI">interactive clade |
|
372 |
+ highlighting</a></li> |
|
373 |
+<li><a href="https://www.youtube.com/watch?v=lKNn4QlPO0E">interactive rotating |
|
374 |
+ clades</a></li> |
|
375 |
+<li><a href="https://www.youtube.com/watch?v=SmcceRD_jxg">interactive clade |
|
376 |
+ labeling</a></li> |
|
327 | 377 |
</ul> |
328 | 378 |
<h2 id="workflow"><i class="fa fa-gift"></i> Workflow</h2> |
329 | 379 |
<ul> |
330 |
-<li><a href="https://rpubs.com/gutijosh9430/124817">recreate a tree from a publication (<strong>Bloom</strong> <em>et al</em>, <strong><em>Science</em></strong> 2010)</a></li> |
|
380 |
+<li><a href="https://rpubs.com/gutijosh9430/124817">recreate a tree from a publication (<strong>Bloom</strong> <em>et al</em>, |
|
381 |
+ <strong><em>Science</em></strong> 2010)</a></li> |
|
331 | 382 |
</ul></div> |
332 | 383 |
</div> |
333 | 384 |
|
... | ... |
@@ -91,7 +91,7 @@ |
91 | 91 |
|
92 | 92 |
|
93 | 93 |
<li class="dropdown active"> |
94 |
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">My Software <b class="caret"></b></a> |
|
94 |
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Software <b class="caret"></b></a> |
|
95 | 95 |
<ul class="dropdown-menu"> |
96 | 96 |
|
97 | 97 |
|
... | ... |
@@ -91,7 +91,7 @@ |
91 | 91 |
|
92 | 92 |
|
93 | 93 |
<li class="dropdown"> |
94 |
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">My Software <b class="caret"></b></a> |
|
94 |
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Software <b class="caret"></b></a> |
|
95 | 95 |
<ul class="dropdown-menu"> |
96 | 96 |
|
97 | 97 |
|
... | ... |
@@ -227,15 +227,14 @@ |
227 | 227 |
<!-- AddToAny BEGIN --> |
228 | 228 |
|
229 | 229 |
<div class="a2a_kit a2a_kit_size_32 a2a_default_style"> |
230 |
+ |
|
230 | 231 |
<a class="a2a_dd" href="//www.addtoany.com/share"></a> |
231 |
-<a class="a2a_button_facebook"></a> |
|
232 |
-<a class="a2a_button_twitter"></a> |
|
232 |
+<a class="a2a_button_facebook"></a> <a class="a2a_button_twitter"></a> |
|
233 | 233 |
<a class="a2a_button_google_plus"></a> |
234 |
-<a class="a2a_button_pinterest"></a> |
|
235 |
-<a class="a2a_button_reddit"></a> |
|
236 |
-<a class="a2a_button_sina_weibo"></a> |
|
237 |
-<a class="a2a_button_wechat"></a> |
|
234 |
+<a class="a2a_button_pinterest"></a> <a class="a2a_button_reddit"></a> |
|
235 |
+<a class="a2a_button_sina_weibo"></a> <a class="a2a_button_wechat"></a> |
|
238 | 236 |
<a class="a2a_button_douban"></a> |
237 |
+ |
|
239 | 238 |
</div> |
240 | 239 |
|
241 | 240 |
<script async src="//static.addtoany.com/menu/page.js"></script> |
... | ... |
@@ -245,11 +244,25 @@ |
245 | 244 |
<p><link rel="stylesheet" href="https://guangchuangyu.github.io/css/font-awesome.min.css"></p> |
246 | 245 |
<h1 id="installation"><i class="fa fa-download"></i> Installation</h1> |
247 | 246 |
<h2 id="could-not-find-function"><i class="fa fa-angle-double-right"></i> Could not find function</h2> |
248 |
-<p>If you got <a href="https://github.com/GuangchuangYu/ggtree/issues/12">this error</a>, please make sure you are using the latest R and <code>ggtree</code>.</p> |
|
249 |
-<p>Packages in Bioconductor, like <code>ggtree</code>, have different release policy compare to CRAN. There are two branches, release and devel, in parallel. Release branch is more stable and only document improvement and bug fixes will commit to it. New functions will only commit to <code>devel</code> branch.</p> |
|
250 |
-<p>Sometimes I may write blog post to introduce new functions which is not available in <code>release</code> branch, you need to install the <code>devel</code> version of <code>ggtree</code> in order to use these new functions.</p> |
|
251 |
-<p>You can download the <code>devel</code> version of <code>ggtree</code> from <a href="http://bioconductor.org/packages/devel/bioc/html/ggtree.html">http://bioconductor.org/packages/devel/bioc/html/ggtree.html</a> and install it, or install the github version of <code>ggtree</code>.</p> |
|
252 |
-<p>This also applied to other of my packages, including <code>GOSemSim</code>, <code>DOSE</code>, <code>clusterProfiler</code>, <code>ReactomePA</code> and <code>ChIPseeker</code>. If you got the <code>could not find function</code> error, upgrade your installation to latest release. If the error still exists after upgrading to latest release, you need to install the devel version.</p> |
|
247 |
+<p>If you got <a href="https://github.com/GuangchuangYu/ggtree/issues/12">this |
|
248 |
+error</a>, please make |
|
249 |
+sure you are using the latest R and <code>ggtree</code>.</p> |
|
250 |
+<p>Packages in Bioconductor, like <code>ggtree</code>, have different release policy |
|
251 |
+compare to CRAN. There are two branches, release and devel, in parallel. |
|
252 |
+Release branch is more stable and only document improvement and bug |
|
253 |
+fixes will commit to it. New functions will only commit to <code>devel</code> |
|
254 |
+branch.</p> |
|
255 |
+<p>Sometimes I may write blog post to introduce new functions which is not |
|
256 |
+available in <code>release</code> branch, you need to install the <code>devel</code> version |
|
257 |
+of <code>ggtree</code> in order to use these new functions.</p> |
|
258 |
+<p>You can download the <code>devel</code> version of <code>ggtree</code> from |
|
259 |
+<a href="http://bioconductor.org/packages/devel/bioc/html/ggtree.html">http://bioconductor.org/packages/devel/bioc/html/ggtree.html</a> and |
|
260 |
+install it, or install the github version of <code>ggtree</code>.</p> |
|
261 |
+<p>This also applied to other of my packages, including <code>GOSemSim</code>, <code>DOSE</code>, |
|
262 |
+<code>clusterProfiler</code>, <code>ReactomePA</code> and <code>ChIPseeker</code>. If you got the |
|
263 |
+<code>could not find function</code> error, upgrade your installation to latest |
|
264 |
+release. If the error still exists after upgrading to latest release, |
|
265 |
+you need to install the devel version.</p> |
|
253 | 266 |
<h1 id="text-label"><i class="fa fa-text-height"></i> Text & Label</h1> |
254 | 267 |
<h2 id="tip-label-truncated"><i class="fa fa-angle-double-right"></i> Tip label truncated</h2> |
255 | 268 |
<p>ggplot2 can't auto adjust xlim based on added text.</p> |
... | ... |
@@ -259,33 +272,37 @@ tree<-read.tree(text="(Organism1.006G249400.1:0.03977,(Organism2.022118m |
259 | 272 |
ggtree(tree) + geom_tiplab() |
260 | 273 |
</code></pre> |
261 | 274 |
|
262 |
-<p>This is because the units are in two different spaces (data and pixel). Users can use xlim to allocate more space for tip label.</p> |
|
275 |
+<p>This is because the units are in two different spaces (data and pixel). |
|
276 |
+Users can use xlim to allocate more space for tip label.</p> |
|
263 | 277 |
<pre><code class="r">ggtree(tree) + geom_tiplab() + xlim(0, 0.06) |
264 | 278 |
</code></pre> |
265 | 279 |
|
266 | 280 |
<h2 id="modify-tip-labels"><i class="fa fa-angle-double-right"></i> Modify (tip) labels</h2> |
267 |
-<p>This could be easily done via the <code>%<+%</code> operator to attach the |
|
268 |
-modified version of the labels and than use <code>geom_tiplab</code> to display |
|
269 |
-the modified version.</p> |
|
270 |
-<pre><code>raxml_file <- system.file("extdata/RAxML", "RAxML_bipartitionsBranchLabels.H3", package="ggtree") |
|
281 |
+<p>This could be easily done via the <code>%<+%</code> operator to attach the modified |
|
282 |
+version of the labels and than use <code>geom_tiplab</code> to display the modified |
|
283 |
+version.</p> |
|
284 |
+<pre><code>raxml_file <- system.file("extdata/RAxML", "RAxML_bipartitionsBranchLabels.H3", package="ggtree") |
|
271 | 285 |
raxml <- read.raxml(raxml_file) |
272 | 286 |
|
273 | 287 |
lb = get.tree(raxml)$tip.label |
274 |
-d = data.frame(label=lb, label2 = paste("AA", substring(lb, 1, 5))) |
|
288 |
+d = data.frame(label=lb, label2 = paste("AA", substring(lb, 1, 5))) |
|
275 | 289 |
ggtree(raxml) %<+% d + geom_tiplab(aes(label=label2)) |
276 | 290 |
</code></pre> |
277 |
- |
|
278 | 291 |
<p>see also |
279 | 292 |
<a href="https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/bioc-ggtree/tFdFgCJ7gQA/tZ6phSgUDQAJ">1</a> |
280 | 293 |
and <a href="https://github.com/GuangchuangYu/ggtree/issues/106">2</a>.</p> |
281 | 294 |
<h2 id="formatting-tip-labels"><i class="fa fa-angle-double-right"></i> Formatting (tip) labels</h2> |
282 |
-<p>If you want to format labels, you need to set <code>parse=TRUE</code> in <code>geom_text</code>/<code>geom_tiplab</code> and the <code>label</code> should be string that can be parsed into expression and displayed as described in <code>?plotmath</code>.</p> |
|
283 |
-<p>For example, the tiplabels contains two parts, species name and accession number and we want to display species name in <em>italic</em>, we can use command like this:</p> |
|
284 |
-<pre><code>ggtree(rtree(30)) + geom_tiplab(aes(subset=node==35), label='paste(italic("species name"), "accession number")', parse=T) |
|
295 |
+<p>If you want to format labels, you need to set <code>parse=TRUE</code> in |
|
296 |
+<code>geom_text</code>/<code>geom_tiplab</code> and the <code>label</code> should be string that can be |
|
297 |
+parsed into expression and displayed as described in <code>?plotmath</code>.</p> |
|
298 |
+<p>For example, the tiplabels contains two parts, species name and |
|
299 |
+accession number and we want to display species name in <em>italic</em>, we can |
|
300 |
+use command like this:</p> |
|
301 |
+<pre><code>ggtree(rtree(30)) + geom_tiplab(aes(subset=node==35), label='paste(italic("species name"), "accession number")', parse=T) |
|
285 | 302 |
</code></pre> |
286 |
- |
|
287 | 303 |
<h2 id="avoid-overlapping-text-labels"><i class="fa fa-angle-double-right"></i> Avoid overlapping text labels</h2> |
288 |
-<p>User can use <a href="https://cran.r-project.org/web/packages/ggrepel/">ggrepel</a> package to repel overlapping text labels.</p> |
|
304 |
+<p>User can use <a href="https://cran.r-project.org/web/packages/ggrepel/">ggrepel</a> |
|
305 |
+package to repel overlapping text labels.</p> |
|
289 | 306 |
<p>For example:</p> |
290 | 307 |
<pre><code class="r">library(ggrepel) |
291 | 308 |
library(ggtree) |
... | ... |
@@ -294,16 +311,28 @@ raxml <- read.raxml(raxml_file) |
294 | 311 |
ggtree(raxml) + geom_label_repel(aes(label=bootstrap, fill=bootstrap)) |
295 | 312 |
</code></pre> |
296 | 313 |
|
297 |
-<p>For details, please refer to <a href="https://cran.r-project.org/web/packages/ggrepel/vignettes/ggrepel.html">ggrepel usage examples</a>.</p> |
|
314 |
+<p>For details, please refer to <a href="https://cran.r-project.org/web/packages/ggrepel/vignettes/ggrepel.html">ggrepel usage |
|
315 |
+examples</a>.</p> |
|
298 | 316 |
<h2 id="bootstrap-values-from-newick-format"><i class="fa fa-angle-double-right"></i> bootstrap values from newick format</h2> |
299 |
-<p>It's quite command to store <code>bootstrap</code> value as node label in <code>newick</code> format. Visualizing node label is easy using <code>geom_text2(aes(subset = !isTip, label=label))</code>.</p> |
|
300 |
-<p>If you want to only display a subset of <code>bootstrap</code> (e.g. bootstrap > 80), you can't simply using <code>geom_text2(subset= (label > 80), label=label)</code> since <code>label</code> is a character vector, which contains node label (bootstrap value) and tip label (taxa name). If we use <code>geom_text2(subset=(as.numeric(label) > 80), label=label)</code>, it will also fail since <code>NAs</code> were introduced by coercion. We need to convert <code>NAs</code> to logical <code>FALSE</code>, this can be done by the following code:</p> |
|
317 |
+<p>It's quite command to store <code>bootstrap</code> value as node label in <code>newick</code> |
|
318 |
+format. Visualizing node label is easy using |
|
319 |
+<code>geom_text2(aes(subset = !isTip, label=label))</code>.</p> |
|
320 |
+<p>If you want to only display a subset of <code>bootstrap</code> (e.g. bootstrap > |
|
321 |
+80), you can't simply using |
|
322 |
+<code>geom_text2(subset= (label > 80), label=label)</code> since <code>label</code> is a |
|
323 |
+character vector, which contains node label (bootstrap value) and tip |
|
324 |
+label (taxa name). If we use |
|
325 |
+<code>geom_text2(subset=(as.numeric(label) > 80), label=label)</code>, it will also |
|
326 |
+fail since <code>NAs</code> were introduced by coercion. We need to convert <code>NAs</code> |
|
327 |
+to logical <code>FALSE</code>, this can be done by the following code:</p> |
|
301 | 328 |
<pre><code class="r">nwk <- system.file("extdata/RAxML","RAxML_bipartitions.H3", package='ggtree') |
302 | 329 |
tr <- read.tree(nwk) |
303 | 330 |
ggtree(tr) + geom_text2(aes(label=label, subset = !is.na(as.numeric(label)) & as.numeric(label) > 80)) |
304 | 331 |
</code></pre> |
305 | 332 |
|
306 |
-<p>Another solution is converting the bootstrap value outside <code>ggtree</code> as I recommended in <a href="https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/bioc-ggtree/hiRBjGaAfI0/Y-2zDpvtAwAJ">google group</a>.</p> |
|
333 |
+<p>Another solution is converting the bootstrap value outside <code>ggtree</code> as I |
|
334 |
+recommended in <a href="https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/bioc-ggtree/hiRBjGaAfI0/Y-2zDpvtAwAJ">google |
|
335 |
+group</a>.</p> |
|
307 | 336 |
<pre><code class="r">q <- ggtree(tr) |
308 | 337 |
d <- q$data |
309 | 338 |
d <- d[!d$isTip,] |
... | ... |
@@ -318,30 +347,40 @@ q + geom_text(data=d, aes(label=label)) |
318 | 347 |
<pre><code class="r">ggtree(rtree(30)) + geom_point() |
319 | 348 |
</code></pre> |
320 | 349 |
|
321 |
-<p>For example, we can add symbolic points to nodes with <code>geom_point()</code> directly. |
|
322 |
-The magic here is we don't need to map <code>x</code> and <code>y</code> position of the points by providing <code>aes(x, y)</code> to <code>geom_point()</code> since it was already mapped by <code>ggtree</code> function and it serves as a global mapping for all layers.</p> |
|
323 |
-<p>But what if we provide a <code>dataset</code> in a layer and the <code>dataset</code> doesn't contain column of <code>x</code> and/or <code>y</code>, |
|
324 |
-the layer function also try to map <code>x</code> and <code>y</code> and also others if you map them in <code>ggtree</code> function. |
|
325 |
-As these variable is not available in your <code>dataset</code>, you will get the following error:</p> |
|
350 |
+<p>For example, we can add symbolic points to nodes with <code>geom_point()</code> |
|
351 |
+directly. The magic here is we don't need to map <code>x</code> and <code>y</code> position of |
|
352 |
+the points by providing <code>aes(x, y)</code> to <code>geom_point()</code> since it was |
|
353 |
+already mapped by <code>ggtree</code> function and it serves as a global mapping |
|
354 |
+for all layers.</p> |
|
355 |
+<p>But what if we provide a <code>dataset</code> in a layer and the <code>dataset</code> doesn't |
|
356 |
+contain column of <code>x</code> and/or <code>y</code>, the layer function also try to map <code>x</code> |
|
357 |
+and <code>y</code> and also others if you map them in <code>ggtree</code> function. As these |
|
358 |
+variable is not available in your <code>dataset</code>, you will get the following |
|
359 |
+error:</p> |
|
326 | 360 |
<pre><code>Error in eval(expr, envir, enclos) : object 'x' not found |
327 | 361 |
</code></pre> |
328 |
- |
|
329 |
-<p>This can be fixed by using parameter <code>inherit.aes=FALSE</code> which will disable inheriting mapping from <code>ggtree</code> function.</p> |
|
362 |
+<p>This can be fixed by using parameter <code>inherit.aes=FALSE</code> which will |
|
363 |
+disable inheriting mapping from <code>ggtree</code> function.</p> |
|
330 | 364 |
<h2 id="use-in-aes"><i class="fa fa-angle-double-right"></i> use <code>$</code> in aes</h2> |
331 | 365 |
<p>NEVER DO THIS.</p> |
332 |
-<p>see the explaination in the <a href="https://github.com/hadley/ggplot2-book/blob/master/layers.rmd#aesthetic-mappings-secaes">ggplot2 book 2ed</a>:</p> |
|
366 |
+<p>see the explaination in the <a href="https://github.com/hadley/ggplot2-book/blob/master/layers.rmd#aesthetic-mappings-secaes">ggplot2 book |
|
367 |
+2ed</a>:</p> |
|
333 | 368 |
<blockquote> |
334 |
-<p>Never refer to a variable with <code>$</code> (e.g., <code>diamonds$carat</code>) in <code>aes()</code>. This breaks containment, so that the plot no longer contains everything it needs, and causes problems if ggplot2 changes the order of the rows, as it does when facetting.</p> |
|
369 |
+<p>Never refer to a variable with <code>$</code> (e.g., <code>diamonds$carat</code>) in |
|
370 |
+<code>aes()</code>. This breaks containment, so that the plot no longer contains |
|
371 |
+everything it needs, and causes problems if ggplot2 changes the order |
|
372 |
+of the rows, as it does when facetting.</p> |
|
335 | 373 |
</blockquote> |
336 | 374 |
<p>see also |
337 | 375 |
<a href="https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/bioc-ggtree/hViM6vRZF94/MsZT8qRgBwAJ">1</a> |
338 | 376 |
and <a href="https://github.com/GuangchuangYu/ggtree/issues/106">2</a>.</p> |
339 | 377 |
<h1 id="annotation"><i class="fa fa-tree"></i> Annotation</h1> |
340 | 378 |
<h2 id="colouring-edges-by-user-data"><i class="fa fa-angle-double-right"></i> colouring edges by user data</h2> |
341 |
-<p>see my blog post: |
|
342 |
-<a href="http://guangchuangyu.github.io/2016/12/edge-coloring-with-user-data/">Edge coloring with user data</a> |
|
343 |
-and also my answer on <a href="https://github.com/GuangchuangYu/ggtree/issues/76">https://github.com/GuangchuangYu/ggtree/issues/76</a> |
|
344 |
-and <a href="https://groups.google.com/forum/#!topic/bioc-ggtree/4GgivKqVjB8">https://groups.google.com/forum/#!topic/bioc-ggtree/4GgivKqVjB8</a>.</p></div> |
|
379 |
+<p>see my blog post: <a href="http://guangchuangyu.github.io/2016/12/edge-coloring-with-user-data/">Edge coloring with user |
|
380 |
+data</a> |
|
381 |
+and also my answer on |
|
382 |
+<a href="https://github.com/GuangchuangYu/ggtree/issues/76">https://github.com/GuangchuangYu/ggtree/issues/76</a> and |
|
383 |
+<a href="https://groups.google.com/forum/#!topic/bioc-ggtree/4GgivKqVjB8">https://groups.google.com/forum/#!topic/bioc-ggtree/4GgivKqVjB8</a>.</p></div> |
|
345 | 384 |
</div> |
346 | 385 |
|
347 | 386 |
<footer class="col-md-12"> |
... | ... |
@@ -91,7 +91,7 @@ |
91 | 91 |
|
92 | 92 |
|
93 | 93 |
<li class="dropdown"> |
94 |
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">My Software <b class="caret"></b></a> |
|
94 |
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Software <b class="caret"></b></a> |
|
95 | 95 |
<ul class="dropdown-menu"> |
96 | 96 |
|
97 | 97 |
|
... | ... |
@@ -203,15 +203,14 @@ |
203 | 203 |
<!-- AddToAny BEGIN --> |
204 | 204 |
|
205 | 205 |
<div class="a2a_kit a2a_kit_size_32 a2a_default_style"> |
206 |
+ |
|
206 | 207 |
<a class="a2a_dd" href="//www.addtoany.com/share"></a> |
207 |
-<a class="a2a_button_facebook"></a> |
|
208 |
-<a class="a2a_button_twitter"></a> |
|
208 |
+<a class="a2a_button_facebook"></a> <a class="a2a_button_twitter"></a> |
|
209 | 209 |
<a class="a2a_button_google_plus"></a> |
210 |
-<a class="a2a_button_pinterest"></a> |
|
211 |
-<a class="a2a_button_reddit"></a> |
|
212 |
-<a class="a2a_button_sina_weibo"></a> |
|
213 |
-<a class="a2a_button_wechat"></a> |
|
210 |
+<a class="a2a_button_pinterest"></a> <a class="a2a_button_reddit"></a> |
|
211 |
+<a class="a2a_button_sina_weibo"></a> <a class="a2a_button_wechat"></a> |
|
214 | 212 |
<a class="a2a_button_douban"></a> |
213 |
+ |
|
215 | 214 |
</div> |
216 | 215 |
|
217 | 216 |
<script async src="//static.addtoany.com/menu/page.js"></script> |
... | ... |
@@ -219,12 +218,13 @@ |
219 | 218 |
<!-- AddToAny END --> |
220 | 219 |
|
221 | 220 |
<p><link rel="stylesheet" href="https://guangchuangyu.github.io/css/font-awesome.min.css"></p> |
222 |
-<p><a href="https://github.com/GuangchuangYu/featured_img">Let us know</a> if you have published using <code>ggtree</code> and your publication will be featured here.</p> |
|
223 |
-<p><a href="https://scholar.google.com.hk/scholar?oi=bibs&hl=en&cites=7268358477862164627"><img alt="citation" src="https://img.shields.io/badge/cited%20by-8-blue.svg?style=flat" /></a></p> |
|
224 |
-<p><link rel='stylesheet' href=https://guangchuangyu.github.io/resume/css/morris.css> |
|
221 |
+<p><a href="https://github.com/GuangchuangYu/featured_img">Let us know</a> if you have |
|
222 |
+published using <code>ggtree</code> and your publication will be featured here.</p> |
|
223 |
+<p><a href="https://scholar.google.com.hk/scholar?oi=bibs&hl=en&cites=7268358477862164627"><img alt="citation" src="https://img.shields.io/badge/cited%20by-11-blue.svg?style=flat" /></a> |
|
224 |
+<link rel='stylesheet' href=https://guangchuangyu.github.io/resume/css/morris.css> |
|
225 | 225 |
<script src='https://guangchuangyu.github.io/resume/css/jquery.min.js' type='text/javascript'></script> |
226 | 226 |
<script src='https://guangchuangyu.github.io/resume/css/raphael-min.js' type='text/javascript'></script> |
227 |
-<script src='https://guangchuangyu.github.io/resume/css/morris-0.4.2.min.js' type='text/javascript'></script></p> |
|
227 |
+<script src='https://guangchuangyu.github.io/resume/css/morris-0.4.2.min.js' type='text/javascript'></script> |
|
228 | 228 |
<style> |
229 | 229 |
.rChart { |
230 | 230 |
display: block; |
... | ... |
@@ -232,14 +232,14 @@ |
232 | 232 |
margin-right: auto; |
233 | 233 |
width: 800px; |
234 | 234 |
height: 300px; |
235 |
- } |
|
235 |
+ }<br /> |
|
236 | 236 |
</style> |
237 |
- |
|
238 |
-<div id = 'chart2cd8679dee98' class = 'rChart morris'></div> |
|
237 |
+<div id="chart8461435aeb07" class="rChart morris"></p> |
|
238 |
+</div> |
|
239 | 239 |
|
240 | 240 |
<script type='text/javascript'> |
241 | 241 |
var chartParams = { |
242 |
- "element": "chart2cd8679dee98", |
|
242 |
+ "element": "chart8461435aeb07", |
|
243 | 243 |
"width": 800, |
244 | 244 |
"height": 400, |
245 | 245 |
"xkey": "year", |
... | ... |
@@ -254,22 +254,34 @@ |
254 | 254 |
}, |
255 | 255 |
{ |
256 | 256 |
"year": 2017, |
257 |
-"cites": 7, |
|
257 |
+"cites": 10, |
|
258 | 258 |
"pubid": "HtEfBTGE9r8C" |
259 | 259 |
} |
260 | 260 |
], |
261 |
-"id": "chart2cd8679dee98", |
|
261 |
+"id": "chart8461435aeb07", |
|
262 | 262 |
"labels": "cites" |
263 | 263 |
}, |
264 | 264 |
chartType = "Bar" |
265 | 265 |
new Morris[chartType](chartParams) |
266 | 266 |
</script> |
267 | 267 |
|
268 |
+<!-- citation:=HtEfBTGE9r8C:=7268358477862164627 --> |
|
269 |
+ |
|
270 |
+<!-- article_citation:=HtEfBTGE9r8C --> |
|
271 |
+ |
|
268 | 272 |
<h2 id="2017"><i class="fa fa-calendar"></i> 2017</h2> |
269 |
-<p><a href="http://dx.doi.org/10.1073/pnas.1617959114">Phylogenetic analysis of the human antibody repertoire reveals quantitative signatures of immune senescence and aging</a>. <strong><em>PNAS</em></strong>, 2017</p> |
|
270 |
-<p><a href="https://microbiomejournal.biomedcentral.com/articles/10.1186/s40168-017-0232-3">Gut metagenomes of type 2 diabetic patients have characteristic single-nucleotide polymorphism distribution in <em>Bacteroides coprocola</em></a>. <strong><em>Microbiome</em></strong>, 2017, 5:15</p> |
|
273 |
+<p><a href="http://dx.doi.org/10.1073/pnas.1617959114">Phylogenetic analysis of the human antibody repertoire reveals |
|
274 |
+quantitative signatures of immune senescence and |
|
275 |
+aging</a>. <strong><em>PNAS</em></strong>, 2017</p> |
|
276 |
+<p><a href="https://microbiomejournal.biomedcentral.com/articles/10.1186/s40168-017-0232-3">Gut metagenomes of type 2 diabetic patients have characteristic |
|
277 |
+single-nucleotide polymorphism distribution in <em>Bacteroides |
|
278 |
+coprocola</em></a>. |
|
279 |
+<strong><em>Microbiome</em></strong>, 2017, 5:15</p> |
|
271 | 280 |
<h2 id="2016"><i class="fa fa-calendar"></i> 2016</h2> |
272 |
-<p><a href="http://aem.asm.org/content/82/22/6788.short">Function and Phylogeny of Bacterial Butyryl Coenzyme A:Acetate Transferases and Their Diversity in the Proximal Colon of Swine</a>. <strong><em>Applied and Environmental Microbiology</em></strong>. 2016,82(22):6788-6798. </p></div> |
|
281 |
+<p><a href="http://aem.asm.org/content/82/22/6788.short">Function and Phylogeny of Bacterial Butyryl Coenzyme A:Acetate |
|
282 |
+Transferases and Their Diversity in the Proximal Colon of |
|
283 |
+Swine</a>. <strong><em>Applied and |
|
284 |
+Environmental Microbiology</em></strong>. 2016,82(22):6788-6798.</p></div> |
|
273 | 285 |
</div> |
274 | 286 |
|
275 | 287 |
<footer class="col-md-12"> |
... | ... |
@@ -91,7 +91,7 @@ |
91 | 91 |
|
92 | 92 |
|
93 | 93 |
<li class="dropdown"> |
94 |
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">My Software <b class="caret"></b></a> |
|
94 |
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Software <b class="caret"></b></a> |
|
95 | 95 |
<ul class="dropdown-menu"> |
96 | 96 |
|
97 | 97 |
|
... | ... |
@@ -203,15 +203,14 @@ |
203 | 203 |
<!-- AddToAny BEGIN --> |
204 | 204 |
|
205 | 205 |
<div class="a2a_kit a2a_kit_size_32 a2a_default_style"> |
206 |
+ |
|
206 | 207 |
<a class="a2a_dd" href="//www.addtoany.com/share"></a> |
207 |
-<a class="a2a_button_facebook"></a> |
|
208 |
-<a class="a2a_button_twitter"></a> |
|
208 |
+<a class="a2a_button_facebook"></a> <a class="a2a_button_twitter"></a> |
|
209 | 209 |
<a class="a2a_button_google_plus"></a> |
210 |
-<a class="a2a_button_pinterest"></a> |
|
211 |
-<a class="a2a_button_reddit"></a> |
|
212 |
-<a class="a2a_button_sina_weibo"></a> |
|
213 |
-<a class="a2a_button_wechat"></a> |
|
210 |
+<a class="a2a_button_pinterest"></a> <a class="a2a_button_reddit"></a> |
|
211 |
+<a class="a2a_button_sina_weibo"></a> <a class="a2a_button_wechat"></a> |
|
214 | 212 |
<a class="a2a_button_douban"></a> |
213 |
+ |
|
215 | 214 |
</div> |
216 | 215 |
|
217 | 216 |
<script async src="//static.addtoany.com/menu/page.js"></script> |
... | ... |
@@ -219,7 +218,9 @@ |
219 | 218 |
<!-- AddToAny END --> |
220 | 219 |
|
221 | 220 |
<p><link rel="stylesheet" href="https://guangchuangyu.github.io/css/font-awesome.min.css"></p> |
222 |
-<p><a href="https://scholar.google.com.hk/scholar?oi=bibs&hl=en&cites=7268358477862164627"><img alt="citation" src="https://img.shields.io/badge/cited%20by-8-blue.svg?style=flat" /></a></p> |
|
221 |
+<p><a href="https://scholar.google.com.hk/scholar?oi=bibs&hl=en&cites=7268358477862164627"><img alt="citation" src="https://img.shields.io/badge/cited%20by-11-blue.svg?style=flat" /></a></p> |
|
222 |
+<!-- citation:=HtEfBTGE9r8C:=7268358477862164627 --> |
|
223 |
+ |
|
223 | 224 |
<h2 id="journal-articles"><i class="fa fa-mortar-board"></i> Journal Articles</h2> |
224 | 225 |
<ul> |
225 | 226 |
<li><a href="http://dx.doi.org/10.1186/s40168-017-0232-3">http://dx.doi.org/10.1186/s40168-017-0232-3</a></li> |
... | ... |
@@ -246,21 +247,114 @@ |
246 | 247 |
</ul> |
247 | 248 |
<p><img alt="" src="https://guangchuangyu.github.io/featured_img/ggtree/2015_peiyu_1-s2.0-S1567134815300721-gr1.jpg" /></p> |
248 | 249 |
<h2 id="tweets"><i class="fa fa-twitter"></i> Tweets</h2> |
249 |
-<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">Adaptive radiation of <a href="https://twitter.com/hashtag/Darwin?src=hash">#Darwin</a>'s finches showing <a href="https://twitter.com/hashtag/genotypic?src=hash">#genotypic</a> and <a href="https://twitter.com/hashtag/morphometric?src=hash">#morphometric</a> evolution. Good excuse to practice with <a href="https://twitter.com/hashtag/ggtree?src=hash">#ggtree</a> <a href="https://twitter.com/guangchuangyu">@guangchuangyu</a> <a href="https://t.co/JJZ3Yje58s">pic.twitter.com/JJZ3Yje58s</a></p>— Will Harvey (@_wharvey) <a href="https://twitter.com/_wharvey/status/831952966701678592">February 15, 2017</a></blockquote> |
|
250 |
- |
|
251 |
-<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">am quite liking <a href="https://twitter.com/hashtag/ggtree?src=hash">#ggtree</a> <a href="https://twitter.com/hashtag/rstats?src=hash">#rstats</a> <a href="https://twitter.com/hashtag/ggplot?src=hash">#ggplot</a> <a href="https://t.co/hvywS2z4ps">pic.twitter.com/hvywS2z4ps</a></p>— Nicholas E Ilott (@IlottNick) <a href="https://twitter.com/IlottNick/status/788751417746059264">October 19, 2016</a></blockquote> |
|
252 |
- |
|
253 |
-<blockquote class="twitter-tweet" data-lang="en"><p lang="es" dir="ltr">Capital G, a reproducible logo produced by <a href="https://twitter.com/hashtag/ggtree?src=hash">#ggtree</a> <a href="https://twitter.com/hashtag/dataviz?src=hash">#dataviz</a> <a href="https://twitter.com/hashtag/rstats?src=hash">#rstats</a> <a href="https://twitter.com/hashtag/ggplot2?src=hash">#ggplot2</a> <a href="https://t.co/lJDcgfxAEh">pic.twitter.com/lJDcgfxAEh</a></p>— Guangchuang Yu (@guangchuangyu) <a href="https://twitter.com/guangchuangyu/status/786429360823644160">October 13, 2016</a></blockquote> |
|
254 |
- |
|
255 |
-<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">associate tree with different type of data by <a href="https://twitter.com/hashtag/ggtree?src=hash">#ggtree</a> <a href="https://t.co/6w755VWytZ">https://t.co/6w755VWytZ</a> <a href="https://t.co/K8WViEi13E">pic.twitter.com/K8WViEi13E</a></p>— Guangchuang Yu (@guangchuangyu) <a href="https://twitter.com/guangchuangyu/status/773359054924095488">September 7, 2016</a></blockquote> |
|
256 |
- |
|
257 |
-<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">how about using emoji to label host species in phylogenetic tree? <a href="https://twitter.com/hashtag/rstats?src=hash">#rstats</a> <a href="https://twitter.com/hashtag/visualization?src=hash">#visualization</a> <a href="https://twitter.com/hashtag/ggtree?src=hash">#ggtree</a> <a href="https://twitter.com/hashtag/emojifont?src=hash">#emojifont</a> <a href="https://t.co/MRKQvNNAUh">pic.twitter.com/MRKQvNNAUh</a></p>— Guangchuang Yu (@guangchuangyu) <a href="https://twitter.com/guangchuangyu/status/708160510441566211">March 11, 2016</a></blockquote> |
|
258 |
- |
|
259 |
-<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr"><a href="https://twitter.com/hashtag/phylomoji?src=hash">#phylomoji</a> with <a href="https://twitter.com/hashtag/ggtree?src=hash">#ggtree</a> <a href="https://t.co/yMUtm1jYF9">pic.twitter.com/yMUtm1jYF9</a></p>— Guangchuang Yu (@guangchuangyu) <a href="https://twitter.com/guangchuangyu/status/667337429704011777">November 19, 2015</a></blockquote> |
|
260 |
- |
|
261 |
-<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">multiple sequence alignment with <a href="https://twitter.com/hashtag/phylogenetic?src=hash">#phylogenetic</a> tree via <a href="https://twitter.com/hashtag/rstats?src=hash">#rstats</a> pkg <a href="https://twitter.com/hashtag/ggtree?src=hash">#ggtree</a>. <a href="http://t.co/6CY57dLdeb">pic.twitter.com/6CY57dLdeb</a></p>— Guangchuang Yu (@guangchuangyu) <a href="https://twitter.com/guangchuangyu/status/601676060254605312">May 22, 2015</a></blockquote> |
|
262 |
- |
|
263 |
-<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr"><a href="https://twitter.com/hashtag/comictree?src=hash">#comictree</a> via <a href="https://twitter.com/hashtag/ggtree?src=hash">#ggtree</a> and <a href="https://twitter.com/hashtag/comicR?src=hash">#comicR</a> in <a href="https://twitter.com/hashtag/rstats?src=hash">#rstats</a> <a href="http://t.co/zwCuOQ49bq">pic.twitter.com/zwCuOQ49bq</a></p>— Guangchuang Yu (@guangchuangyu) <a href="https://twitter.com/guangchuangyu/status/599078224576942080">May 15, 2015</a></blockquote> |
|
250 |
+<blockquote class="twitter-tweet" data-lang="en"> |
|
251 |
+<p lang="en" dir="ltr"> |
|
252 |
+Adaptive radiation of |
|
253 |
+<a href="https://twitter.com/hashtag/Darwin?src=hash">\#Darwin</a>'s |
|
254 |
+finches showing |
|
255 |
+<a href="https://twitter.com/hashtag/genotypic?src=hash">\#genotypic</a> |
|
256 |
+and |
|
257 |
+<a href="https://twitter.com/hashtag/morphometric?src=hash">\#morphometric</a> |
|
258 |
+evolution. Good excuse to practice with |
|
259 |
+<a href="https://twitter.com/hashtag/ggtree?src=hash">\#ggtree</a> |
|
260 |
+<a href="https://twitter.com/guangchuangyu">@guangchuangyu</a> |
|
261 |
+<a href="https://t.co/JJZ3Yje58s">pic.twitter.com/JJZ3Yje58s</a> |
|
262 |
+</p> |
|
263 |
+— Will Harvey (@_wharvey) |
|
264 |
+<a href="https://twitter.com/_wharvey/status/831952966701678592">February |
|
265 |
+15, 2017</a> |
|
266 |
+</blockquote> |
|
267 |
+ |
|
268 |
+<blockquote class="twitter-tweet" data-lang="en"> |
|
269 |
+<p lang="en" dir="ltr"> |
|
270 |
+am quite liking |
|
271 |
+<a href="https://twitter.com/hashtag/ggtree?src=hash">\#ggtree</a> |
|
272 |
+<a href="https://twitter.com/hashtag/rstats?src=hash">\#rstats</a> |
|
273 |
+<a href="https://twitter.com/hashtag/ggplot?src=hash">\#ggplot</a> |
|
274 |
+<a href="https://t.co/hvywS2z4ps">pic.twitter.com/hvywS2z4ps</a> |
|
275 |
+</p> |
|
276 |
+— Nicholas E Ilott (@IlottNick) |
|
277 |
+<a href="https://twitter.com/IlottNick/status/788751417746059264">October |
|
278 |
+19, 2016</a> |
|
279 |
+</blockquote> |
|
280 |
+ |
|
281 |
+<blockquote class="twitter-tweet" data-lang="en"> |
|
282 |
+<p lang="es" dir="ltr"> |
|
283 |
+Capital G, a reproducible logo produced by |
|
284 |
+<a href="https://twitter.com/hashtag/ggtree?src=hash">\#ggtree</a> |
|
285 |
+<a href="https://twitter.com/hashtag/dataviz?src=hash">\#dataviz</a> |
|
286 |
+<a href="https://twitter.com/hashtag/rstats?src=hash">\#rstats</a> |
|
287 |
+<a href="https://twitter.com/hashtag/ggplot2?src=hash">\#ggplot2</a> |
|
288 |
+<a href="https://t.co/lJDcgfxAEh">pic.twitter.com/lJDcgfxAEh</a> |
|
289 |
+</p> |
|
290 |
+— Guangchuang Yu (@guangchuangyu) |
|
291 |
+<a href="https://twitter.com/guangchuangyu/status/786429360823644160">October |
|
292 |
+13, 2016</a> |
|
293 |
+</blockquote> |
|
294 |
+ |
|
295 |
+<blockquote class="twitter-tweet" data-lang="en"> |
|
296 |
+<p lang="en" dir="ltr"> |
|
297 |
+associate tree with different type of data by |
|
298 |
+<a href="https://twitter.com/hashtag/ggtree?src=hash">\#ggtree</a> |
|
299 |
+<a href="https://t.co/6w755VWytZ">https://t.co/6w755VWytZ</a> |
|
300 |
+<a href="https://t.co/K8WViEi13E">pic.twitter.com/K8WViEi13E</a> |
|
301 |
+</p> |
|
302 |
+— Guangchuang Yu (@guangchuangyu) |
|
303 |
+<a href="https://twitter.com/guangchuangyu/status/773359054924095488">September |
|
304 |
+7, 2016</a> |
|
305 |
+</blockquote> |
|
306 |
+ |
|
307 |
+<blockquote class="twitter-tweet" data-lang="en"> |
|
308 |
+<p lang="en" dir="ltr"> |
|
309 |
+how about using emoji to label host species in phylogenetic tree? |
|
310 |
+<a href="https://twitter.com/hashtag/rstats?src=hash">\#rstats</a> |
|
311 |
+<a href="https://twitter.com/hashtag/visualization?src=hash">\#visualization</a> |
|
312 |
+<a href="https://twitter.com/hashtag/ggtree?src=hash">\#ggtree</a> |
|
313 |
+<a href="https://twitter.com/hashtag/emojifont?src=hash">\#emojifont</a> |
|
314 |
+<a href="https://t.co/MRKQvNNAUh">pic.twitter.com/MRKQvNNAUh</a> |
|
315 |
+</p> |
|
316 |
+— Guangchuang Yu (@guangchuangyu) |
|
317 |
+<a href="https://twitter.com/guangchuangyu/status/708160510441566211">March |
|
318 |
+11, 2016</a> |
|
319 |
+</blockquote> |
|
320 |
+ |
|
321 |
+<blockquote class="twitter-tweet" data-lang="en"> |
|
322 |
+<p lang="en" dir="ltr"> |
|
323 |
+<a href="https://twitter.com/hashtag/phylomoji?src=hash">\#phylomoji</a> |
|
324 |
+with <a href="https://twitter.com/hashtag/ggtree?src=hash">\#ggtree</a> |
|
325 |
+<a href="https://t.co/yMUtm1jYF9">pic.twitter.com/yMUtm1jYF9</a> |
|
326 |
+</p> |
|
327 |
+— Guangchuang Yu (@guangchuangyu) |
|
328 |
+<a href="https://twitter.com/guangchuangyu/status/667337429704011777">November |
|
329 |
+19, 2015</a> |
|
330 |
+</blockquote> |
|
331 |
+ |
|
332 |
+<blockquote class="twitter-tweet" data-lang="en"> |
|
333 |
+<p lang="en" dir="ltr"> |
|
334 |
+multiple sequence alignment with |
|
335 |
+<a href="https://twitter.com/hashtag/phylogenetic?src=hash">\#phylogenetic</a> |
|
336 |
+tree via |
|
337 |
+<a href="https://twitter.com/hashtag/rstats?src=hash">\#rstats</a> pkg |
|
338 |
+<a href="https://twitter.com/hashtag/ggtree?src=hash">\#ggtree</a>. |
|
339 |
+<a href="http://t.co/6CY57dLdeb">pic.twitter.com/6CY57dLdeb</a> |
|
340 |
+</p> |
|
341 |
+— Guangchuang Yu (@guangchuangyu) |
|
342 |
+<a href="https://twitter.com/guangchuangyu/status/601676060254605312">May |
|
343 |
+22, 2015</a> |
|
344 |
+</blockquote> |
|
345 |
+ |
|
346 |
+<blockquote class="twitter-tweet" data-lang="en"> |
|
347 |
+<p lang="en" dir="ltr"> |
|
348 |
+<a href="https://twitter.com/hashtag/comictree?src=hash">\#comictree</a> |
|
349 |
+via <a href="https://twitter.com/hashtag/ggtree?src=hash">\#ggtree</a> |
|
350 |
+and <a href="https://twitter.com/hashtag/comicR?src=hash">\#comicR</a> |
|
351 |
+in <a href="https://twitter.com/hashtag/rstats?src=hash">\#rstats</a> |
|
352 |
+<a href="http://t.co/zwCuOQ49bq">pic.twitter.com/zwCuOQ49bq</a> |
|
353 |
+</p> |
|
354 |
+— Guangchuang Yu (@guangchuangyu) |
|
355 |
+<a href="https://twitter.com/guangchuangyu/status/599078224576942080">May |
|
356 |
+15, 2015</a> |
|
357 |
+</blockquote> |
|
264 | 358 |
|
265 | 359 |
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script></div> |
266 | 360 |
</div> |
... | ... |
@@ -91,7 +91,7 @@ |
91 | 91 |
|
92 | 92 |
|
93 | 93 |
<li class="dropdown active"> |
94 |
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">My Software <b class="caret"></b></a> |
|
94 |
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Software <b class="caret"></b></a> |
|
95 | 95 |
<ul class="dropdown-menu"> |
96 | 96 |
|
97 | 97 |
|
... | ... |
@@ -91,7 +91,7 @@ |
91 | 91 |
|
92 | 92 |
|
93 | 93 |
<li class="dropdown"> |
94 |
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">My Software <b class="caret"></b></a> |
|
94 |
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Software <b class="caret"></b></a> |
|
95 | 95 |
<ul class="dropdown-menu"> |
96 | 96 |
|
97 | 97 |
|
... | ... |
@@ -190,91 +190,96 @@ |
190 | 190 |
<div class="col-md-3"><div class="bs-sidebar hidden-print affix well" role="complementary"> |
191 | 191 |
<ul class="nav bs-sidenav"> |
192 | 192 |
|
193 |
- <li class="main active"><a href="#authors"> Authors</a></li> |
|
193 |
+ <li class="main active"><a href="#ggtree-visualization-and-annotation-of-phylogenetic-trees">ggtree: visualization and annotation of phylogenetic trees</a></li> |
|
194 | 194 |
|
195 |
- |
|
196 |
- <li class="main "><a href="#citation"> Citation</a></li> |
|
197 |
- |
|
198 |
- |
|
199 |
- <li class="main "><a href="#featured-articles"> Featured Articles</a></li> |
|
200 |
- |
|
201 |
- |
|
202 |
- <li class="main "><a href="#installation"> Installation</a></li> |
|
203 |
- |
|
204 |
- |
|
205 |
- <li class="main "><a href="#overview"> Overview</a></li> |
|
195 |
+ <li><a href="#authors"> Authors</a></li> |
|
206 | 196 |
|
207 |
- <li><a href="#getting-tree-into-r"> Getting tree into R</a></li> |
|
197 |
+ <li><a href="#citation"> Citation</a></li> |
|
208 | 198 |
|
209 |
- <li><a href="#tree-visualization-annotation"> Tree visualization & annotation</a></li> |
|
199 |
+ <li><a href="#featured-articles"> Featured Articles</a></li> |
|
210 | 200 |
|
211 |
- <li><a href="#tree-manipulation"> Tree manipulation</a></li> |
|
201 |
+ <li><a href="#installation"> Installation</a></li> |
|
212 | 202 |
|
213 |
- |
|
214 |
- <li class="main "><a href="#projects-that-depend-on-ggtree"> Projects that depend on ggtree</a></li> |
|
215 |
- |
|
216 |
- <li><a href="#cran-packages"> CRAN packages</a></li> |
|
203 |
+ <li><a href="#overview"> Overview</a></li> |
|
217 | 204 |
|
218 |
- <li><a href="#bioconductor-packages"> Bioconductor packages</a></li> |
|
205 |
+ <li><a href="#projects-that-depend-on-ggtree"> Projects that depend on ggtree</a></li> |
|
219 | 206 |
|
220 |
- <li><a href="#other-applications"> Other applications</a></li> |
|
221 |
- |
|
222 |
- |
|
223 |
- <li class="main "><a href="#feedback"> Feedback</a></li> |
|
224 |
-<img src="https://guangchuangyu.github.io/blog_images/biobabble.jpg" align="center" width="200"/> |
|
225 |
-<br>关注Y叔微信公众号biobabble |
|
207 |
+ <li><a href="#feedback"> Feedback</a></li> |
|
226 | 208 |
|
227 | 209 |
|
228 | 210 |
</ul> |
229 | 211 |
</div></div> |
230 | 212 |
<div class="col-md-9" role="main"> |
231 | 213 |
|
214 |
+<h1 id="ggtree-visualization-and-annotation-of-phylogenetic-trees">ggtree: visualization and annotation of phylogenetic trees</h1> |
|
232 | 215 |
<!-- AddToAny BEGIN --> |
233 | 216 |
|
234 | 217 |
<div class="a2a_kit a2a_kit_size_32 a2a_default_style"> |
218 |
+ |
|
235 | 219 |
<a class="a2a_dd" href="//www.addtoany.com/share"></a> |
236 |
-<a class="a2a_button_facebook"></a> |
|
237 |
-<a class="a2a_button_twitter"></a> |
|
220 |
+<a class="a2a_button_facebook"></a> <a class="a2a_button_twitter"></a> |
|
238 | 221 |
<a class="a2a_button_google_plus"></a> |
239 |
-<a class="a2a_button_pinterest"></a> |
|
240 |
-<a class="a2a_button_reddit"></a> |
|
241 |
-<a class="a2a_button_sina_weibo"></a> |
|
242 |
-<a class="a2a_button_wechat"></a> |
|
222 |
+<a class="a2a_button_pinterest"></a> <a class="a2a_button_reddit"></a> |
|
223 |
+<a class="a2a_button_sina_weibo"></a> <a class="a2a_button_wechat"></a> |
|
243 | 224 |
<a class="a2a_button_douban"></a> |
225 |
+ |
|
244 | 226 |
</div> |
245 | 227 |
|
246 | 228 |
<script async src="//static.addtoany.com/menu/page.js"></script> |
247 | 229 |
|
248 | 230 |
<!-- AddToAny END --> |
249 | 231 |
|
250 |
-<p><img src="https://raw.githubusercontent.com/jotsetung/BioC-stickers/master/ggtree/ggtree.png" height="128", align="right" /></p> |
|
251 |
-<p><link rel="stylesheet" href="https://guangchuangyu.github.io/css/font-awesome.min.css"></p> |
|
252 |
-<p><a href="https://bioconductor.org/packages/ggtree"><img alt="releaseVersion" src="https://img.shields.io/badge/release%20version-1.6.10-blue.svg?style=flat" /></a> |
|
253 |
-<a href="https://github.com/GuangchuangYu/ggtree"><img alt="develVersion" src="https://img.shields.io/badge/devel%20version-1.7.9-blue.svg?style=flat" /></a> |
|
254 |
-<a href="https://bioconductor.org/packages/stats/bioc/ggtree"><img alt="total" src="https://img.shields.io/badge/downloads-22881/total-blue.svg?style=flat" /></a> |
|
255 |
-<a href="https://bioconductor.org/packages/stats/bioc/ggtree"><img alt="month" src="https://img.shields.io/badge/downloads-1748/month-blue.svg?style=flat" /></a></p> |
|
256 |
-<p>The <code>ggtree</code> package extending the <em>ggplot2</em> package. It based on grammar of graphics and takes all the good parts of <em>ggplot2</em>. <em>ggtree</em> is designed for not only viewing phylogenetic tree but also displaying annotation data on the tree. |
|
257 |
-<em>ggtree</em> is released within the <a href="https://bioconductor.org/packages/ggtree/">Bioconductor</a> project and the source code is hosted on <a href="https://github.com/GuangchuangYu/ggtree"><i class="fa fa-github fa-lg"></i> GitHub</a>.</p> |
|
232 |
+<p><img src="https://raw.githubusercontent.com/Bioconductor/BiocStickers/master/ggtree/ggtree.png" height="200" align="right" /></p> |
|
233 |
+<p><link rel="stylesheet" href="https://guangchuangyu.github.io/css/font-awesome.min.css"> |
|
234 |
+<link rel="stylesheet" href="https://guangchuangyu.github.io/css/academicons.min.css"></p> |
|
235 |
+<p><a href="https://bioconductor.org/packages/ggtree"><img alt="" src="https://img.shields.io/badge/release%20version-1.6.11-blue.svg?style=flat" /></a> |
|
236 |
+<a href="https://github.com/guangchuangyu/ggtree"><img alt="" src="https://img.shields.io/badge/devel%20version-1.7.10-blue.svg?style=flat" /></a> |
|
237 |
+<a href="https://bioconductor.org/packages/stats/bioc/ggtree"><img alt="" src="https://img.shields.io/badge/download-13085/total-blue.svg?style=flat" /></a> |
|
238 |
+<a href="https://bioconductor.org/packages/stats/bioc/ggtree"><img alt="" src="https://img.shields.io/badge/download-967/month-blue.svg?style=flat" /></a></p> |
|
239 |
+<p>The <code>ggtree</code> package extending the <em>ggplot2</em> package. It based on |
|
240 |
+grammar of graphics and takes all the good parts of <em>ggplot2</em>. <em>ggtree</em> |
|
241 |
+is designed for not only viewing phylogenetic tree but also displaying |
|
242 |
+annotation data on the tree. <em>ggtree</em> is released within the |
|
243 |
+<a href="https://bioconductor.org/packages/ggtree/">Bioconductor</a> project and |
|
244 |
+the source code is hosted on |
|
245 |
+<a href="https://github.com/GuangchuangYu/ggtree"><i class="fa fa-github fa-lg"></i> |
|
246 |
+GitHub</a>.</p> |
|
258 | 247 |
<h2 id="authors"><i class="fa fa-user"></i> Authors</h2> |
259 |
-<p>Guangchuang Yu and Tommy Tsan-Yuk Lam, School of Public Health, The University of Hong Kong.</p> |
|
248 |
+<p>Guangchuang Yu and Tommy Tsan-Yuk Lam, School of Public Health, The |
|
249 |
+University of Hong Kong.</p> |
|
250 |
+<p><a href="https://twitter.com/guangchuangyu"><i class="fa fa-twitter fa-3x"></i></a> |
|
251 |
+<a href="https://guangchuangyu.github.io/blog_images/biobabble.jpg"><i class="fa fa-wechat fa-3x"></i></a> |
|
252 |
+<a href="https://www.ncbi.nlm.nih.gov/pubmed/?term=Guangchuang+Yu[Author+-+Full]"><i class="ai ai-pubmed ai-3x"></i></a> |
|
253 |
+<a href="https://scholar.google.com.hk/citations?user=DO5oG40AAAAJ&hl=en"><i class="ai ai-google-scholar ai-3x"></i></a> |
|
254 |
+<a href="https://orcid.org/0000-0002-6485-8781"><i class="ai ai-orcid ai-3x"></i></a> |
|
255 |
+<a href="https://impactstory.org/u/0000-0002-6485-8781"><i class="ai ai-impactstory ai-3x"></i></a></p> |
|
260 | 256 |
<h2 id="citation"><i class="fa fa-book"></i> Citation</h2> |
261 | 257 |
<p>Please cite the following article when using <code>ggtree</code>:</p> |
262 |
-<p><a href="http://dx.doi.org/10.1111/2041-210X.12628"><img alt="doi" src="https://img.shields.io/badge/doi-10.1111/2041--210X.12628-blue.svg?style=flat" /></a> |
|
263 |
-<a href="https://scholar.google.com.hk/scholar?oi=bibs&hl=en&cites=7268358477862164627"><img alt="citation" src="https://img.shields.io/badge/cited%20by-8-blue.svg?style=flat" /></a> |
|
264 |
-<a href="https://www.altmetric.com/details/10533079"><img alt="Altmetric" src="https://img.shields.io/badge/Altmetric-352-blue.svg?style=flat" /></a></p> |
|
265 |
-<p><strong>G Yu</strong>, DK Smith, H Zhu, Y Guan, TTY Lam<sup>*</sup>. ggtree: an R package for visualization and annotation of phylogenetic trees with their covariates and other associated data. <strong><em>Methods in Ecology and Evolution</em></strong>. 2017, 8(1):28-36.</p> |
|
258 |
+<p><a href="http://dx.doi.org/10.1111/2041-210X.12628"><img alt="" src="https://img.shields.io/badge/doi-10.1111/2041--210X.12628-blue.svg?style=flat" /></a> |
|
259 |
+<a href="https://scholar.google.com.hk/scholar?oi=bibs&hl=en&cites=7268358477862164627"><img alt="citation" src="https://img.shields.io/badge/cited%20by-11-blue.svg?style=flat" /></a> |
|
260 |
+<a href="https://www.altmetric.com/details/10533079"><img alt="" src="https://img.shields.io/badge/Altmetric-348-blue.svg?style=flat" /></a></p> |
|