... | ... |
@@ -2,7 +2,7 @@ Package: ggtree |
2 | 2 |
Type: Package |
3 | 3 |
Title: an R package for visualization and annotation of phylogenetic trees with |
4 | 4 |
their covariates and other associated data |
5 |
-Version: 1.7.10 |
|
5 |
+Version: 1.7.11 |
|
6 | 6 |
Authors@R: c( |
7 | 7 |
person("Guangchuang", "Yu", email = "guangchuangyu@gmail.com", role = c("aut", "cre", "cph")), |
8 | 8 |
person("Tommy Tsan-Yuk", "Lam", email = "tylam.tommy@gmail.com", rol = c("aut", "ths")), |
... | ... |
@@ -1,3 +1,9 @@ |
1 |
+CHANGES IN VERSION 1.7.11 |
|
2 |
+------------------------ |
|
3 |
+ o remove layout.method parameter <2017-04-20, Thu> |
|
4 |
+ + https://github.com/GuangchuangYu/ggtree/issues/118#issuecomment-295130818 |
|
5 |
+ + https://github.com/GuangchuangYu/ggtree/issues/125 |
|
6 |
+ |
|
1 | 7 |
CHANGES IN VERSION 1.7.10 |
2 | 8 |
------------------------ |
3 | 9 |
o add message for subview, inset, phylopic, theme_transparent and theme_inset <2017-03-23, Thu> |
... | ... |
@@ -4,7 +4,7 @@ |
4 | 4 |
##' @title geom_tree |
5 | 5 |
##' @param mapping aesthetic mapping |
6 | 6 |
##' @param data data |
7 |
-##' @param layout one of 'rectangular', 'slanted', 'circular', 'radial' or 'unrooted' |
|
7 |
+##' @param layout one of 'rectangular', 'slanted', 'circular', 'radial', 'equal_angle' or 'daylight' |
|
8 | 8 |
##' @param multiPhylo logical |
9 | 9 |
##' @param ... additional parameter |
10 | 10 |
##' @return tree layer |
... | ... |
@@ -61,7 +61,7 @@ stat_tree <- function(mapping=NULL, data=NULL, geom="segment", position="identit |
61 | 61 |
check.aes = FALSE |
62 | 62 |
) |
63 | 63 |
) |
64 |
- } else if (layout %in% c("slanted", "radial", "unrooted")) { |
|
64 |
+ } else if (layout %in% c("slanted", "radial", "equal_angle", "daylight")) { |
|
65 | 65 |
layer(stat=StatTree, |
66 | 66 |
data=data, |
67 | 67 |
mapping=mapping, |
... | ... |
@@ -4,8 +4,7 @@ |
4 | 4 |
##' @title ggtree |
5 | 5 |
##' @param tr phylo object |
6 | 6 |
##' @param mapping aes mapping |
7 |
-##' @param layout one of 'rectangular', 'slanted', 'fan', 'circular', 'radial' or 'unrooted' |
|
8 |
-##' @param layout.method of 'equal_angle', 'daylight'. |
|
7 |
+##' @param layout one of 'rectangular', 'slanted', 'fan', 'circular', 'radial', 'equal_angle' or 'daylight' |
|
9 | 8 |
##' @param open.angle open angle, only for 'fan' layout |
10 | 9 |
##' @param mrsd most recent sampling date |
11 | 10 |
##' @param as.Date logical whether using Date class in time tree |
... | ... |
@@ -34,7 +33,6 @@ |
34 | 33 |
ggtree <- function(tr, |
35 | 34 |
mapping = NULL, |
36 | 35 |
layout = "rectangular", |
37 |
- layout.method = "equal_angle", |
|
38 | 36 |
open.angle = 0, |
39 | 37 |
mrsd = NULL, |
40 | 38 |
as.Date = FALSE, |
... | ... |
@@ -47,9 +45,12 @@ ggtree <- function(tr, |
47 | 45 |
...) { |
48 | 46 |
|
49 | 47 |
# Check if layout string is valid. |
50 |
- layout %<>% match.arg(c("rectangular", "slanted", "fan", "circular", "radial", "unrooted")) |
|
51 |
- layout.method %<>% match.arg(c("equal_angle", "daylight")) |
|
52 |
- |
|
48 |
+ layout %<>% match.arg(c("rectangular", "slanted", "fan", "circular", "radial", "unrooted", "equal_angle", "daylight")) |
|
49 |
+ if (layout == "unrooted") { |
|
50 |
+ layout <- "daylight" |
|
51 |
+ message('"daylight" method was used as default layout for unrooted tree.') |
|
52 |
+ } |
|
53 |
+ |
|
53 | 54 |
if (is(tr, "r8s") && branch.length == "branch.length") { |
54 | 55 |
branch.length = "TREE" |
55 | 56 |
} |
... | ... |
@@ -64,11 +65,10 @@ ggtree <- function(tr, |
64 | 65 |
} else { |
65 | 66 |
mapping <- modifyList(aes_(~x, ~y), mapping) |
66 | 67 |
} |
67 |
- |
|
68 |
- p <- ggplot(tr, |
|
68 |
+ |
|
69 |
+ p <- ggplot(tr, |
|
69 | 70 |
mapping = mapping, |
70 | 71 |
layout = layout, |
71 |
- layout.method = layout.method, |
|
72 | 72 |
mrsd = mrsd, |
73 | 73 |
as.Date = as.Date, |
74 | 74 |
yscale = yscale, |
... | ... |
@@ -110,7 +110,6 @@ rm.singleton.newick <- function(nwk, outfile = NULL) { |
110 | 110 |
##' @export |
111 | 111 |
fortify.beast <- function(model, data, |
112 | 112 |
layout = "rectangular", |
113 |
- layout.method = "equal_angle", |
|
114 | 113 |
yscale = "none", |
115 | 114 |
ladderize = TRUE, |
116 | 115 |
right = FALSE, |
... | ... |
@@ -120,9 +119,12 @@ fortify.beast <- function(model, data, |
120 | 119 |
|
121 | 120 |
model <- set_branch_length(model, branch.length) |
122 | 121 |
phylo <- model@phylo |
123 |
- df <- fortify(phylo, layout=layout, layout.method=layout.method, |
|
124 |
- branch.length=branch.length, |
|
125 |
- ladderize=ladderize, right=right, mrsd = mrsd, ...) |
|
122 |
+ df <- fortify(phylo, |
|
123 |
+ layout = layout, |
|
124 |
+ branch.length = branch.length, |
|
125 |
+ ladderize = ladderize, |
|
126 |
+ right = right, |
|
127 |
+ mrsd = mrsd, ...) |
|
126 | 128 |
|
127 | 129 |
stats <- model@stats |
128 | 130 |
|
... | ... |
@@ -222,7 +224,6 @@ fortify.beast <- function(model, data, |
222 | 224 |
##' @export |
223 | 225 |
fortify.codeml <- function(model, data, |
224 | 226 |
layout = "rectangular", |
225 |
- layout.method = "equal_angle", |
|
226 | 227 |
yscale = "none", |
227 | 228 |
ladderize = TRUE, |
228 | 229 |
right = FALSE, |
... | ... |
@@ -268,7 +269,6 @@ fortify.codeml <- function(model, data, |
268 | 269 |
##' @export |
269 | 270 |
fortify.codeml_mlc <- function(model, data, |
270 | 271 |
layout = "rectangular", |
271 |
- layout.method = "equal_angle", |
|
272 | 272 |
yscale = "none", |
273 | 273 |
ladderize = TRUE, |
274 | 274 |
right = FALSE, |
... | ... |
@@ -310,7 +310,6 @@ merge_phylo_anno.codeml_mlc <- function(df, dNdS, ndigits = NULL) { |
310 | 310 |
|
311 | 311 |
fortify.codeml_mlc_ <- function(model, data, |
312 | 312 |
layout = "rectangular", |
313 |
- layout.method = "equal_angle", |
|
314 | 313 |
ladderize = TRUE, |
315 | 314 |
right = FALSE, |
316 | 315 |
branch.length = "branch.length", |
... | ... |
@@ -322,12 +321,13 @@ fortify.codeml_mlc_ <- function(model, data, |
322 | 321 |
|
323 | 322 |
##' @method fortify paml_rst |
324 | 323 |
##' @export |
325 |
-fortify.paml_rst <- function(model, data, |
|
326 |
- layout = "rectangular", |
|
327 |
- yscale="none", |
|
328 |
- ladderize=TRUE, |
|
329 |
- right=FALSE, |
|
330 |
- mrsd=NULL, ...) { |
|
324 |
+fortify.paml_rst <- function(model, data, |
|
325 |
+ layout = "rectangular", |
|
326 |
+ yscale = "none", |
|
327 |
+ ladderize = TRUE, |
|
328 |
+ right = FALSE, |
|
329 |
+ mrsd = NULL, |
|
330 |
+ ...) { |
|
331 | 331 |
df <- fortify.phylo(model@phylo, data, layout, ladderize, right, mrsd=mrsd, ...) |
332 | 332 |
df <- merge_phylo_anno.paml_rst(df, model) |
333 | 333 |
df <- scaleY(model@phylo, df, yscale, layout, ...) |
... | ... |
@@ -362,11 +362,12 @@ fortify.hyphy <- fortify.paml_rst |
362 | 362 |
##' @importFrom treeio get.placements |
363 | 363 |
##' @export |
364 | 364 |
fortify.jplace <- function(model, data, |
365 |
- layout="rectangular", |
|
366 |
- yscale="none", |
|
367 |
- ladderize=TRUE, |
|
368 |
- right=FALSE, |
|
369 |
- mrsd=NULL, ...) { |
|
365 |
+ layout = "rectangular", |
|
366 |
+ yscale = "none", |
|
367 |
+ ladderize = TRUE, |
|
368 |
+ right = FALSE, |
|
369 |
+ mrsd = NULL, |
|
370 |
+ ...) { |
|
370 | 371 |
df <- extract.treeinfo.jplace(model, layout, ladderize, right, mrsd=mrsd, ...) |
371 | 372 |
place <- get.placements(model, by="best") |
372 | 373 |
|
... | ... |
@@ -405,8 +406,13 @@ scaleY <- function(phylo, df, yscale, layout, ...) { |
405 | 406 |
##' @method fortify phylo4 |
406 | 407 |
##' @importFrom treeio as.phylo |
407 | 408 |
##' @export |
408 |
-fortify.phylo4 <- function(model, data, layout="rectangular", yscale="none", |
|
409 |
- ladderize=TRUE, right=FALSE, mrsd=NULL, ...) { |
|
409 |
+fortify.phylo4 <- function(model, data, |
|
410 |
+ layout = "rectangular", |
|
411 |
+ yscale = "none", |
|
412 |
+ ladderize = TRUE, |
|
413 |
+ right = FALSE, |
|
414 |
+ mrsd = NULL, |
|
415 |
+ ...) { |
|
410 | 416 |
phylo <- as.phylo(model) |
411 | 417 |
df <- fortify.phylo(phylo, data, |
412 | 418 |
layout, ladderize, right, mrsd=mrsd, ...) |
... | ... |
@@ -415,14 +421,14 @@ fortify.phylo4 <- function(model, data, layout="rectangular", yscale="none", |
415 | 421 |
|
416 | 422 |
##' @method fortify phylo4d |
417 | 423 |
##' @export |
418 |
-fortify.phylo4d <- function(model, data, |
|
419 |
- layout="rectangular", |
|
420 |
- layout.method = "equal_angle", |
|
421 |
- yscale="none", |
|
422 |
- ladderize=TRUE, |
|
423 |
- right=FALSE, |
|
424 |
- branch.length="branch.length", |
|
425 |
- mrsd=NULL, ...) { |
|
424 |
+fortify.phylo4d <- function(model, data, |
|
425 |
+ layout = "rectangular", |
|
426 |
+ yscale = "none", |
|
427 |
+ ladderize = TRUE, |
|
428 |
+ right = FALSE, |
|
429 |
+ branch.length = "branch.length", |
|
430 |
+ mrsd = NULL, |
|
431 |
+ ...) { |
|
426 | 432 |
## model <- set_branch_length(model, branch.length) |
427 | 433 |
## phylo <- as.phylo.phylo4(model) |
428 | 434 |
## res <- fortify(phylo, data, layout, branch.length=branch.length, |
... | ... |
@@ -430,7 +436,7 @@ fortify.phylo4d <- function(model, data, |
430 | 436 |
## tdata <- model@data[match(res$node, rownames(model@data)), , drop=FALSE] |
431 | 437 |
## df <- cbind(res, tdata) |
432 | 438 |
## scaleY(as.phylo.phylo4(model), df, yscale, layout, ...) |
433 |
- fortify(as.treedata(model), data, layout, layout.method, yscale, ladderize, right, branch.length, mrsd, ...) |
|
439 |
+ fortify(as.treedata(model), data, layout, yscale, ladderize, right, branch.length, mrsd, ...) |
|
434 | 440 |
} |
435 | 441 |
|
436 | 442 |
|
... | ... |
@@ -455,12 +461,12 @@ fortify.phylo4d <- function(model, data, |
455 | 461 |
##' @method fortify phylo |
456 | 462 |
##' @export |
457 | 463 |
##' @author Yu Guangchuang |
458 |
-fortify.phylo <- function(model, data, |
|
459 |
- layout="rectangular", |
|
460 |
- ladderize=TRUE, |
|
461 |
- right=FALSE, |
|
462 |
- mrsd=NULL, |
|
463 |
- as.Date=FALSE, ...) { |
|
464 |
+fortify.phylo <- function(model, data, |
|
465 |
+ layout = "rectangular", |
|
466 |
+ ladderize = TRUE, |
|
467 |
+ right = FALSE, |
|
468 |
+ mrsd = NULL, |
|
469 |
+ as.Date = FALSE, ...) { |
|
464 | 470 |
tree <- reorder.phylo(model, 'postorder') |
465 | 471 |
|
466 | 472 |
if (ladderize == TRUE) { |
... | ... |
@@ -516,8 +522,8 @@ fortify.phylo <- function(model, data, |
516 | 522 |
##' @author Yu Guangchuang |
517 | 523 |
as.data.frame.phylo <- function(x, row.names, optional, |
518 | 524 |
layout="rectangular", ...) { |
519 |
- if (layout == "unrooted") { |
|
520 |
- return(layout.unrooted(x, ...)) |
|
525 |
+ if (layout %in% c("equal_angle", "daylight")) { |
|
526 |
+ return(layout.unrooted(x, layout.method = layout, ...)) |
|
521 | 527 |
} |
522 | 528 |
as.data.frame.phylo_(x, layout, ...) |
523 | 529 |
} |
... | ... |
@@ -605,8 +611,11 @@ as.data.frame.phylo_ <- function(x, layout="rectangular", |
605 | 611 |
|
606 | 612 |
##' @method fortify multiPhylo |
607 | 613 |
##' @export |
608 |
-fortify.multiPhylo <- function(model, data, layout="rectangular", |
|
609 |
- ladderize=TRUE, right=FALSE, mrsd=NULL, ...) { |
|
614 |
+fortify.multiPhylo <- function(model, data, |
|
615 |
+ layout = "rectangular", |
|
616 |
+ ladderize = TRUE, |
|
617 |
+ right = FALSE, |
|
618 |
+ mrsd = NULL, ...) { |
|
610 | 619 |
|
611 | 620 |
df.list <- lapply(model, function(x) fortify(x, layout=layout, ladderize=ladderize, right=right, mrsd=mrsd, ...)) |
612 | 621 |
if (is.null(names(model))) { |
... | ... |
@@ -626,26 +635,24 @@ fortify.multiPhylo <- function(model, data, layout="rectangular", |
626 | 635 |
|
627 | 636 |
##' @method fortify phylip |
628 | 637 |
##' @export |
629 |
-fortify.phylip <- function(model, data, |
|
630 |
- layout="rectangular", |
|
631 |
- layout.method = "equal_angle", |
|
632 |
- ladderize=TRUE, |
|
633 |
- right=FALSE, |
|
634 |
- branch.length = "TREE", |
|
635 |
- mrsd=NULL, ...) { |
|
638 |
+fortify.phylip <- function(model, data, |
|
639 |
+ layout = "rectangular", |
|
640 |
+ ladderize = TRUE, |
|
641 |
+ right = FALSE, |
|
642 |
+ branch.length = "TREE", |
|
643 |
+ mrsd = NULL, ...) { |
|
636 | 644 |
trees <- get.tree(model) |
637 | 645 |
fortify(trees, layout=layout, ladderize = ladderize, right=right, mrsd=mrsd, ...) |
638 | 646 |
} |
639 | 647 |
|
640 | 648 |
##' @method fortify r8s |
641 | 649 |
##' @export |
642 |
-fortify.r8s <- function(model, data, |
|
643 |
- layout="rectangular", |
|
644 |
- layout.method = "equal_angle", |
|
645 |
- ladderize=TRUE, |
|
646 |
- right=FALSE, |
|
647 |
- branch.length = "TREE", |
|
648 |
- mrsd=NULL, ...) { |
|
650 |
+fortify.r8s <- function(model, data, |
|
651 |
+ layout = "rectangular", |
|
652 |
+ ladderize = TRUE, |
|
653 |
+ right = FALSE, |
|
654 |
+ branch.length = "TREE", |
|
655 |
+ mrsd = NULL, ...) { |
|
649 | 656 |
trees <- get.tree(model) |
650 | 657 |
branch.length %<>% match.arg(names(trees)) |
651 | 658 |
phylo <- trees[[branch.length]] |
... | ... |
@@ -654,11 +661,11 @@ fortify.r8s <- function(model, data, |
654 | 661 |
|
655 | 662 |
##' @method fortify obkData |
656 | 663 |
##' @export |
657 |
-fortify.obkData <- function(model, data, |
|
658 |
- layout="rectangular", |
|
659 |
- ladderize=TRUE, |
|
660 |
- right=FALSE, |
|
661 |
- mrsd = NULL, ...) { |
|
664 |
+fortify.obkData <- function(model, data, |
|
665 |
+ layout = "rectangular", |
|
666 |
+ ladderize = TRUE, |
|
667 |
+ right = FALSE, |
|
668 |
+ mrsd = NULL, ...) { |
|
662 | 669 |
|
663 | 670 |
df <- fortify(model@trees[[1]], layout=layout, ladderize=ladderize, right=right, mrsd=mrsd, ...) |
664 | 671 |
|
... | ... |
@@ -676,11 +683,11 @@ fortify.obkData <- function(model, data, |
676 | 683 |
|
677 | 684 |
##' @method fortify phyloseq |
678 | 685 |
##' @export |
679 |
-fortify.phyloseq <- function(model, data, |
|
680 |
- layout="rectangular", |
|
681 |
- ladderize=TRUE, |
|
682 |
- right=FALSE, |
|
683 |
- mrsd=NULL, ...) { |
|
686 |
+fortify.phyloseq <- function(model, data, |
|
687 |
+ layout = "rectangular", |
|
688 |
+ ladderize = TRUE, |
|
689 |
+ right = FALSE, |
|
690 |
+ mrsd = NULL, ...) { |
|
684 | 691 |
|
685 | 692 |
df <- fortify(model@phy_tree, layout=layout, ladderize=ladderize, right=right, mrsd=mrsd, ...) |
686 | 693 |
phyloseq <- "phyloseq" |
... | ... |
@@ -180,80 +180,80 @@ layout.unrooted <- function(tree, branch.length="branch.length", layout.method=" |
180 | 180 |
##' @param branch.length set to 'none' for edge length of 1. Otherwise the phylogenetic tree edge length is used. |
181 | 181 |
##' @return tree as data.frame with equal angle layout. |
182 | 182 |
layoutEqualAngle <- function(tree, branch.length ){ |
183 |
- root <- getRoot(tree) |
|
184 |
- # Convert Phylo tree to data.frame. |
|
185 |
- df <- as.data.frame.phylo_(tree) |
|
186 |
- |
|
187 |
- # NOTE: Angles (start, end, angle) are in half-rotation units (radians/pi or degrees/180) |
|
188 |
- |
|
189 |
- # create and assign NA to the following fields. |
|
190 |
- df$x <- NA |
|
191 |
- df$y <- NA |
|
192 |
- df$start <- NA # Start angle of segment of subtree. |
|
193 |
- df$end <- NA # End angle of segment of subtree |
|
194 |
- df$angle <- NA # Orthogonal angle to beta ... for labels?? |
|
195 |
- # Initialize root node position and angles. |
|
196 |
- df[root, "x"] <- 0 |
|
197 |
- df[root, "y"] <- 0 |
|
198 |
- df[root, "start"] <- 0 # 0-degrees |
|
199 |
- df[root, "end"] <- 2 # 360-degrees |
|
200 |
- df[root, "angle"] <- 0 # Angle label. |
|
201 |
- |
|
202 |
- N <- getNodeNum(tree) |
|
203 |
- |
|
204 |
- # Get number of tips for each node in tree. |
|
205 |
- nb.sp <- sapply(1:N, function(i) length(get.offspring.tip(tree, i))) |
|
206 |
- # Get list of node id's. |
|
207 |
- nodes <- getNodes_by_postorder(tree) |
|
208 |
- |
|
209 |
- for(curNode in nodes) { |
|
210 |
- # Get number of tips for current node. |
|
211 |
- curNtip <- nb.sp[curNode] |
|
212 |
- # Get array of child node indexes of current node. |
|
213 |
- children <- getChild(tree, curNode) |
|
214 |
- |
|
215 |
- # Get "start" and "end" angles of a segment for current node in the data.frame. |
|
216 |
- start <- df[curNode, "start"] |
|
217 |
- end <- df[curNode, "end"] |
|
183 |
+ root <- getRoot(tree) |
|
184 |
+ ## Convert Phylo tree to data.frame. |
|
185 |
+ df <- as.data.frame.phylo_(tree) |
|
186 |
+ |
|
187 |
+ ## NOTE: Angles (start, end, angle) are in half-rotation units (radians/pi or degrees/180) |
|
188 |
+ |
|
189 |
+ ## create and assign NA to the following fields. |
|
190 |
+ df$x <- NA |
|
191 |
+ df$y <- NA |
|
192 |
+ df$start <- NA # Start angle of segment of subtree. |
|
193 |
+ df$end <- NA # End angle of segment of subtree |
|
194 |
+ df$angle <- NA # Orthogonal angle to beta ... for labels?? |
|
195 |
+ ## Initialize root node position and angles. |
|
196 |
+ df[root, "x"] <- 0 |
|
197 |
+ df[root, "y"] <- 0 |
|
198 |
+ df[root, "start"] <- 0 # 0-degrees |
|
199 |
+ df[root, "end"] <- 2 # 360-degrees |
|
200 |
+ df[root, "angle"] <- 0 # Angle label. |
|
201 |
+ |
|
202 |
+ N <- getNodeNum(tree) |
|
203 |
+ |
|
204 |
+ ## Get number of tips for each node in tree. |
|
205 |
+ nb.sp <- sapply(1:N, function(i) length(get.offspring.tip(tree, i))) |
|
206 |
+ ## Get list of node id's. |
|
207 |
+ nodes <- getNodes_by_postorder(tree) |
|
208 |
+ |
|
209 |
+ for(curNode in nodes) { |
|
210 |
+ ## Get number of tips for current node. |
|
211 |
+ curNtip <- nb.sp[curNode] |
|
212 |
+ ## Get array of child node indexes of current node. |
|
213 |
+ children <- getChild(tree, curNode) |
|
214 |
+ |
|
215 |
+ ## Get "start" and "end" angles of a segment for current node in the data.frame. |
|
216 |
+ start <- df[curNode, "start"] |
|
217 |
+ end <- df[curNode, "end"] |
|
218 |
+ |
|
219 |
+ if (length(children) == 0) { |
|
220 |
+ ## is a tip |
|
221 |
+ next |
|
222 |
+ } |
|
218 | 223 |
|
219 |
- if (length(children) == 0) { |
|
220 |
- ## is a tip |
|
221 |
- next |
|
222 |
- } |
|
224 |
+ for (i in seq_along(children)) { |
|
225 |
+ child <- children[i] |
|
226 |
+ ## Get the number of tips for child node. |
|
227 |
+ ntip.child <- nb.sp[child] |
|
228 |
+ |
|
229 |
+ ## Calculated in half radians. |
|
230 |
+ ## alpha: angle of segment for i-th child with ntips_ij tips. |
|
231 |
+ ## alpha = (left_angle - right_angle) * (ntips_ij)/(ntips_current) |
|
232 |
+ alpha <- (end - start) * ntip.child / curNtip |
|
233 |
+ ## beta = angle of line from parent node to i-th child. |
|
234 |
+ beta <- start + alpha / 2 |
|
235 |
+ |
|
236 |
+ if (branch.length == "none") { |
|
237 |
+ length.child <- 1 |
|
238 |
+ } else { |
|
239 |
+ length.child <- df[child, "length"] |
|
240 |
+ } |
|
223 | 241 |
|
224 |
- for (i in seq_along(children)) { |
|
225 |
- child <- children[i] |
|
226 |
- # Get the number of tips for child node. |
|
227 |
- ntip.child <- nb.sp[child] |
|
228 |
- |
|
229 |
- # Calculated in half radians. |
|
230 |
- # alpha: angle of segment for i-th child with ntips_ij tips. |
|
231 |
- # alpha = (left_angle - right_angle) * (ntips_ij)/(ntips_current) |
|
232 |
- alpha <- (end - start) * ntip.child / curNtip |
|
233 |
- # beta = angle of line from parent node to i-th child. |
|
234 |
- beta <- start + alpha / 2 |
|
235 |
- |
|
236 |
- if (branch.length == "none") { |
|
237 |
- length.child <- 1 |
|
238 |
- } else { |
|
239 |
- length.child <- df[child, "length"] |
|
240 |
- } |
|
242 |
+ ## update geometry of data.frame. |
|
243 |
+ ## Calculate (x,y) position of the i-th child node from current node. |
|
244 |
+ df[child, "x"] <- df[curNode, "x"] + cospi(beta) * length.child |
|
245 |
+ df[child, "y"] <- df[curNode, "y"] + sinpi(beta) * length.child |
|
246 |
+ ## Calculate orthogonal angle to beta. |
|
247 |
+ df[child, "angle"] <- -90 - 180 * beta * sign(beta - 1) |
|
248 |
+ ## Update the start and end angles of the childs segment. |
|
249 |
+ df[child, "start"] <- start |
|
250 |
+ df[child, "end"] <- start + alpha |
|
251 |
+ start <- start + alpha |
|
252 |
+ } |
|
241 | 253 |
|
242 |
- # update geometry of data.frame. |
|
243 |
- # Calculate (x,y) position of the i-th child node from current node. |
|
244 |
- df[child, "x"] <- df[curNode, "x"] + cospi(beta) * length.child |
|
245 |
- df[child, "y"] <- df[curNode, "y"] + sinpi(beta) * length.child |
|
246 |
- # Calculate orthogonal angle to beta. |
|
247 |
- df[child, "angle"] <- -90 - 180 * beta * sign(beta - 1) |
|
248 |
- # Update the start and end angles of the childs segment. |
|
249 |
- df[child, "start"] <- start |
|
250 |
- df[child, "end"] <- start + alpha |
|
251 |
- start <- start + alpha |
|
252 | 254 |
} |
253 | 255 |
|
254 |
- } |
|
255 |
- |
|
256 |
- return(df) |
|
256 |
+ return(df) |
|
257 | 257 |
|
258 | 258 |
} |
259 | 259 |
|
... | ... |
@@ -303,7 +303,7 @@ layoutDaylight <- function( tree, branch.length ){ |
303 | 303 |
i <- 1 |
304 | 304 |
ave_change <- 1.0 |
305 | 305 |
while( i <= MAX_COUNT & ave_change > MINIMUM_AVERAGE_ANGLE_CHANGE ){ |
306 |
- cat('Iteration: ', i, '\n') |
|
306 |
+ ## cat('Iteration: ', i, '\n') |
|
307 | 307 |
|
308 | 308 |
# Reset max_change after iterating over tree. |
309 | 309 |
total_max <- 0.0 |
... | ... |
@@ -320,7 +320,7 @@ layoutDaylight <- function( tree, branch.length ){ |
320 | 320 |
|
321 | 321 |
ave_change <- total_max / length(nodes) |
322 | 322 |
|
323 |
- cat('Average angle change', ave_change,'\n') |
|
323 |
+ ## cat('Average angle change', ave_change,'\n') |
|
324 | 324 |
|
325 | 325 |
i <- i + 1 |
326 | 326 |
} |
... | ... |
@@ -12,6 +12,7 @@ html_preview: false |
12 | 12 |
|
13 | 13 |
```{r echo=FALSE, results="hide", message=FALSE} |
14 | 14 |
library("txtplot") |
15 |
+library("badger") |
|
15 | 16 |
library("ypages") |
16 | 17 |
``` |
17 | 18 |
|
... | ... |
@@ -36,7 +37,6 @@ library("ypages") |
36 | 37 |
[](https://bioconductor.org/checkResults/devel/bioc-LATEST/ggtree/) |
37 | 38 |
[](https://travis-ci.org/GuangchuangYu/ggtree) |
38 | 39 |
[](https://ci.appveyor.com/project/GuangchuangYu/ggtree) |
39 |
-[](http://bioconda.github.io/recipes/bioconductor-ggtree/README.html) |
|
40 | 40 |
|
41 | 41 |
|
42 | 42 |
|
... | ... |
@@ -44,6 +44,15 @@ The `ggtree` package extending the `ggplot2` package. It based on grammar of gra |
44 | 44 |
|
45 | 45 |
[](https://twitter.com/intent/tweet?hashtags=ggtree&url=http://onlinelibrary.wiley.com/doi/10.1111/2041-210X.12628/abstract&screen_name=guangchuangyu) |
46 | 46 |
|
47 |
+ |
|
48 |
+For details, please visit our project website, <https://guangchuangyu.github.io/ggtree>. |
|
49 |
+ |
|
50 |
++ [Documentation](https://guangchuangyu.github.io/ggtree/documentation/) |
|
51 |
++ [FAQ](https://guangchuangyu.github.io/ggtree/faq/) |
|
52 |
++ [Featured Articles](https://guangchuangyu.github.io/ggtree/featuredArticles/) |
|
53 |
++ [Feedback](https://guangchuangyu.github.io/ggtree/#feedback) |
|
54 |
+ |
|
55 |
+ |
|
47 | 56 |
----------------------------------------------------- |
48 | 57 |
|
49 | 58 |
Please cite the following article when using `ggtree`: |
... | ... |
@@ -52,21 +61,15 @@ __G Yu__, DK Smith, H Zhu, Y Guan, TTY Lam^\*^. ggtree: an R package for visuali |
52 | 61 |
|
53 | 62 |
|
54 | 63 |
`r badge_doi("10.1111/2041-210X.12628", "green")` |
55 |
-`r badge_citation("HtEfBTGE9r8C", "7268358477862164627", "green")` |
|
56 | 64 |
`r badge_altmetric("10533079", "green")` |
57 | 65 |
|
58 | 66 |
---------------------------------------------------------------------------------------- |
59 | 67 |
|
60 |
-For details, please visit our project website, <https://guangchuangyu.github.io/ggtree>. |
|
61 |
- |
|
62 |
-+ [Documentation](https://guangchuangyu.github.io/ggtree/documentation/) |
|
63 |
-+ [FAQ](https://guangchuangyu.github.io/ggtree/faq/) |
|
64 |
-+ [Featured Articles](https://guangchuangyu.github.io/ggtree/featuredArticles/) |
|
65 |
-+ [Feedback](https://guangchuangyu.github.io/ggtree/#feedback) |
|
66 | 68 |
|
67 | 69 |
### Citation |
68 | 70 |
|
69 | 71 |
`r badge_citation("HtEfBTGE9r8C", "7268358477862164627", "green")` |
72 |
+`r badge_sci_citation("http://apps.webofknowledge.com/InboundService.do?mode=FullRecord&customersID=RID&IsProductCode=Yes&product=WOS&Init=Yes&Func=Frame&DestFail=http%3A%2F%2Fwww.webofknowledge.com&action=retrieve&SrcApp=RID&SrcAuth=RID&SID=U2EMQLA1958R5PUSAKt&UT=WOS%3A000393305300004", "green")` |
|
70 | 73 |
|
71 | 74 |
|
72 | 75 |
```{r echo=F, comment=NA} |
... | ... |
@@ -4,56 +4,56 @@ ggtree: an R package for visualization and annotation of phylogenetic trees with |
4 | 4 |
|
5 | 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 |
-[](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) |
|
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) |
|
12 | 12 |
|
13 | 13 |
The `ggtree` package extending the `ggplot2` package. It based on grammar of graphics and takes all the good parts of `ggplot2`. `ggtree` is designed for not only viewing phylogenetic tree but also displaying annotation data on the tree. |
14 | 14 |
|
15 | 15 |
[](https://twitter.com/intent/tweet?hashtags=ggtree&url=http://onlinelibrary.wiley.com/doi/10.1111/2041-210X.12628/abstract&screen_name=guangchuangyu) |
16 | 16 |
|
17 |
+For details, please visit our project website, <https://guangchuangyu.github.io/ggtree>. |
|
18 |
+ |
|
19 |
+- [Documentation](https://guangchuangyu.github.io/ggtree/documentation/) |
|
20 |
+- [FAQ](https://guangchuangyu.github.io/ggtree/faq/) |
|
21 |
+- [Featured Articles](https://guangchuangyu.github.io/ggtree/featuredArticles/) |
|
22 |
+- [Feedback](https://guangchuangyu.github.io/ggtree/#feedback) |
|
23 |
+ |
|
17 | 24 |
------------------------------------------------------------------------ |
18 | 25 |
|
19 | 26 |
Please cite the following article when using `ggtree`: |
20 | 27 |
|
21 | 28 |
**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 | 29 |
|
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) |
|
30 |
+[](http://dx.doi.org/10.1111/2041-210X.12628) [](https://www.altmetric.com/details/10533079) |
|
24 | 31 |
|
25 | 32 |
------------------------------------------------------------------------ |
26 | 33 |
|
27 |
-For details, please visit our project website, <https://guangchuangyu.github.io/ggtree>. |
|
28 |
- |
|
29 |
-- [Documentation](https://guangchuangyu.github.io/ggtree/documentation/) |
|
30 |
-- [FAQ](https://guangchuangyu.github.io/ggtree/faq/) |
|
31 |
-- [Featured Articles](https://guangchuangyu.github.io/ggtree/featuredArticles/) |
|
32 |
-- [Feedback](https://guangchuangyu.github.io/ggtree/#feedback) |
|
33 |
- |
|
34 | 34 |
### Citation |
35 | 35 |
|
36 |
-[](https://scholar.google.com.hk/scholar?oi=bibs&hl=en&cites=7268358477862164627) |
|
36 |
+[](https://scholar.google.com.hk/scholar?oi=bibs&hl=en&cites=7268358477862164627) [](http://apps.webofknowledge.com/InboundService.do?mode=FullRecord&customersID=RID&IsProductCode=Yes&product=WOS&Init=Yes&Func=Frame&DestFail=http%3A%2F%2Fwww.webofknowledge.com&action=retrieve&SrcApp=RID&SrcAuth=RID&SID=U2EMQLA1958R5PUSAKt&UT=WOS%3A000393305300004) |
|
37 | 37 |
|
38 | 38 |
+-+---------+---------+---------+---------+---------+---+ |
39 | 39 |
| * | |
40 |
- 12 + + |
|
40 |
+ | | |
|
41 | 41 |
| | |
42 | 42 |
10 + + |
43 | 43 |
| | |
44 |
- 8 + + |
|
45 |
- 6 + + |
|
46 | 44 |
| | |
47 |
- 4 + + |
|
48 | 45 |
| | |
49 |
- 2 + + |
|
46 |
+ | | |
|
47 |
+ 5 + + |
|
48 |
+ | | |
|
49 |
+ | | |
|
50 | 50 |
| * | |
51 | 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 |
3000 + * + |
... | ... |
@@ -220,8 +220,9 @@ |
220 | 220 |
<p><link rel="stylesheet" href="https://guangchuangyu.github.io/css/font-awesome.min.css"></p> |
221 | 221 |
<p><a href="https://github.com/GuangchuangYu/featured_img">Let us know</a> if you have |
222 | 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-14-blue.svg?style=flat" /></a> |
|
224 |
-<link rel='stylesheet' href=https://guangchuangyu.github.io/resume/css/morris.css> |
|
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-15-blue.svg?style=flat" /></a> |
|
224 |
+<a href="http://apps.webofknowledge.com/InboundService.do?mode=FullRecord&customersID=RID&IsProductCode=Yes&product=WOS&Init=Yes&Func=Frame&DestFail=http%3A%2F%2Fwww.webofknowledge.com&action=retrieve&SrcApp=RID&SrcAuth=RID&SID=U2EMQLA1958R5PUSAKt&UT=WOS%3A000393305300004"><img alt="" src="https://img.shields.io/badge/cited%20in%20Web%20of%20Science%20Core%20Collection-6-blue.svg?style=flat" /></a></p> |
|
225 |
+<p><link rel='stylesheet' href=https://guangchuangyu.github.io/resume/css/morris.css> |
|
225 | 226 |
<script src='https://guangchuangyu.github.io/resume/css/jquery.min.js' type='text/javascript'></script> |
226 | 227 |
<script src='https://guangchuangyu.github.io/resume/css/raphael-min.js' type='text/javascript'></script> |
227 | 228 |
<script src='https://guangchuangyu.github.io/resume/css/morris-0.4.2.min.js' type='text/javascript'></script> |
... | ... |
@@ -234,12 +235,12 @@ published using <code>ggtree</code> and your publication will be featured here.< |
234 | 235 |
height: 300px; |
235 | 236 |
}<br /> |
236 | 237 |
</style> |
237 |
-<div id="chart8dd434d08fe" class="rChart morris"></p> |
|
238 |
+<div id="chart7719fd4cfa" class="rChart morris"></p> |
|
238 | 239 |
</div> |
239 | 240 |
|
240 | 241 |
<script type='text/javascript'> |
241 | 242 |
var chartParams = { |
242 |
- "element": "chart8dd434d08fe", |
|
243 |
+ "element": "chart7719fd4cfa", |
|
243 | 244 |
"width": 800, |
244 | 245 |
"height": 400, |
245 | 246 |
"xkey": "year", |
... | ... |
@@ -254,11 +255,11 @@ published using <code>ggtree</code> and your publication will be featured here.< |
254 | 255 |
}, |
255 | 256 |
{ |
256 | 257 |
"year": 2017, |
257 |
-"cites": 13, |
|
258 |
+"cites": 14, |
|
258 | 259 |
"pubid": "HtEfBTGE9r8C" |
259 | 260 |
} |
260 | 261 |
], |
261 |
-"id": "chart8dd434d08fe", |
|
262 |
+"id": "chart7719fd4cfa", |
|
262 | 263 |
"labels": "cites" |
263 | 264 |
}, |
264 | 265 |
chartType = "Bar" |
... | ... |
@@ -218,7 +218,7 @@ |
218 | 218 |
<!-- AddToAny END --> |
219 | 219 |
|
220 | 220 |
<p><link rel="stylesheet" href="https://guangchuangyu.github.io/css/font-awesome.min.css"></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-14-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-15-blue.svg?style=flat" /></a></p> |
|
222 | 222 |
<!-- citation:=HtEfBTGE9r8C:=7268358477862164627 --> |
223 | 223 |
|
224 | 224 |
<h2 id="journal-articles"><i class="fa fa-mortar-board"></i> Journal Articles</h2> |
... | ... |
@@ -234,7 +234,7 @@ |
234 | 234 |
<link rel="stylesheet" href="https://guangchuangyu.github.io/css/academicons.min.css"></p> |
235 | 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 | 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-13972/total-blue.svg?style=flat" /></a> |
|
237 |
+<a href="https://bioconductor.org/packages/stats/bioc/ggtree"><img alt="" src="https://img.shields.io/badge/download-14336/total-blue.svg?style=flat" /></a> |
|
238 | 238 |
<a href="https://bioconductor.org/packages/stats/bioc/ggtree"><img alt="" src="https://img.shields.io/badge/download-1385/month-blue.svg?style=flat" /></a></p> |
239 | 239 |
<p>The <code>ggtree</code> package extending the <em>ggplot2</em> package. It based on |
240 | 240 |
grammar of graphics and takes all the good parts of <em>ggplot2</em>. <em>ggtree</em> |
... | ... |
@@ -256,8 +256,9 @@ University of Hong Kong.</p> |
256 | 256 |
<h2 id="citation"><i class="fa fa-book"></i> Citation</h2> |
257 | 257 |
<p>Please cite the following article when using <code>ggtree</code>:</p> |
258 | 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-14-blue.svg?style=flat" /></a> |
|
260 |
-<a href="https://www.altmetric.com/details/10533079"><img alt="" src="https://img.shields.io/badge/Altmetric-349-blue.svg?style=flat" /></a></p> |
|
259 |
+<a href="https://www.altmetric.com/details/10533079"><img alt="" src="https://img.shields.io/badge/Altmetric-348-blue.svg?style=flat" /></a> |
|
260 |
+<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-15-blue.svg?style=flat" /></a> |
|
261 |
+<a href="http://apps.webofknowledge.com/InboundService.do?mode=FullRecord&customersID=RID&IsProductCode=Yes&product=WOS&Init=Yes&Func=Frame&DestFail=http%3A%2F%2Fwww.webofknowledge.com&action=retrieve&SrcApp=RID&SrcAuth=RID&SID=U2EMQLA1958R5PUSAKt&UT=WOS%3A000393305300004"><img alt="" src="https://img.shields.io/badge/cited%20in%20Web%20of%20Science%20Core%20Collection-6-blue.svg?style=flat" /></a></p> |
|
261 | 262 |
<p><strong>G Yu</strong>, DK Smith, H Zhu, Y Guan, TTY Lam<sup>*</sup>. ggtree: an R |
262 | 263 |
package for visualization and annotation of phylogenetic trees with |
263 | 264 |
their covariates and other associated data. <strong><em>Methods in Ecology and |
... | ... |
@@ -313,6 +314,8 @@ wiki page.</p> |
313 | 314 |
<ul> |
314 | 315 |
<li><a href="https://www.bioconductor.org/packages/LINC">LINC</a>: co-expression of |
315 | 316 |
lincRNAs and protein-coding genes</li> |
317 |
+<li><a href="https://www.bioconductor.org/packages/LymphoSeq">LymphoSeq</a>: |
|
318 |
+ Analyze high-throughput sequencing of T and B cell receptors</li> |
|
316 | 319 |
<li><a href="https://www.bioconductor.org/packages/philr">philr</a>: Phylogenetic |
317 | 320 |
partitioning based ILR transform for metagenomics data</li> |
318 | 321 |
</ul> |
... | ... |
@@ -2,7 +2,7 @@ |
2 | 2 |
"docs": [ |
3 | 3 |
{ |
4 | 4 |
"location": "/", |
5 |
- "text": "ggtree: visualization and annotation of phylogenetic trees\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nThe \nggtree\n package extending the \nggplot2\n package. It based on\ngrammar of graphics and takes all the good parts of \nggplot2\n. \nggtree\n\nis designed for not only viewing phylogenetic tree but also displaying\nannotation data on the tree. \nggtree\n is released within the\n\nBioconductor\n project and\nthe source code is hosted on\n\n\nGitHub\n.\n\n\n Authors\n\n\nGuangchuang Yu and Tommy Tsan-Yuk Lam, School of Public Health, The\nUniversity of Hong Kong.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Citation\n\n\nPlease cite the following article when using \nggtree\n:\n\n\n\n\n\n\n\n\nG Yu\n, DK Smith, H Zhu, Y Guan, TTY Lam\n*\n. ggtree: an R\npackage for visualization and annotation of phylogenetic trees with\ntheir covariates and other associated data. \nMethods in Ecology and\nEvolution\n. 2017, 8(1):28-36.\n\n\n Featured Articles\n\n\n\n\n Find out more on\n\n \nFeatured\nArticles\n.\n\n\n Installation\n\n\nInstall \nggtree\n is easy, follow the guide on the \nBioconductor\npage\n:\n\n\n## try http:// if https:// URLs are not supported\nsource(\nhttps://bioconductor.org/biocLite.R\n)\n## biocLite(\nBiocUpgrade\n) ## you may need this\nbiocLite(\nggtree\n)\n\n\n\n\nIf you have problems when installing some of the dependent packages,\nplease refer to the\n\nggtree-installation\n\nwiki page.\n\n\n Overview\n\n\n Getting tree into R\n\n\n\n\ntree parsers: bring evolution evidences to be used/analyzed in \nR\n\n\nmerge_tree\n: allows evolution evidences to be merged and compared\n\n\nfortify\n methods: convert tree objects into tidy data frame\n\n\n\n\n Tree visualization \n annotation\n\n\n\n\nparsing tree as a collection of nodes allows grammar of graphics to\n be supported\n\n\ngeom_tree\n: extends \nggplot2\n to support tree structure\n\n\nseveral layers and functions for tree annotation\n\n\nsupports annotating phylogenetic trees with user's own data\n\n\n\n\n Tree manipulation\n\n\n\n\nhelper functions for tree manipulation, make it possible to explore\n the tree visually\n\n\n\n\n Find out details and examples on\n\n\n\nDocumentation\n.\n\n\n Projects that depend on \nggtree\n\n\n CRAN packages\n\n\n\n\nharrietr\n: Wrangle\n Phylogenetic Distance Matrices and Other Utilities\n\n\n\n\n Bioconductor packages\n\n\n\n\nLINC\n: co-expression of\n lincRNAs and protein-coding genes\n\n\nphilr\n: Phylogenetic\n partitioning based ILR transform for metagenomics data\n\n\n\n\n Other applications\n\n\n\n\nBreadCrumbs\n:\n Collection of scripts for metagenomics analysis\n\n\nDegeneratePrimerTools\n:\n Utilities for Creating and Validating Degenerate primers\n\n\nphyloscan\n: scan phylogenies\n created along a genome for patterns\n\n\n\n\n Feedback\n\n\n\n \n Please make sure you have followed \nthe important guide\n before posting any issue/question\n\n \n For bugs or feature requests, please post to \n \ngithub issue\n\n \n For user questions, please post to \n \ngoogle group\n\n \n We are also following every post tagged with \nggtree\n on \nBioconductor support site\n and \nBiostars\n\n \n Join the group chat on \n and", |
|
5 |
+ "text": "ggtree: visualization and annotation of phylogenetic trees\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nThe \nggtree\n package extending the \nggplot2\n package. It based on\ngrammar of graphics and takes all the good parts of \nggplot2\n. \nggtree\n\nis designed for not only viewing phylogenetic tree but also displaying\nannotation data on the tree. \nggtree\n is released within the\n\nBioconductor\n project and\nthe source code is hosted on\n\n\nGitHub\n.\n\n\n Authors\n\n\nGuangchuang Yu and Tommy Tsan-Yuk Lam, School of Public Health, The\nUniversity of Hong Kong.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Citation\n\n\nPlease cite the following article when using \nggtree\n:\n\n\n\n\n\n\n\n\n\n\nG Yu\n, DK Smith, H Zhu, Y Guan, TTY Lam\n*\n. ggtree: an R\npackage for visualization and annotation of phylogenetic trees with\ntheir covariates and other associated data. \nMethods in Ecology and\nEvolution\n. 2017, 8(1):28-36.\n\n\n Featured Articles\n\n\n\n\n Find out more on\n\n \nFeatured\nArticles\n.\n\n\n Installation\n\n\nInstall \nggtree\n is easy, follow the guide on the \nBioconductor\npage\n:\n\n\n## try http:// if https:// URLs are not supported\nsource(\nhttps://bioconductor.org/biocLite.R\n)\n## biocLite(\nBiocUpgrade\n) ## you may need this\nbiocLite(\nggtree\n)\n\n\n\n\nIf you have problems when installing some of the dependent packages,\nplease refer to the\n\nggtree-installation\n\nwiki page.\n\n\n Overview\n\n\n Getting tree into R\n\n\n\n\ntree parsers: bring evolution evidences to be used/analyzed in \nR\n\n\nmerge_tree\n: allows evolution evidences to be merged and compared\n\n\nfortify\n methods: convert tree objects into tidy data frame\n\n\n\n\n Tree visualization \n annotation\n\n\n\n\nparsing tree as a collection of nodes allows grammar of graphics to\n be supported\n\n\ngeom_tree\n: extends \nggplot2\n to support tree structure\n\n\nseveral layers and functions for tree annotation\n\n\nsupports annotating phylogenetic trees with user's own data\n\n\n\n\n Tree manipulation\n\n\n\n\nhelper functions for tree manipulation, make it possible to explore\n the tree visually\n\n\n\n\n Find out details and examples on\n\n\n\nDocumentation\n.\n\n\n Projects that depend on \nggtree\n\n\n CRAN packages\n\n\n\n\nharrietr\n: Wrangle\n Phylogenetic Distance Matrices and Other Utilities\n\n\n\n\n Bioconductor packages\n\n\n\n\nLINC\n: co-expression of\n lincRNAs and protein-coding genes\n\n\nLymphoSeq\n:\n Analyze high-throughput sequencing of T and B cell receptors\n\n\nphilr\n: Phylogenetic\n partitioning based ILR transform for metagenomics data\n\n\n\n\n Other applications\n\n\n\n\nBreadCrumbs\n:\n Collection of scripts for metagenomics analysis\n\n\nDegeneratePrimerTools\n:\n Utilities for Creating and Validating Degenerate primers\n\n\nphyloscan\n: scan phylogenies\n created along a genome for patterns\n\n\n\n\n Feedback\n\n\n\n \n Please make sure you have followed \nthe important guide\n before posting any issue/question\n\n \n For bugs or feature requests, please post to \n \ngithub issue\n\n \n For user questions, please post to \n \ngoogle group\n\n \n We are also following every post tagged with \nggtree\n on \nBioconductor support site\n and \nBiostars\n\n \n Join the group chat on \n and", |
|
6 | 6 |
"title": "Home" |
7 | 7 |
}, |
8 | 8 |
{ |
... | ... |
@@ -17,7 +17,7 @@ |
17 | 17 |
}, |
18 | 18 |
{ |
19 | 19 |
"location": "/#citation", |
20 |
- "text": "Please cite the following article when using ggtree : G Yu , DK Smith, H Zhu, Y Guan, TTY Lam * . ggtree: an R\npackage for visualization and annotation of phylogenetic trees with\ntheir covariates and other associated data. Methods in Ecology and\nEvolution . 2017, 8(1):28-36.", |
|
20 |
+ "text": "Please cite the following article when using ggtree : G Yu , DK Smith, H Zhu, Y Guan, TTY Lam * . ggtree: an R\npackage for visualization and annotation of phylogenetic trees with\ntheir covariates and other associated data. Methods in Ecology and\nEvolution . 2017, 8(1):28-36.", |
|
21 | 21 |
"title": " Citation" |
22 | 22 |
}, |
23 | 23 |
{ |
... | ... |
@@ -62,7 +62,7 @@ |
62 | 62 |
}, |
63 | 63 |
{ |
64 | 64 |
"location": "/#bioconductor-packages", |
65 |
- "text": "LINC : co-expression of\n lincRNAs and protein-coding genes philr : Phylogenetic\n partitioning based ILR transform for metagenomics data", |
|
65 |
+ "text": "LINC : co-expression of\n lincRNAs and protein-coding genes LymphoSeq :\n Analyze high-throughput sequencing of T and B cell receptors philr : Phylogenetic\n partitioning based ILR transform for metagenomics data", |
|
66 | 66 |
"title": " Bioconductor packages" |
67 | 67 |
}, |
68 | 68 |
{ |
... | ... |
@@ -217,7 +217,7 @@ |
217 | 217 |
}, |
218 | 218 |
{ |
219 | 219 |
"location": "/featuredArticles/", |
220 |
- "text": "Let us know\n if you have\npublished using \nggtree\n and your publication will be featured here.\n\n\n\n\n\n\n\n\n\n\n\n\n\n .rChart {\n display: block;\n margin-left: auto; \n margin-right: auto;\n width: 800px;\n height: 300px;\n }<br />\n \n\n\n\n\n\n\n\n\n var chartParams = {\n \"element\": \"chart8dd434d08fe\",\n\"width\": 800,\n\"height\": 400,\n\"xkey\": \"year\",\n\"ykeys\": [\n \"cites\" \n],\n\"data\": [\n {\n \"year\": 2016,\n\"cites\": 1,\n\"pubid\": \"HtEfBTGE9r8C\" \n},\n{\n \"year\": 2017,\n\"cites\": 13,\n\"pubid\": \"HtEfBTGE9r8C\" \n} \n],\n\"id\": \"chart8dd434d08fe\",\n\"labels\": \"cites\" \n},\n chartType = \"Bar\"\n new Morris[chartType](chartParams)\n\n\n\n\n\n\n\n\n\n\n 2017\n\n\nPhylogenetic analysis of the human antibody repertoire reveals\nquantitative signatures of immune senescence and\naging\n. \nPNAS\n, 2017\n\n\nGut metagenomes of type 2 diabetic patients have characteristic\nsingle-nucleotide polymorphism distribution in \nBacteroides\ncoprocola\n.\n\nMicrobiome\n, 2017, 5:15\n\n\n 2016\n\n\nFunction and Phylogeny of Bacterial Butyryl Coenzyme A:Acetate\nTransferases and Their Diversity in the Proximal Colon of\nSwine\n. \nApplied and\nEnvironmental Microbiology\n. 2016,82(22):6788-6798.", |
|
220 |
+ "text": "Let us know\n if you have\npublished using \nggtree\n and your publication will be featured here.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n .rChart {\n display: block;\n margin-left: auto; \n margin-right: auto;\n width: 800px;\n height: 300px;\n }<br />\n \n\n\n\n\n\n\n\n\n var chartParams = {\n \"element\": \"chart7719fd4cfa\",\n\"width\": 800,\n\"height\": 400,\n\"xkey\": \"year\",\n\"ykeys\": [\n \"cites\" \n],\n\"data\": [\n {\n \"year\": 2016,\n\"cites\": 1,\n\"pubid\": \"HtEfBTGE9r8C\" \n},\n{\n \"year\": 2017,\n\"cites\": 14,\n\"pubid\": \"HtEfBTGE9r8C\" \n} \n],\n\"id\": \"chart7719fd4cfa\",\n\"labels\": \"cites\" \n},\n chartType = \"Bar\"\n new Morris[chartType](chartParams)\n\n\n\n\n\n\n\n\n\n\n 2017\n\n\nPhylogenetic analysis of the human antibody repertoire reveals\nquantitative signatures of immune senescence and\naging\n. \nPNAS\n, 2017\n\n\nGut metagenomes of type 2 diabetic patients have characteristic\nsingle-nucleotide polymorphism distribution in \nBacteroides\ncoprocola\n.\n\nMicrobiome\n, 2017, 5:15\n\n\n 2016\n\n\nFunction and Phylogeny of Bacterial Butyryl Coenzyme A:Acetate\nTransferases and Their Diversity in the Proximal Colon of\nSwine\n. \nApplied and\nEnvironmental Microbiology\n. 2016,82(22):6788-6798.", |
|
221 | 221 |
"title": "Featured Articles" |
222 | 222 |
}, |
223 | 223 |
{ |
... | ... |
@@ -4,7 +4,7 @@ |
4 | 4 |
|
5 | 5 |
<url> |
6 | 6 |
<loc>https://guangchuangyu.github.io/ggtree/</loc> |
7 |
- <lastmod>2017-04-11</lastmod> |
|
7 |
+ <lastmod>2017-04-20</lastmod> |
|
8 | 8 |
<changefreq>daily</changefreq> |
9 | 9 |
</url> |
10 | 10 |
|
... | ... |
@@ -12,7 +12,7 @@ |
12 | 12 |
|
13 | 13 |
<url> |
14 | 14 |
<loc>https://guangchuangyu.github.io/ggtree/documentation/</loc> |
15 |
- <lastmod>2017-04-11</lastmod> |
|
15 |
+ <lastmod>2017-04-20</lastmod> |
|
16 | 16 |
<changefreq>daily</changefreq> |
17 | 17 |
</url> |
18 | 18 |
|
... | ... |
@@ -20,7 +20,7 @@ |
20 | 20 |
|
21 | 21 |
<url> |
22 | 22 |
<loc>https://guangchuangyu.github.io/ggtree/faq/</loc> |
23 |
- <lastmod>2017-04-11</lastmod> |
|
23 |
+ <lastmod>2017-04-20</lastmod> |
|
24 | 24 |
<changefreq>daily</changefreq> |
25 | 25 |
</url> |
26 | 26 |
|
... | ... |
@@ -28,7 +28,7 @@ |
28 | 28 |
|
29 | 29 |
<url> |
30 | 30 |
<loc>https://guangchuangyu.github.io/ggtree/featuredArticles/</loc> |
31 |
- <lastmod>2017-04-11</lastmod> |
|
31 |
+ <lastmod>2017-04-20</lastmod> |
|
32 | 32 |
<changefreq>daily</changefreq> |
33 | 33 |
</url> |
34 | 34 |
|
... | ... |
@@ -36,7 +36,7 @@ |
36 | 36 |
|
37 | 37 |
<url> |
38 | 38 |
<loc>https://guangchuangyu.github.io/ggtree/gallery/</loc> |
39 |
- <lastmod>2017-04-11</lastmod> |
|
39 |
+ <lastmod>2017-04-20</lastmod> |
|
40 | 40 |
<changefreq>daily</changefreq> |
41 | 41 |
</url> |
42 | 42 |
|
... | ... |
@@ -45,55 +45,55 @@ |
45 | 45 |
|
46 | 46 |
<url> |
47 | 47 |
<loc>https://guangchuangyu.github.io/ggtree/ChIPseeker/</loc> |
48 |
- <lastmod>2017-04-11</lastmod> |
|
48 |
+ <lastmod>2017-04-20</lastmod> |
|
49 | 49 |
<changefreq>daily</changefreq> |
50 | 50 |
</url> |
51 | 51 |
|
52 | 52 |
<url> |
53 | 53 |
<loc>https://guangchuangyu.github.io/ggtree/clusterProfiler/</loc> |
54 |
- <lastmod>2017-04-11</lastmod> |
|
54 |
+ <lastmod>2017-04-20</lastmod> |
|
55 | 55 |
<changefreq>daily</changefreq> |
56 | 56 |
</url> |
57 | 57 |
|
58 | 58 |
<url> |
59 | 59 |
<loc>https://guangchuangyu.github.io/ggtree/DOSE/</loc> |
60 |
- <lastmod>2017-04-11</lastmod> |
|
60 |
+ <lastmod>2017-04-20</lastmod> |
|
61 | 61 |
<changefreq>daily</changefreq> |
62 | 62 |
</url> |
63 | 63 |
|
64 | 64 |
<url> |
65 | 65 |
<loc>https://guangchuangyu.github.io/ggtree/emojifont/</loc> |
66 |
- <lastmod>2017-04-11</lastmod> |
|
66 |
+ <lastmod>2017-04-20</lastmod> |
|
67 | 67 |
<changefreq>daily</changefreq> |
68 | 68 |
</url> |
69 | 69 |
|
70 | 70 |
<url> |
71 | 71 |
<loc>https://guangchuangyu.github.io/ggtree/ggtree/</loc> |
72 |
- <lastmod>2017-04-11</lastmod> |
|
72 |
+ <lastmod>2017-04-20</lastmod> |
|
73 | 73 |
<changefreq>daily</changefreq> |
74 | 74 |
</url> |
75 | 75 |
|
76 | 76 |
<url> |
77 | 77 |
<loc>https://guangchuangyu.github.io/ggtree/GOSemSim/</loc> |
78 |
- <lastmod>2017-04-11</lastmod> |
|
78 |
+ <lastmod>2017-04-20</lastmod> |
|
79 | 79 |
<changefreq>daily</changefreq> |
80 | 80 |
</url> |
81 | 81 |
|
82 | 82 |
<url> |
83 | 83 |
<loc>https://guangchuangyu.github.io/ggtree/meshes/</loc> |
84 |
- <lastmod>2017-04-11</lastmod> |
|
84 |
+ <lastmod>2017-04-20</lastmod> |
|
85 | 85 |
<changefreq>daily</changefreq> |
86 | 86 |
</url> |
87 | 87 |
|
88 | 88 |
<url> |
89 | 89 |
<loc>https://guangchuangyu.github.io/ggtree/ReactomePA/</loc> |
90 |
- <lastmod>2017-04-11</lastmod> |
|
90 |
+ <lastmod>2017-04-20</lastmod> |
|
91 | 91 |
<changefreq>daily</changefreq> |
92 | 92 |
</url> |
93 | 93 |
|
94 | 94 |
<url> |
95 | 95 |
<loc>https://guangchuangyu.github.io/ggtree/treeio/</loc> |
96 |
- <lastmod>2017-04-11</lastmod> |
|
96 |
+ <lastmod>2017-04-20</lastmod> |
|
97 | 97 |
<changefreq>daily</changefreq> |
98 | 98 |
</url> |
99 | 99 |
|
... | ... |
@@ -12,7 +12,7 @@ geom_tree(mapping = NULL, data = NULL, layout = "rectangular", |
12 | 12 |
|
13 | 13 |
\item{data}{data} |
14 | 14 |
|
15 |
-\item{layout}{one of 'rectangular', 'slanted', 'circular', 'radial' or 'unrooted'} |
|
15 |
+\item{layout}{one of 'rectangular', 'slanted', 'circular', 'radial', 'equal_angle' or 'daylight'} |
|
16 | 16 |
|
17 | 17 |
\item{multiPhylo}{logical} |
18 | 18 |
|
... | ... |
@@ -8,9 +8,8 @@ |
8 | 8 |
\title{visualizing phylogenetic tree and heterogenous associated data based on grammar of graphics |
9 | 9 |
\code{ggtree} provides functions for visualizing phylogenetic tree and its associated data in R.} |
10 | 10 |
\usage{ |
11 |
-ggtree(tr, mapping = NULL, layout = "rectangular", |
|
12 |
- layout.method = "equal_angle", open.angle = 0, mrsd = NULL, |
|
13 |
- as.Date = FALSE, yscale = "none", yscale_mapping = NULL, |
|
11 |
+ggtree(tr, mapping = NULL, layout = "rectangular", open.angle = 0, |
|
12 |
+ mrsd = NULL, as.Date = FALSE, yscale = "none", yscale_mapping = NULL, |
|
14 | 13 |
ladderize = TRUE, right = FALSE, branch.length = "branch.length", |
15 | 14 |
ndigits = NULL, ...) |
16 | 15 |
} |
... | ... |
@@ -19,9 +18,7 @@ ggtree(tr, mapping = NULL, layout = "rectangular", |
19 | 18 |
|
20 | 19 |
\item{mapping}{aes mapping} |
21 | 20 |
|
22 |
-\item{layout}{one of 'rectangular', 'slanted', 'fan', 'circular', 'radial' or 'unrooted'} |
|
23 |
- |
|
24 |
-\item{layout.method}{of 'equal_angle', 'daylight'.} |
|
21 |
+\item{layout}{one of 'rectangular', 'slanted', 'fan', 'circular', 'radial', 'equal_angle' or 'daylight'} |
|
25 | 22 |
|
26 | 23 |
\item{open.angle}{open angle, only for 'fan' layout} |
27 | 24 |
|
... | ... |
@@ -24,7 +24,9 @@ output: |
24 | 24 |
[Let us know](https://github.com/GuangchuangYu/featured_img) if you have |
25 | 25 |
published using `ggtree` and your publication will be featured here. |
26 | 26 |
|
27 |
-[](https://scholar.google.com.hk/scholar?oi=bibs&hl=en&cites=7268358477862164627) |
|
27 |
+[](https://scholar.google.com.hk/scholar?oi=bibs&hl=en&cites=7268358477862164627) |
|
28 |
+[](http://apps.webofknowledge.com/InboundService.do?mode=FullRecord&customersID=RID&IsProductCode=Yes&product=WOS&Init=Yes&Func=Frame&DestFail=http%3A%2F%2Fwww.webofknowledge.com&action=retrieve&SrcApp=RID&SrcAuth=RID&SID=U2EMQLA1958R5PUSAKt&UT=WOS%3A000393305300004) |
|
29 |
+ |
|
28 | 30 |
<link rel='stylesheet' href=https://guangchuangyu.github.io/resume/css/morris.css> |
29 | 31 |
<script src='https://guangchuangyu.github.io/resume/css/jquery.min.js' type='text/javascript'></script> |
30 | 32 |
<script src='https://guangchuangyu.github.io/resume/css/raphael-min.js' type='text/javascript'></script> |
... | ... |
@@ -38,13 +40,13 @@ published using `ggtree` and your publication will be featured here. |
38 | 40 |
height: 300px; |
39 | 41 |
} |
40 | 42 |
</style> |
41 |
-<div id="chart8dd434d08fe" class="rChart morris"> |
|
43 |
+<div id="chart7719fd4cfa" class="rChart morris"> |
|
42 | 44 |
|
43 | 45 |
</div> |
44 | 46 |
|
45 | 47 |
<script type='text/javascript'> |
46 | 48 |
var chartParams = { |
47 |
- "element": "chart8dd434d08fe", |
|
49 |
+ "element": "chart7719fd4cfa", |
|
48 | 50 |
"width": 800, |
49 | 51 |
"height": 400, |
50 | 52 |
"xkey": "year", |
... | ... |
@@ -59,11 +61,11 @@ published using `ggtree` and your publication will be featured here. |
59 | 61 |
}, |
60 | 62 |
{ |
61 | 63 |
"year": 2017, |
62 |
-"cites": 13, |
|
64 |
+"cites": 14, |
|
63 | 65 |
"pubid": "HtEfBTGE9r8C" |
64 | 66 |
} |
65 | 67 |
], |
66 |
-"id": "chart8dd434d08fe", |
|
68 |
+"id": "chart7719fd4cfa", |
|
67 | 69 |
"labels": "cites" |
68 | 70 |
}, |
69 | 71 |
chartType = "Bar" |
... | ... |
@@ -21,7 +21,7 @@ output: |
21 | 21 |
<!-- AddToAny END --> |
22 | 22 |
<link rel="stylesheet" href="https://guangchuangyu.github.io/css/font-awesome.min.css"> |
23 | 23 |
|
24 |
-[](https://scholar.google.com.hk/scholar?oi=bibs&hl=en&cites=7268358477862164627) |
|
24 |
+[](https://scholar.google.com.hk/scholar?oi=bibs&hl=en&cites=7268358477862164627) |
|
25 | 25 |
|
26 | 26 |
<!-- citation:=HtEfBTGE9r8C:=7268358477862164627 --> |
27 | 27 |
<i class="fa fa-mortar-board"></i> Journal Articles |
... | ... |
@@ -29,7 +29,7 @@ ggtree: visualization and annotation of phylogenetic trees |
29 | 29 |
|
30 | 30 |
[](https://bioconductor.org/packages/ggtree) |
31 | 31 |
[](https://github.com/guangchuangyu/ggtree) |
32 |
-[](https://bioconductor.org/packages/stats/bioc/ggtree) |
|
32 |
+[](https://bioconductor.org/packages/stats/bioc/ggtree) |
|
33 | 33 |
[](https://bioconductor.org/packages/stats/bioc/ggtree) |
34 | 34 |
|
35 | 35 |
The `ggtree` package extending the *ggplot2* package. It based on |
... | ... |
@@ -60,8 +60,9 @@ University of Hong Kong. |
60 | 60 |
Please cite the following article when using `ggtree`: |
61 | 61 |
|
62 | 62 |
[](http://dx.doi.org/10.1111/2041-210X.12628) |
63 |
-[](https://scholar.google.com.hk/scholar?oi=bibs&hl=en&cites=7268358477862164627) |
|
64 |
-[](https://www.altmetric.com/details/10533079) |
|
63 |
+[](https://www.altmetric.com/details/10533079) |
|
64 |
+[](https://scholar.google.com.hk/scholar?oi=bibs&hl=en&cites=7268358477862164627) |
|
65 |
+[](http://apps.webofknowledge.com/InboundService.do?mode=FullRecord&customersID=RID&IsProductCode=Yes&product=WOS&Init=Yes&Func=Frame&DestFail=http%3A%2F%2Fwww.webofknowledge.com&action=retrieve&SrcApp=RID&SrcAuth=RID&SID=U2EMQLA1958R5PUSAKt&UT=WOS%3A000393305300004) |
|
65 | 66 |
|
66 | 67 |
**G Yu**, DK Smith, H Zhu, Y Guan, TTY Lam<sup>\*</sup>. ggtree: an R |
67 | 68 |
package for visualization and annotation of phylogenetic trees with |
... | ... |
@@ -133,6 +134,8 @@ wiki page. |
133 | 134 |
|
134 | 135 |
- [LINC](https://www.bioconductor.org/packages/LINC): co-expression of |
135 | 136 |
lincRNAs and protein-coding genes |
137 |
+- [LymphoSeq](https://www.bioconductor.org/packages/LymphoSeq): |
|
138 |
+ Analyze high-throughput sequencing of T and B cell receptors |
|
136 | 139 |
- [philr](https://www.bioconductor.org/packages/philr): Phylogenetic |
137 | 140 |
partitioning based ILR transform for metagenomics data |
138 | 141 |
|
... | ... |
@@ -16,6 +16,8 @@ html_preview: false |
16 | 16 |
|
17 | 17 |
|
18 | 18 |
`r badge_citation("HtEfBTGE9r8C", "7268358477862164627", "blue")` |
19 |
+`r badge_sci_citation("http://apps.webofknowledge.com/InboundService.do?mode=FullRecord&customersID=RID&IsProductCode=Yes&product=WOS&Init=Yes&Func=Frame&DestFail=http%3A%2F%2Fwww.webofknowledge.com&action=retrieve&SrcApp=RID&SrcAuth=RID&SID=U2EMQLA1958R5PUSAKt&UT=WOS%3A000393305300004", "blue")` |
|
20 |
+ |
|
19 | 21 |
`r article_citation_trend("HtEfBTGE9r8C")` |
20 | 22 |
|
21 | 23 |
<!-- citation:=HtEfBTGE9r8C:=7268358477862164627 --> |
... | ... |
@@ -49,9 +49,9 @@ Please cite the following article when using `ggtree`: |
49 | 49 |
|
50 | 50 |
|
51 | 51 |
`r badge_doi("10.1111/2041-210X.12628", "blue")` |
52 |
-`r badge_citation("HtEfBTGE9r8C", "7268358477862164627", "blue")` |
|
53 | 52 |
`r badge_altmetric("10533079", "blue")` |
54 |
- |
|
53 |
+`r badge_citation("HtEfBTGE9r8C", "7268358477862164627", "blue")` |
|
54 |
+`r badge_sci_citation("http://apps.webofknowledge.com/InboundService.do?mode=FullRecord&customersID=RID&IsProductCode=Yes&product=WOS&Init=Yes&Func=Frame&DestFail=http%3A%2F%2Fwww.webofknowledge.com&action=retrieve&SrcApp=RID&SrcAuth=RID&SID=U2EMQLA1958R5PUSAKt&UT=WOS%3A000393305300004", "blue")` |
|
55 | 55 |
|
56 | 56 |
__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. |
57 | 57 |
|