Browse code

update docs

guangchuang yu authored on 13/02/2017 05:33:14
Showing 13 changed files

... ...
@@ -1,3 +1,8 @@
1
+Hugo Gruson
2
+-----------
3
++  Add legend transparency to `theme_transparent`
4
+   - <https://github.com/GuangchuangYu/ggtree/pull/112>
5
+
1 6
 Justin Silverman
2 7
 ----------------
3 8
 + `geom_balance`
... ...
@@ -5,7 +5,8 @@ Version: 1.7.7
5 5
 Authors@R: c(
6 6
 	   person("Guangchuang", "Yu", email = "guangchuangyu@gmail.com", role = c("aut", "cre", "cph")),
7 7
 	   person("Tommy Tsan-Yuk", "Lam", email = "tylam.tommy@gmail.com", rol = c("aut", "ths")),
8
-	   person("Justin", "Silverman", email = "jsilve24@gmail.com", rol = "ctb")
8
+	   person("Justin", "Silverman", email = "jsilve24@gmail.com", rol = "ctb"),
9
+	   person("Hugo", "Gruson", email = "hugo.gruson@normalesup.org", rol = "ctb")
9 10
 	   )
10 11
 Maintainer: Guangchuang Yu <guangchuangyu@gmail.com>
11 12
 Description: 'ggtree' extends the 'ggplot2' plotting system which implemented the grammar of graphics.
... ...
@@ -1,5 +1,7 @@
1 1
 CHANGES IN VERSION 1.7.7
2 2
 ------------------------
3
+ o add legend transparency to theme_transparent <2017-02-13, Mon>
4
+   + <https://github.com/GuangchuangYu/ggtree/pull/112>
3 5
  o update citation info <2017-01-20, Fri>
4 6
  
5 7
 CHANGES IN VERSION 1.7.6
... ...
@@ -2,42 +2,11 @@ body {
2 2
     padding-top: 70px;
3 3
 }
4 4
 
5
-/*
6
- * The code below adds some padding to the top of the current anchor target so
7
- * that, when navigating to it, the header isn't hidden by the navbar at the
8
- * top. This is especially complicated because we want to *remove* the padding
9
- * after navigation so that hovering over the header shows the permalink icon
10
- * correctly. Thus, we create a CSS animation to remove the extra padding after
11
- * a second. We have two animations so that navigating to an anchor within the
12
- * page always restarts the animation.
13
- *
14
- * See <https://github.com/mkdocs/mkdocs/issues/843> for more details.
15
- */
16
-:target::before {
5
+h1[id]:before, h2[id]:before, h3[id]:before, h4[id]:before, h5[id]:before, h6[id]:before {
17 6
     content: "";
18 7
     display: block;
19 8
     margin-top: -75px;
20 9
     height: 75px;
21
-    pointer-events: none;
22
-    animation: 0s 1s forwards collapse-anchor-padding-1;
23
-}
24
-
25
-body.clicky :target::before {
26
-    animation-name: collapse-anchor-padding-2;
27
-}
28
-
29
-@keyframes collapse-anchor-padding-1 {
30
-    to {
31
-        margin-top: 0;
32
-        height: 0;
33
-    }
34
-}
35
-
36
-@keyframes collapse-anchor-padding-2 {
37
-    to {
38
-        margin-top: 0;
39
-        height: 0;
40
-    }
41 10
 }
42 11
 
43 12
 ul.nav li.main {
... ...
@@ -57,27 +26,7 @@ div.source-links {
57 26
 }
58 27
 
59 28
 div.col-md-9 img {
60
-    max-width: 100%;
61
-}
62
-
63
-code {
64
-    padding: 1px 3px;
65
-    background: #f5f5f5;
66
-    border: solid 1px #ccc;
67
-    color: #333;
68
-}
69
-
70
-pre code {
71
-    background: transparent;
72
-    border: none;
73
-}
74
-
75
-a > code {
76
-    color: #008cba;
77
-}
78
-
79
-a > code:hover, a > code:focus {
80
-    color: #00526e;
29
+  max-width: 100%;
81 30
 }
82 31
 
83 32
 /*
... ...
@@ -167,15 +116,6 @@ a > code:hover, a > code:focus {
167 116
     }
168 117
 }
169 118
 
170
-.headerlink {
171
-    display: none;
172
-    padding-left: .5em;
173
-}
174
-
175
-h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .headerlink, h5:hover .headerlink, h6:hover .headerlink{
176
-    display:inline-block;
177
-}
178
-
179 119
 /* display submenu relative to parent*/
180 120
 .dropdown-submenu {
181 121
     position: relative;
... ...
@@ -235,11 +235,11 @@
235 235
   }  
236 236
   </style>
237 237
 
238
-<div id = 'chart3a016a995a42' class = 'rChart morris'></div>
238
+<div id = 'chart38743dff02' class = 'rChart morris'></div>
239 239
 
240 240
 <script type='text/javascript'>
241 241
     var chartParams = {
242
- "element": "chart3a016a995a42",
242
+ "element": "chart38743dff02",
243 243
 "width":            800,
244 244
 "height":            400,
245 245
 "xkey": "year",
... ...
@@ -258,7 +258,7 @@
258 258
 "pubid": "HtEfBTGE9r8C" 
259 259
 } 
260 260
 ],
261
-"id": "chart3a016a995a42",
261
+"id": "chart38743dff02",
262 262
 "labels": "cites" 
263 263
 },
264 264
       chartType = "Bar"
... ...
@@ -218,22 +218,27 @@
218 218
 <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>
219 219
 </ul>
220 220
 <p><img alt="" src="https://guangchuangyu.github.io/featured_img/ggtree/40168_2017_232_Fig2_HTML.gif" /></p>
221
+<hr />
221 222
 <ul>
222 223
 <li><a href="http://dx.doi.org/10.1111/2041-210X.12628">http://dx.doi.org/10.1111/2041-210X.12628</a></li>
223 224
 </ul>
224 225
 <p><img alt="" src="https://guangchuangyu.github.io/featured_img/ggtree/C2mxyBuUcAEt391.jpg" /></p>
226
+<hr />
225 227
 <ul>
226 228
 <li><a href="http://dx.doi.org/10.1128/AEM.02307-16">http://dx.doi.org/10.1128/AEM.02307-16</a></li>
227 229
 </ul>
228 230
 <p><img alt="" src="https://guangchuangyu.github.io/featured_img/ggtree/2017-01-21-115646_969x444_scrot.png" /></p>
231
+<hr />
229 232
 <ul>
230 233
 <li><a href="http://dx.doi.org/10.3389%2Ffcimb.2016.00036">http://dx.doi.org/10.3389%2Ffcimb.2016.00036</a></li>
231 234
 </ul>
232 235
 <p><img alt="" src="https://guangchuangyu.github.io/featured_img/ggtree/2016_fcimb-06-00036-g003.jpg" /></p>
236
+<hr />
233 237
 <ul>
234 238
 <li><a href="http://dx.doi.org/10.1016/j.meegid.2015.12.006">http://dx.doi.org/10.1016/j.meegid.2015.12.006</a></li>
235 239
 </ul>
236
-<p><img alt="" src="https://guangchuangyu.github.io/featured_img/ggtree/2015_peiyu_1-s2.0-S1567134815300721-gr1.jpg" /></p></div>
240
+<p><img alt="" src="https://guangchuangyu.github.io/featured_img/ggtree/2015_peiyu_1-s2.0-S1567134815300721-gr1.jpg" /></p>
241
+<hr /></div>
237 242
         </div>
238 243
 
239 244
         <footer class="col-md-12">
... ...
@@ -38,11 +38,6 @@ $('body').scrollspy({
38 38
     target: '.bs-sidebar',
39 39
 });
40 40
 
41
-/* Toggle the `clicky` class on the body when clicking links to let us
42
-   retrigger CSS animations. See ../css/base.css for more details. */
43
-$('a').click(function(e) {
44
-    $('body').toggleClass('clicky');
45
-});
46 41
 
47 42
 /* Prevent disabled links from causing a page reload */
48 43
 $("li.disabled a").click(function() {
... ...
@@ -1,273 +1,273 @@
1 1
 {
2 2
     "docs": [
3 3
         {
4
-            "location": "/",
5
-            "text": "The \nggtree\n package extending the \nggplot2\n package. It based on grammar of graphics and takes all the good parts of \nggplot2\n.  \nggtree\n is designed for not only viewing phylogenetic tree but also displaying annotation data on the tree.\n\nggtree\n is released within the \nBioconductor\n project and the source code is hosted on \n GitHub\n.\n\n\n Authors\n\n\nGuangchuang Yu and Tommy Tsan-Yuk Lam, School of Public Health, The University of Hong Kong.\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 package for visualization and annotation of phylogenetic trees with their covariates and other associated data. \nMethods in Ecology and Evolution\n. 2017, 8(1):28-36.\n\n\n Featured Articles\n\n\n\n\n Find out more on \n \nFeatured Articles\n.\n\n\n Installation\n\n\nInstall \nggtree\n is easy, follow the guide on the \nBioconductor page\n:\n\n\n## try http:// if https:// URLs are not supported\nsource(\"https://bioconductor.org/biocLite.R\")\n## biocLite(\"BiocUpgrade\") ## you may need this\nbiocLite(\"ggtree\")\n\n\n\n\nIf you have problems when installing some of the dependent packages, please refer to the \nggtree-installation\n wiki 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 & annotation\n\n\n\n\nparsing tree as a collection of nodes allows grammar of graphics to 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 the tree visually\n\n\n\n\n Find out details and examples on \n \nDocumentation\n.\n\n\n Projects that depend on \nggtree\n\n\n Bioconductor packages\n\n\n\n\nLINC\n: co-expression of lincRNAs and protein-coding genes\n\n\nphilr\n: Phylogenetic partitioning based ILR transform for metagenomics data\n\n\n\n\n Other applications\n\n\n\n\nBreadCrumbs\n: Collection of scripts for metagenomics analysis\n\n\nDegeneratePrimerTools\n: Utilities for Creating and Validating Degenerate primers\n\n\nphyloscan\n: scan phylogenies created along a genome for patterns\n\n\n\n\n Feedback\n\n\n\n    \n Please make sure you \nfollow the 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",
4
+            "location": "/", 
5
+            "text": "The \nggtree\n package extending the \nggplot2\n package. It based on grammar of graphics and takes all the good parts of \nggplot2\n.  \nggtree\n is designed for not only viewing phylogenetic tree but also displaying annotation data on the tree.\n\nggtree\n is released within the \nBioconductor\n project and the source code is hosted on \n GitHub\n.\n\n\n Authors\n\n\nGuangchuang Yu and Tommy Tsan-Yuk Lam, School of Public Health, The University of Hong Kong.\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 package for visualization and annotation of phylogenetic trees with their covariates and other associated data. \nMethods in Ecology and Evolution\n. 2017, 8(1):28-36.\n\n\n Featured Articles\n\n\n\n\n Find out more on \n \nFeatured Articles\n.\n\n\n Installation\n\n\nInstall \nggtree\n is easy, follow the guide on the \nBioconductor page\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, please refer to the \nggtree-installation\n wiki 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 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 the tree visually\n\n\n\n\n Find out details and examples on \n \nDocumentation\n.\n\n\n Projects that depend on \nggtree\n\n\n Bioconductor packages\n\n\n\n\nLINC\n: co-expression of lincRNAs and protein-coding genes\n\n\nphilr\n: Phylogenetic partitioning based ILR transform for metagenomics data\n\n\n\n\n Other applications\n\n\n\n\nBreadCrumbs\n: Collection of scripts for metagenomics analysis\n\n\nDegeneratePrimerTools\n: Utilities for Creating and Validating Degenerate primers\n\n\nphyloscan\n: scan phylogenies created along a genome for patterns\n\n\n\n\n Feedback\n\n\n\n    \n Please make sure you \nfollow the 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
         {
9
-            "location": "/#authors",
10
-            "text": "Guangchuang Yu and Tommy Tsan-Yuk Lam, School of Public Health, The University of Hong Kong.",
9
+            "location": "/#authors", 
10
+            "text": "Guangchuang Yu and Tommy Tsan-Yuk Lam, School of Public Health, The University of Hong Kong.", 
11 11
             "title": " Authors"
12
-        },
12
+        }, 
13 13
         {
14
-            "location": "/#citation",
15
-            "text": "Please cite the following article when using  ggtree :     G Yu , DK Smith, H Zhu, Y Guan, TTY Lam * . 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.",
14
+            "location": "/#citation", 
15
+            "text": "Please cite the following article when using  ggtree :     G Yu , DK Smith, H Zhu, Y Guan, TTY Lam * . 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.", 
16 16
             "title": " Citation"
17
-        },
17
+        }, 
18 18
         {
19
-            "location": "/#featured-articles",
20
-            "text": "Find out more on    Featured Articles .",
19
+            "location": "/#featured-articles", 
20
+            "text": "Find out more on    Featured Articles .", 
21 21
             "title": " Featured Articles"
22
-        },
22
+        }, 
23 23
         {
24
-            "location": "/#installation",
25
-            "text": "Install  ggtree  is easy, follow the guide on the  Bioconductor page :  ## try http:// if https:// URLs are not supported\nsource(\"https://bioconductor.org/biocLite.R\")\n## biocLite(\"BiocUpgrade\") ## you may need this\nbiocLite(\"ggtree\")  If you have problems when installing some of the dependent packages, please refer to the  ggtree-installation  wiki page.",
24
+            "location": "/#installation", 
25
+            "text": "Install  ggtree  is easy, follow the guide on the  Bioconductor page :  ## try http:// if https:// URLs are not supported\nsource( https://bioconductor.org/biocLite.R )\n## biocLite( BiocUpgrade ) ## you may need this\nbiocLite( ggtree )  If you have problems when installing some of the dependent packages, please refer to the  ggtree-installation  wiki page.", 
26 26
             "title": " Installation"
27
-        },
27
+        }, 
28 28
         {
29
-            "location": "/#overview",
30
-            "text": "",
29
+            "location": "/#overview", 
30
+            "text": "", 
31 31
             "title": " Overview"
32
-        },
32
+        }, 
33 33
         {
34
-            "location": "/#getting-tree-into-r",
35
-            "text": "tree parsers: bring evolution evidences to be used/analyzed in  R  merge_tree : allows evolution evidences to be merged and compared  fortify  methods: convert tree objects into tidy data frame",
34
+            "location": "/#getting-tree-into-r", 
35
+            "text": "tree parsers: bring evolution evidences to be used/analyzed in  R  merge_tree : allows evolution evidences to be merged and compared  fortify  methods: convert tree objects into tidy data frame", 
36 36
             "title": " Getting tree into R"
37
-        },
37
+        }, 
38 38
         {
39
-            "location": "/#tree-visualization-annotation",
40
-            "text": "parsing tree as a collection of nodes allows grammar of graphics to be supported  geom_tree : extends  ggplot2  to support tree structure  several layers and functions for tree annotation  supports annotating phylogenetic trees with user's own data",
39
+            "location": "/#tree-visualization-annotation", 
40
+            "text": "parsing tree as a collection of nodes allows grammar of graphics to be supported  geom_tree : extends  ggplot2  to support tree structure  several layers and functions for tree annotation  supports annotating phylogenetic trees with user's own data", 
41 41
             "title": " Tree visualization &amp; annotation"
42
-        },
42
+        }, 
43 43
         {
44
-            "location": "/#tree-manipulation",
45
-            "text": "helper functions for tree manipulation, make it possible to explore the tree visually    Find out details and examples on    Documentation .",
44
+            "location": "/#tree-manipulation", 
45
+            "text": "helper functions for tree manipulation, make it possible to explore the tree visually    Find out details and examples on    Documentation .", 
46 46
             "title": " Tree manipulation"
47
-        },
47
+        }, 
48 48
         {
49
-            "location": "/#projects-that-depend-on-ggtree",
50
-            "text": "",
49
+            "location": "/#projects-that-depend-on-ggtree", 
50
+            "text": "", 
51 51
             "title": " Projects that depend on ggtree"
52
-        },
52
+        }, 
53 53
         {
54
-            "location": "/#bioconductor-packages",
55
-            "text": "LINC : co-expression of lincRNAs and protein-coding genes  philr : Phylogenetic partitioning based ILR transform for metagenomics data",
54
+            "location": "/#bioconductor-packages", 
55
+            "text": "LINC : co-expression of lincRNAs and protein-coding genes  philr : Phylogenetic partitioning based ILR transform for metagenomics data", 
56 56
             "title": " Bioconductor packages"
57
-        },
57
+        }, 
58 58
         {
59
-            "location": "/#other-applications",
60
-            "text": "BreadCrumbs : Collection of scripts for metagenomics analysis  DegeneratePrimerTools : Utilities for Creating and Validating Degenerate primers  phyloscan : scan phylogenies created along a genome for patterns",
59
+            "location": "/#other-applications", 
60
+            "text": "BreadCrumbs : Collection of scripts for metagenomics analysis  DegeneratePrimerTools : Utilities for Creating and Validating Degenerate primers  phyloscan : scan phylogenies created along a genome for patterns", 
61 61
             "title": " Other applications"
62
-        },
62
+        }, 
63 63
         {
64
-            "location": "/#feedback",
65
-            "text": "Please make sure you  follow the guide  before posting any issue/question \n      For bugs or feature requests, please post to    github issue \n       For user questions, please post to    google group \n      We are also following every post tagged with  ggtree  on  Bioconductor support site  and  Biostars \n      Join the group chat on   and",
64
+            "location": "/#feedback", 
65
+            "text": "Please make sure you  follow the guide  before posting any issue/question \n      For bugs or feature requests, please post to    github issue \n       For user questions, please post to    google group \n      We are also following every post tagged with  ggtree  on  Bioconductor support site  and  Biostars \n      Join the group chat on   and", 
66 66
             "title": " Feedback"
67
-        },
67
+        }, 
68 68
         {
69
-            "location": "/documentation/",
70
-            "text": "Vignettes\n\n\n\n\nggtree\n\n\nTree Data Import\n\n\nTree Visualization\n\n\nTree Annotation\n\n\nTree Manipulation\n\n\nAdvance Tree Annotation\n\n\nggtree utilities\n\n\n\n\n Blog posts\n\n\n News and updates\n\n\n\n\nviewing and annotating phylogenetic tree with ggtree\n\n\nggtree in Bioconductor 3.1\n\n\nBioC 3.1: NEWS of my BioC packages\n\n\nBioC 3.2: NEWS of my BioC packages\n\n\nNews of ggtree\n\n\nBioC 3.3: NEWS of my BioC packages\n\n\nBioC 3.4: NEWS of my BioC packages\n\n\nggtree paper published\n\n\n\n\n Data manipulation\n\n\n\n\nsubsetting data in ggtree\n\n\nggtree supports phylip tree format\n\n\nconvert graphic object to tree object using treeio\n\n\n\n\n Tree visualization\n\n\n\n\nggtree - updating a tree view\n\n\nan example of drawing beast tree using ggtree\n\n\n\n\n Tree annotation\n\n\n\n\nlabel edge number in ggtree\n\n\nEdge coloring with user data\n\n\nsubview\n\n\nAnnotate a phylogenetic tree with insets\n\n\nggtree annotate phylogenetic tree with local images\n\n\nembed images in ggplot2 via subview and annotate a phylogenetic tree with images using inset function\n\n\nidentify method for ggtree\n\n\nfacet_plot: a general solution to associate data with phylogenetic tree\n\n\nalign genomic features with phylogenetic tree\n\n\nxlim_tree: set x axis limits for only Tree panel\n\n\nadd layer to specific panel of facet_plot output\n\n\n\n\n Tree manipulation\n\n\n\n\nflip and rotate branches in ggtree\n\n\n\n\n Application\n\n\n\n\nggtree for microbiome data\n\n\nggtree for outbreak data\n\n\nggtree version of plotTree\n\n\nreproducible logo generated by ggtree\n\n\n\n\n Funny stuff\n\n\n\n\nggtree with funny fonts\n\n\ncomic phylogenetic tree with ggtree and comicR\n\n\nuse emoji font in R\n\n\n\n\n User's feedback\n\n\n\n\ntweets of ggtree\n\n\nJoin the group chat on \n and \n\n\n\n\n Find out more on \nhttps://guangchuangyu.github.io/tags/ggtree/\n.\n\n\n Slides\n\n\n\n\nGenerating publication quality figures using R & ggplot2\n\n\nggtree for visualization and annotation of phylogenetic trees\n\n\n\n\n Video\n\n\n\n\ninteractive clade highlighting\n\n\ninteractive rotating clades\n\n\ninteractive clade labeling\n\n\n\n\n Workflow\n\n\n\n\nrecreate a tree from a publication (\nBloom\n \net al\n, \nScience\n 2010)",
69
+            "location": "/documentation/", 
70
+            "text": "Vignettes\n\n\n\n\nggtree\n\n\nTree Data Import\n\n\nTree Visualization\n\n\nTree Annotation\n\n\nTree Manipulation\n\n\nAdvance Tree Annotation\n\n\nggtree utilities\n\n\n\n\n Blog posts\n\n\n News and updates\n\n\n\n\nviewing and annotating phylogenetic tree with ggtree\n\n\nggtree in Bioconductor 3.1\n\n\nBioC 3.1: NEWS of my BioC packages\n\n\nBioC 3.2: NEWS of my BioC packages\n\n\nNews of ggtree\n\n\nBioC 3.3: NEWS of my BioC packages\n\n\nBioC 3.4: NEWS of my BioC packages\n\n\nggtree paper published\n\n\n\n\n Data manipulation\n\n\n\n\nsubsetting data in ggtree\n\n\nggtree supports phylip tree format\n\n\nconvert graphic object to tree object using treeio\n\n\n\n\n Tree visualization\n\n\n\n\nggtree - updating a tree view\n\n\nan example of drawing beast tree using ggtree\n\n\n\n\n Tree annotation\n\n\n\n\nlabel edge number in ggtree\n\n\nEdge coloring with user data\n\n\nsubview\n\n\nAnnotate a phylogenetic tree with insets\n\n\nggtree annotate phylogenetic tree with local images\n\n\nembed images in ggplot2 via subview and annotate a phylogenetic tree with images using inset function\n\n\nidentify method for ggtree\n\n\nfacet_plot: a general solution to associate data with phylogenetic tree\n\n\nalign genomic features with phylogenetic tree\n\n\nxlim_tree: set x axis limits for only Tree panel\n\n\nadd layer to specific panel of facet_plot output\n\n\n\n\n Tree manipulation\n\n\n\n\nflip and rotate branches in ggtree\n\n\n\n\n Application\n\n\n\n\nggtree for microbiome data\n\n\nggtree for outbreak data\n\n\nggtree version of plotTree\n\n\nreproducible logo generated by ggtree\n\n\n\n\n Funny stuff\n\n\n\n\nggtree with funny fonts\n\n\ncomic phylogenetic tree with ggtree and comicR\n\n\nuse emoji font in R\n\n\n\n\n User's feedback\n\n\n\n\ntweets of ggtree\n\n\nJoin the group chat on \n and \n\n\n\n\n Find out more on \nhttps://guangchuangyu.github.io/tags/ggtree/\n.\n\n\n Slides\n\n\n\n\nGenerating publication quality figures using R \n ggplot2\n\n\nggtree for visualization and annotation of phylogenetic trees\n\n\n\n\n Video\n\n\n\n\ninteractive clade highlighting\n\n\ninteractive rotating clades\n\n\ninteractive clade labeling\n\n\n\n\n Workflow\n\n\n\n\nrecreate a tree from a publication (\nBloom\n \net al\n, \nScience\n 2010)", 
71 71
             "title": "Documentation"
72
-        },
72
+        }, 
73 73
         {
74
-            "location": "/documentation/#vignettes",
75
-            "text": "ggtree  Tree Data Import  Tree Visualization  Tree Annotation  Tree Manipulation  Advance Tree Annotation  ggtree utilities",
74
+            "location": "/documentation/#vignettes", 
75
+            "text": "ggtree  Tree Data Import  Tree Visualization  Tree Annotation  Tree Manipulation  Advance Tree Annotation  ggtree utilities", 
76 76
             "title": " Vignettes"
77
-        },
77
+        }, 
78 78
         {
79
-            "location": "/documentation/#blog-posts",
80
-            "text": "",
79
+            "location": "/documentation/#blog-posts", 
80
+            "text": "", 
81 81
             "title": " Blog posts"
82
-        },
82
+        }, 
83 83
         {
84
-            "location": "/documentation/#news-and-updates",
85
-            "text": "viewing and annotating phylogenetic tree with ggtree  ggtree in Bioconductor 3.1  BioC 3.1: NEWS of my BioC packages  BioC 3.2: NEWS of my BioC packages  News of ggtree  BioC 3.3: NEWS of my BioC packages  BioC 3.4: NEWS of my BioC packages  ggtree paper published",
84
+            "location": "/documentation/#news-and-updates", 
85
+            "text": "viewing and annotating phylogenetic tree with ggtree  ggtree in Bioconductor 3.1  BioC 3.1: NEWS of my BioC packages  BioC 3.2: NEWS of my BioC packages  News of ggtree  BioC 3.3: NEWS of my BioC packages  BioC 3.4: NEWS of my BioC packages  ggtree paper published", 
86 86
             "title": " News and updates"
87
-        },
87
+        }, 
88 88
         {
89
-            "location": "/documentation/#data-manipulation",
90
-            "text": "subsetting data in ggtree  ggtree supports phylip tree format  convert graphic object to tree object using treeio",
89
+            "location": "/documentation/#data-manipulation", 
90
+            "text": "subsetting data in ggtree  ggtree supports phylip tree format  convert graphic object to tree object using treeio", 
91 91
             "title": " Data manipulation"
92
-        },
92
+        }, 
93 93
         {
94
-            "location": "/documentation/#tree-visualization",
95
-            "text": "ggtree - updating a tree view  an example of drawing beast tree using ggtree",
94
+            "location": "/documentation/#tree-visualization", 
95
+            "text": "ggtree - updating a tree view  an example of drawing beast tree using ggtree", 
96 96
             "title": " Tree visualization"
97
-        },
97
+        }, 
98 98
         {
99
-            "location": "/documentation/#tree-annotation",
100
-            "text": "label edge number in ggtree  Edge coloring with user data  subview  Annotate a phylogenetic tree with insets  ggtree annotate phylogenetic tree with local images  embed images in ggplot2 via subview and annotate a phylogenetic tree with images using inset function  identify method for ggtree  facet_plot: a general solution to associate data with phylogenetic tree  align genomic features with phylogenetic tree  xlim_tree: set x axis limits for only Tree panel  add layer to specific panel of facet_plot output",
99
+            "location": "/documentation/#tree-annotation", 
100
+            "text": "label edge number in ggtree  Edge coloring with user data  subview  Annotate a phylogenetic tree with insets  ggtree annotate phylogenetic tree with local images  embed images in ggplot2 via subview and annotate a phylogenetic tree with images using inset function  identify method for ggtree  facet_plot: a general solution to associate data with phylogenetic tree  align genomic features with phylogenetic tree  xlim_tree: set x axis limits for only Tree panel  add layer to specific panel of facet_plot output", 
101 101
             "title": " Tree annotation"
102
-        },
102
+        }, 
103 103
         {
104
-            "location": "/documentation/#tree-manipulation",
105
-            "text": "flip and rotate branches in ggtree",
104
+            "location": "/documentation/#tree-manipulation", 
105
+            "text": "flip and rotate branches in ggtree", 
106 106
             "title": " Tree manipulation"
107
-        },
107
+        }, 
108 108
         {
109
-            "location": "/documentation/#application",
110
-            "text": "ggtree for microbiome data  ggtree for outbreak data  ggtree version of plotTree  reproducible logo generated by ggtree",
109
+            "location": "/documentation/#application", 
110
+            "text": "ggtree for microbiome data  ggtree for outbreak data  ggtree version of plotTree  reproducible logo generated by ggtree", 
111 111
             "title": " Application"
112
-        },
112
+        }, 
113 113
         {
114
-            "location": "/documentation/#funny-stuff",
115
-            "text": "ggtree with funny fonts  comic phylogenetic tree with ggtree and comicR  use emoji font in R",
114
+            "location": "/documentation/#funny-stuff", 
115
+            "text": "ggtree with funny fonts  comic phylogenetic tree with ggtree and comicR  use emoji font in R", 
116 116
             "title": " Funny stuff"
117
-        },
117
+        }, 
118 118
         {
119
-            "location": "/documentation/#users-feedback",
120
-            "text": "tweets of ggtree  Join the group chat on   and     Find out more on  https://guangchuangyu.github.io/tags/ggtree/ .",
119
+            "location": "/documentation/#users-feedback", 
120
+            "text": "tweets of ggtree  Join the group chat on   and     Find out more on  https://guangchuangyu.github.io/tags/ggtree/ .", 
121 121
             "title": " User's feedback"
122
-        },
122
+        }, 
123 123
         {
124
-            "location": "/documentation/#slides",
125
-            "text": "Generating publication quality figures using R & ggplot2  ggtree for visualization and annotation of phylogenetic trees",
124
+            "location": "/documentation/#slides", 
125
+            "text": "Generating publication quality figures using R   ggplot2  ggtree for visualization and annotation of phylogenetic trees", 
126 126
             "title": " Slides"
127
-        },
127
+        }, 
128 128
         {
129
-            "location": "/documentation/#video",
130
-            "text": "interactive clade highlighting  interactive rotating clades  interactive clade labeling",
129
+            "location": "/documentation/#video", 
130
+            "text": "interactive clade highlighting  interactive rotating clades  interactive clade labeling", 
131 131
             "title": " Video"
132
-        },
132
+        }, 
133 133
         {
134
-            "location": "/documentation/#workflow",
135
-            "text": "recreate a tree from a publication ( Bloom   et al ,  Science  2010)",
134
+            "location": "/documentation/#workflow", 
135
+            "text": "recreate a tree from a publication ( Bloom   et al ,  Science  2010)", 
136 136
             "title": " Workflow"
137
-        },
137
+        }, 
138 138
         {
139
-            "location": "/faq/",
140
-            "text": "Installation\n\n\n Could not find function\n\n\nIf you got \nthis error\n, please make sure you are using the latest R and \nggtree\n.\n\n\nPackages in Bioconductor, like \nggtree\n, 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 \ndevel\n branch.\n\n\nSometimes I may write blog post to introduce new functions which is not available in \nrelease\n branch, you need to install the \ndevel\n version of \nggtree\n in order to use these new functions.\n\n\nYou can download the \ndevel\n version of \nggtree\n from \nhttp://bioconductor.org/packages/devel/bioc/html/ggtree.html\n and install it, or install the github version of \nggtree\n.\n\n\nThis also applied to other of my packages, including \nGOSemSim\n, \nDOSE\n, \nclusterProfiler\n, \nReactomePA\n and \nChIPseeker\n. If you got the \ncould not find function\n error, upgrade your installation to latest release. If the error still exists after upgrading to latest release, you need to install the devel version.\n\n\n Text & Label\n\n\n Tip label truncated\n\n\nggplot2 can't auto adjust xlim based on added text.\n\n\nlibrary(ggtree)\n## example tree from https://support.bioconductor.org/p/72398/\ntree<-read.tree(text=\"(Organism1.006G249400.1:0.03977,(Organism2.022118m:0.01337,(Organism3.J34265.1:0.00284,Organism4.G02633.1:0.00468)0.51:0.0104):0.02469);\")\nggtree(tree) + geom_tiplab()\n\n\n\n\nThis is because the units are in two different spaces (data and pixel). Users can use xlim to allocate more space for tip label.\n\n\nggtree(tree) + geom_tiplab() + xlim(0, 0.06)\n\n\n\n\n Modify (tip) labels\n\n\nThis could be easily done via the \n%<+%\n operator to attach the\nmodified version of the labels and than use \ngeom_tiplab\n to display\nthe modified version.\n\n\nraxml_file <- system.file(\"extdata/RAxML\", \"RAxML_bipartitionsBranchLabels.H3\", package=\"ggtree\")\nraxml <- read.raxml(raxml_file)\n\nlb = get.tree(raxml)$tip.label\nd = data.frame(label=lb, label2 = paste(\"AA\", substring(lb, 1, 5)))\nggtree(raxml) %<+% d + geom_tiplab(aes(label=label2))\n\n\n\n\nsee also\n\n1\n\nand \n2\n.\n\n\n Formatting (tip) labels\n\n\nIf you want to format labels, you need to set \nparse=TRUE\n in \ngeom_text\n/\ngeom_tiplab\n and the \nlabel\n should be string that can be parsed into expression and displayed as described in \n?plotmath\n.\n\n\nFor example, the tiplabels contains two parts, species name and accession number and we want to display species name in \nitalic\n, we can use command like this:\n\n\nggtree(rtree(30)) + geom_tiplab(aes(subset=node==35), label='paste(italic(\"species name\"), \"accession number\")', parse=T)\n\n\n\n\n Avoid overlapping text labels\n\n\nUser can use \nggrepel\n package to repel overlapping text labels.\n\n\nFor example:\n\n\nlibrary(ggrepel)\nlibrary(ggtree)\nraxml_file <- system.file(\"extdata/RAxML\", \"RAxML_bipartitionsBranchLabels.H3\", package=\"ggtree\")\nraxml <- read.raxml(raxml_file)\nggtree(raxml) + geom_label_repel(aes(label=bootstrap, fill=bootstrap))\n\n\n\n\nFor details, please refer to \nggrepel usage examples\n.\n\n\n bootstrap values from newick format\n\n\nIt's quite command to store \nbootstrap\n value as node label in \nnewick\n format. Visualizing node label is easy using \ngeom_text2(aes(subset = !isTip, label=label))\n.\n\n\nIf you want to only display a subset of \nbootstrap\n (e.g. bootstrap > 80), you can't simply using \ngeom_text2(subset= (label > 80), label=label)\n since \nlabel\n is a character vector, which contains node label (bootstrap value) and tip label (taxa name). If we use \ngeom_text2(subset=(as.numeric(label) > 80), label=label)\n, it will also fail since \nNAs\n were introduced by coercion. We need to convert \nNAs\n to logical \nFALSE\n, this can be done by the following code:\n\n\nnwk <- system.file(\"extdata/RAxML\",\"RAxML_bipartitions.H3\", package='ggtree')\ntr <- read.tree(nwk)\nggtree(tr) + geom_text2(aes(label=label, subset = !is.na(as.numeric(label)) & as.numeric(label) > 80))\n\n\n\n\nAnother solution is converting the bootstrap value outside \nggtree\n as I recommended in \ngoogle group\n.\n\n\nq <- ggtree(tr)\nd <- q$data\nd <- d[!d$isTip,]\nd$label <- as.numeric(d$label)\nd <- d[d$label > 80,]\n\nq + geom_text(data=d, aes(label=label))\n\n\n\n\n \naesthetic\n mapping\n\n\n inherit \naes\n\n\nggtree(rtree(30)) + geom_point()\n\n\n\n\nFor example, we can add symbolic points to nodes with \ngeom_point()\n directly.\nThe magic here is we don't need to map \nx\n and \ny\n position of the points by providing \naes(x, y)\n to \ngeom_point()\n since it was already mapped by \nggtree\n function and it serves as a global mapping for all layers.\n\n\nBut what if we provide a \ndataset\n in a layer and the \ndataset\n doesn't contain column of \nx\n and/or \ny\n,\nthe layer function also try to map \nx\n and \ny\n and also others if you map them in \nggtree\n function.\nAs these variable is not available in your \ndataset\n, you will get the following error:\n\n\nError in eval(expr, envir, enclos) : object 'x' not found\n\n\n\n\nThis can be fixed by using parameter \ninherit.aes=FALSE\n which will disable inheriting mapping from \nggtree\n function.\n\n\n use \n$\n in aes\n\n\nNEVER DO THIS.\n\n\nsee the explaination in the \nggplot2 book 2ed\n:\n\n\n\n\nNever refer to a variable with \n$\n (e.g., \ndiamonds$carat\n) in \naes()\n. 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.\n\n\n\n\nsee also\n\n1\n\nand \n2\n.\n\n\n Annotation\n\n\n colouring edges by user data\n\n\nsee my blog post:\n\nEdge coloring with user data\n\nand also my answer on \nhttps://github.com/GuangchuangYu/ggtree/issues/76\n\nand \nhttps://groups.google.com/forum/#!topic/bioc-ggtree/4GgivKqVjB8\n.",
139
+            "location": "/faq/", 
140
+            "text": "Installation\n\n\n Could not find function\n\n\nIf you got \nthis error\n, please make sure you are using the latest R and \nggtree\n.\n\n\nPackages in Bioconductor, like \nggtree\n, 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 \ndevel\n branch.\n\n\nSometimes I may write blog post to introduce new functions which is not available in \nrelease\n branch, you need to install the \ndevel\n version of \nggtree\n in order to use these new functions.\n\n\nYou can download the \ndevel\n version of \nggtree\n from \nhttp://bioconductor.org/packages/devel/bioc/html/ggtree.html\n and install it, or install the github version of \nggtree\n.\n\n\nThis also applied to other of my packages, including \nGOSemSim\n, \nDOSE\n, \nclusterProfiler\n, \nReactomePA\n and \nChIPseeker\n. If you got the \ncould not find function\n error, upgrade your installation to latest release. If the error still exists after upgrading to latest release, you need to install the devel version.\n\n\n Text \n Label\n\n\n Tip label truncated\n\n\nggplot2 can't auto adjust xlim based on added text.\n\n\nlibrary(ggtree)\n## example tree from https://support.bioconductor.org/p/72398/\ntree\n-read.tree(text=\n(Organism1.006G249400.1:0.03977,(Organism2.022118m:0.01337,(Organism3.J34265.1:0.00284,Organism4.G02633.1:0.00468)0.51:0.0104):0.02469);\n)\nggtree(tree) + geom_tiplab()\n\n\n\n\nThis is because the units are in two different spaces (data and pixel). Users can use xlim to allocate more space for tip label.\n\n\nggtree(tree) + geom_tiplab() + xlim(0, 0.06)\n\n\n\n\n Modify (tip) labels\n\n\nThis could be easily done via the \n%\n+%\n operator to attach the\nmodified version of the labels and than use \ngeom_tiplab\n to display\nthe modified version.\n\n\nraxml_file \n- system.file(\nextdata/RAxML\n, \nRAxML_bipartitionsBranchLabels.H3\n, package=\nggtree\n)\nraxml \n- read.raxml(raxml_file)\n\nlb = get.tree(raxml)$tip.label\nd = data.frame(label=lb, label2 = paste(\nAA\n, substring(lb, 1, 5)))\nggtree(raxml) %\n+% d + geom_tiplab(aes(label=label2))\n\n\n\n\nsee also\n\n1\n\nand \n2\n.\n\n\n Formatting (tip) labels\n\n\nIf you want to format labels, you need to set \nparse=TRUE\n in \ngeom_text\n/\ngeom_tiplab\n and the \nlabel\n should be string that can be parsed into expression and displayed as described in \n?plotmath\n.\n\n\nFor example, the tiplabels contains two parts, species name and accession number and we want to display species name in \nitalic\n, we can use command like this:\n\n\nggtree(rtree(30)) + geom_tiplab(aes(subset=node==35), label='paste(italic(\nspecies name\n), \naccession number\n)', parse=T)\n\n\n\n\n Avoid overlapping text labels\n\n\nUser can use \nggrepel\n package to repel overlapping text labels.\n\n\nFor example:\n\n\nlibrary(ggrepel)\nlibrary(ggtree)\nraxml_file \n- system.file(\nextdata/RAxML\n, \nRAxML_bipartitionsBranchLabels.H3\n, package=\nggtree\n)\nraxml \n- read.raxml(raxml_file)\nggtree(raxml) + geom_label_repel(aes(label=bootstrap, fill=bootstrap))\n\n\n\n\nFor details, please refer to \nggrepel usage examples\n.\n\n\n bootstrap values from newick format\n\n\nIt's quite command to store \nbootstrap\n value as node label in \nnewick\n format. Visualizing node label is easy using \ngeom_text2(aes(subset = !isTip, label=label))\n.\n\n\nIf you want to only display a subset of \nbootstrap\n (e.g. bootstrap \n 80), you can't simply using \ngeom_text2(subset= (label \n 80), label=label)\n since \nlabel\n is a character vector, which contains node label (bootstrap value) and tip label (taxa name). If we use \ngeom_text2(subset=(as.numeric(label) \n 80), label=label)\n, it will also fail since \nNAs\n were introduced by coercion. We need to convert \nNAs\n to logical \nFALSE\n, this can be done by the following code:\n\n\nnwk \n- system.file(\nextdata/RAxML\n,\nRAxML_bipartitions.H3\n, package='ggtree')\ntr \n- read.tree(nwk)\nggtree(tr) + geom_text2(aes(label=label, subset = !is.na(as.numeric(label)) \n as.numeric(label) \n 80))\n\n\n\n\nAnother solution is converting the bootstrap value outside \nggtree\n as I recommended in \ngoogle group\n.\n\n\nq \n- ggtree(tr)\nd \n- q$data\nd \n- d[!d$isTip,]\nd$label \n- as.numeric(d$label)\nd \n- d[d$label \n 80,]\n\nq + geom_text(data=d, aes(label=label))\n\n\n\n\n \naesthetic\n mapping\n\n\n inherit \naes\n\n\nggtree(rtree(30)) + geom_point()\n\n\n\n\nFor example, we can add symbolic points to nodes with \ngeom_point()\n directly.\nThe magic here is we don't need to map \nx\n and \ny\n position of the points by providing \naes(x, y)\n to \ngeom_point()\n since it was already mapped by \nggtree\n function and it serves as a global mapping for all layers.\n\n\nBut what if we provide a \ndataset\n in a layer and the \ndataset\n doesn't contain column of \nx\n and/or \ny\n,\nthe layer function also try to map \nx\n and \ny\n and also others if you map them in \nggtree\n function.\nAs these variable is not available in your \ndataset\n, you will get the following error:\n\n\nError in eval(expr, envir, enclos) : object 'x' not found\n\n\n\n\nThis can be fixed by using parameter \ninherit.aes=FALSE\n which will disable inheriting mapping from \nggtree\n function.\n\n\n use \n$\n in aes\n\n\nNEVER DO THIS.\n\n\nsee the explaination in the \nggplot2 book 2ed\n:\n\n\n\n\nNever refer to a variable with \n$\n (e.g., \ndiamonds$carat\n) in \naes()\n. 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.\n\n\n\n\nsee also\n\n1\n\nand \n2\n.\n\n\n Annotation\n\n\n colouring edges by user data\n\n\nsee my blog post:\n\nEdge coloring with user data\n\nand also my answer on \nhttps://github.com/GuangchuangYu/ggtree/issues/76\n\nand \nhttps://groups.google.com/forum/#!topic/bioc-ggtree/4GgivKqVjB8\n.", 
141 141
             "title": "FAQ"
142
-        },
142
+        }, 
143 143
         {
144
-            "location": "/faq/#installation",
145
-            "text": "",
144
+            "location": "/faq/#installation", 
145
+            "text": "", 
146 146
             "title": " Installation"
147
-        },
147
+        }, 
148 148
         {
149
-            "location": "/faq/#could-not-find-function",
150
-            "text": "If you got  this error , please make sure you are using the latest R and  ggtree .  Packages in Bioconductor, like  ggtree , 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  devel  branch.  Sometimes I may write blog post to introduce new functions which is not available in  release  branch, you need to install the  devel  version of  ggtree  in order to use these new functions.  You can download the  devel  version of  ggtree  from  http://bioconductor.org/packages/devel/bioc/html/ggtree.html  and install it, or install the github version of  ggtree .  This also applied to other of my packages, including  GOSemSim ,  DOSE ,  clusterProfiler ,  ReactomePA  and  ChIPseeker . If you got the  could not find function  error, upgrade your installation to latest release. If the error still exists after upgrading to latest release, you need to install the devel version.",
149
+            "location": "/faq/#could-not-find-function", 
150
+            "text": "If you got  this error , please make sure you are using the latest R and  ggtree .  Packages in Bioconductor, like  ggtree , 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  devel  branch.  Sometimes I may write blog post to introduce new functions which is not available in  release  branch, you need to install the  devel  version of  ggtree  in order to use these new functions.  You can download the  devel  version of  ggtree  from  http://bioconductor.org/packages/devel/bioc/html/ggtree.html  and install it, or install the github version of  ggtree .  This also applied to other of my packages, including  GOSemSim ,  DOSE ,  clusterProfiler ,  ReactomePA  and  ChIPseeker . If you got the  could not find function  error, upgrade your installation to latest release. If the error still exists after upgrading to latest release, you need to install the devel version.", 
151 151
             "title": " Could not find function"
152
-        },
152
+        }, 
153 153
         {
154
-            "location": "/faq/#text-label",
155
-            "text": "",
154
+            "location": "/faq/#text-label", 
155
+            "text": "", 
156 156
             "title": " Text &amp; Label"
157
-        },
157
+        }, 
158 158
         {
159
-            "location": "/faq/#tip-label-truncated",
160
-            "text": "ggplot2 can't auto adjust xlim based on added text.  library(ggtree)\n## example tree from https://support.bioconductor.org/p/72398/\ntree<-read.tree(text=\"(Organism1.006G249400.1:0.03977,(Organism2.022118m:0.01337,(Organism3.J34265.1:0.00284,Organism4.G02633.1:0.00468)0.51:0.0104):0.02469);\")\nggtree(tree) + geom_tiplab()  This is because the units are in two different spaces (data and pixel). Users can use xlim to allocate more space for tip label.  ggtree(tree) + geom_tiplab() + xlim(0, 0.06)",
159
+            "location": "/faq/#tip-label-truncated", 
160
+            "text": "ggplot2 can't auto adjust xlim based on added text.  library(ggtree)\n## example tree from https://support.bioconductor.org/p/72398/\ntree -read.tree(text= (Organism1.006G249400.1:0.03977,(Organism2.022118m:0.01337,(Organism3.J34265.1:0.00284,Organism4.G02633.1:0.00468)0.51:0.0104):0.02469); )\nggtree(tree) + geom_tiplab()  This is because the units are in two different spaces (data and pixel). Users can use xlim to allocate more space for tip label.  ggtree(tree) + geom_tiplab() + xlim(0, 0.06)", 
161 161
             "title": " Tip label truncated"
162
-        },
162
+        }, 
163 163
         {
164
-            "location": "/faq/#modify-tip-labels",
165
-            "text": "This could be easily done via the  %<+%  operator to attach the\nmodified version of the labels and than use  geom_tiplab  to display\nthe modified version.  raxml_file <- system.file(\"extdata/RAxML\", \"RAxML_bipartitionsBranchLabels.H3\", package=\"ggtree\")\nraxml <- read.raxml(raxml_file)\n\nlb = get.tree(raxml)$tip.label\nd = data.frame(label=lb, label2 = paste(\"AA\", substring(lb, 1, 5)))\nggtree(raxml) %<+% d + geom_tiplab(aes(label=label2))  see also 1 \nand  2 .",
164
+            "location": "/faq/#modify-tip-labels", 
165
+            "text": "This could be easily done via the  % +%  operator to attach the\nmodified version of the labels and than use  geom_tiplab  to display\nthe modified version.  raxml_file  - system.file( extdata/RAxML ,  RAxML_bipartitionsBranchLabels.H3 , package= ggtree )\nraxml  - read.raxml(raxml_file)\n\nlb = get.tree(raxml)$tip.label\nd = data.frame(label=lb, label2 = paste( AA , substring(lb, 1, 5)))\nggtree(raxml) % +% d + geom_tiplab(aes(label=label2))  see also 1 \nand  2 .", 
166 166
             "title": " Modify (tip) labels"
167
-        },
167
+        }, 
168 168
         {
169
-            "location": "/faq/#formatting-tip-labels",
170
-            "text": "If you want to format labels, you need to set  parse=TRUE  in  geom_text / geom_tiplab  and the  label  should be string that can be parsed into expression and displayed as described in  ?plotmath .  For example, the tiplabels contains two parts, species name and accession number and we want to display species name in  italic , we can use command like this:  ggtree(rtree(30)) + geom_tiplab(aes(subset=node==35), label='paste(italic(\"species name\"), \"accession number\")', parse=T)",
169
+            "location": "/faq/#formatting-tip-labels", 
170
+            "text": "If you want to format labels, you need to set  parse=TRUE  in  geom_text / geom_tiplab  and the  label  should be string that can be parsed into expression and displayed as described in  ?plotmath .  For example, the tiplabels contains two parts, species name and accession number and we want to display species name in  italic , we can use command like this:  ggtree(rtree(30)) + geom_tiplab(aes(subset=node==35), label='paste(italic( species name ),  accession number )', parse=T)", 
171 171
             "title": " Formatting (tip) labels"
172
-        },
172
+        }, 
173 173
         {
174
-            "location": "/faq/#avoid-overlapping-text-labels",
175
-            "text": "User can use  ggrepel  package to repel overlapping text labels.  For example:  library(ggrepel)\nlibrary(ggtree)\nraxml_file <- system.file(\"extdata/RAxML\", \"RAxML_bipartitionsBranchLabels.H3\", package=\"ggtree\")\nraxml <- read.raxml(raxml_file)\nggtree(raxml) + geom_label_repel(aes(label=bootstrap, fill=bootstrap))  For details, please refer to  ggrepel usage examples .",
174
+            "location": "/faq/#avoid-overlapping-text-labels", 
175
+            "text": "User can use  ggrepel  package to repel overlapping text labels.  For example:  library(ggrepel)\nlibrary(ggtree)\nraxml_file  - system.file( extdata/RAxML ,  RAxML_bipartitionsBranchLabels.H3 , package= ggtree )\nraxml  - read.raxml(raxml_file)\nggtree(raxml) + geom_label_repel(aes(label=bootstrap, fill=bootstrap))  For details, please refer to  ggrepel usage examples .", 
176 176
             "title": " Avoid overlapping text labels"
177
-        },
177
+        }, 
178 178
         {
179
-            "location": "/faq/#bootstrap-values-from-newick-format",
180
-            "text": "It's quite command to store  bootstrap  value as node label in  newick  format. Visualizing node label is easy using  geom_text2(aes(subset = !isTip, label=label)) .  If you want to only display a subset of  bootstrap  (e.g. bootstrap > 80), you can't simply using  geom_text2(subset= (label > 80), label=label)  since  label  is a character vector, which contains node label (bootstrap value) and tip label (taxa name). If we use  geom_text2(subset=(as.numeric(label) > 80), label=label) , it will also fail since  NAs  were introduced by coercion. We need to convert  NAs  to logical  FALSE , this can be done by the following code:  nwk <- system.file(\"extdata/RAxML\",\"RAxML_bipartitions.H3\", package='ggtree')\ntr <- read.tree(nwk)\nggtree(tr) + geom_text2(aes(label=label, subset = !is.na(as.numeric(label)) & as.numeric(label) > 80))  Another solution is converting the bootstrap value outside  ggtree  as I recommended in  google group .  q <- ggtree(tr)\nd <- q$data\nd <- d[!d$isTip,]\nd$label <- as.numeric(d$label)\nd <- d[d$label > 80,]\n\nq + geom_text(data=d, aes(label=label))",
179
+            "location": "/faq/#bootstrap-values-from-newick-format", 
180
+            "text": "It's quite command to store  bootstrap  value as node label in  newick  format. Visualizing node label is easy using  geom_text2(aes(subset = !isTip, label=label)) .  If you want to only display a subset of  bootstrap  (e.g. bootstrap   80), you can't simply using  geom_text2(subset= (label   80), label=label)  since  label  is a character vector, which contains node label (bootstrap value) and tip label (taxa name). If we use  geom_text2(subset=(as.numeric(label)   80), label=label) , it will also fail since  NAs  were introduced by coercion. We need to convert  NAs  to logical  FALSE , this can be done by the following code:  nwk  - system.file( extdata/RAxML , RAxML_bipartitions.H3 , package='ggtree')\ntr  - read.tree(nwk)\nggtree(tr) + geom_text2(aes(label=label, subset = !is.na(as.numeric(label))   as.numeric(label)   80))  Another solution is converting the bootstrap value outside  ggtree  as I recommended in  google group .  q  - ggtree(tr)\nd  - q$data\nd  - d[!d$isTip,]\nd$label  - as.numeric(d$label)\nd  - d[d$label   80,]\n\nq + geom_text(data=d, aes(label=label))", 
181 181
             "title": " bootstrap values from newick format"
182
-        },
182
+        }, 
183 183
         {
184
-            "location": "/faq/#aesthetic-mapping",
185
-            "text": "",
184
+            "location": "/faq/#aesthetic-mapping", 
185
+            "text": "", 
186 186
             "title": " aesthetic mapping"
187
-        },
187
+        }, 
188 188
         {
189
-            "location": "/faq/#inherit-aes",
190
-            "text": "ggtree(rtree(30)) + geom_point()  For example, we can add symbolic points to nodes with  geom_point()  directly.\nThe magic here is we don't need to map  x  and  y  position of the points by providing  aes(x, y)  to  geom_point()  since it was already mapped by  ggtree  function and it serves as a global mapping for all layers.  But what if we provide a  dataset  in a layer and the  dataset  doesn't contain column of  x  and/or  y ,\nthe layer function also try to map  x  and  y  and also others if you map them in  ggtree  function.\nAs these variable is not available in your  dataset , you will get the following error:  Error in eval(expr, envir, enclos) : object 'x' not found  This can be fixed by using parameter  inherit.aes=FALSE  which will disable inheriting mapping from  ggtree  function.",
189
+            "location": "/faq/#inherit-aes", 
190
+            "text": "ggtree(rtree(30)) + geom_point()  For example, we can add symbolic points to nodes with  geom_point()  directly.\nThe magic here is we don't need to map  x  and  y  position of the points by providing  aes(x, y)  to  geom_point()  since it was already mapped by  ggtree  function and it serves as a global mapping for all layers.  But what if we provide a  dataset  in a layer and the  dataset  doesn't contain column of  x  and/or  y ,\nthe layer function also try to map  x  and  y  and also others if you map them in  ggtree  function.\nAs these variable is not available in your  dataset , you will get the following error:  Error in eval(expr, envir, enclos) : object 'x' not found  This can be fixed by using parameter  inherit.aes=FALSE  which will disable inheriting mapping from  ggtree  function.", 
191 191
             "title": " inherit aes"
192
-        },
192
+        }, 
193 193
         {
194
-            "location": "/faq/#use-in-aes",
195
-            "text": "NEVER DO THIS.  see the explaination in the  ggplot2 book 2ed :   Never refer to a variable with  $  (e.g.,  diamonds$carat ) in  aes() . 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.   see also 1 \nand  2 .",
194
+            "location": "/faq/#use-in-aes", 
195
+            "text": "NEVER DO THIS.  see the explaination in the  ggplot2 book 2ed :   Never refer to a variable with  $  (e.g.,  diamonds$carat ) in  aes() . 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.   see also 1 \nand  2 .", 
196 196
             "title": " use $ in aes"
197
-        },
197
+        }, 
198 198
         {
199
-            "location": "/faq/#annotation",
200
-            "text": "",
199
+            "location": "/faq/#annotation", 
200
+            "text": "", 
201 201
             "title": " Annotation"
202
-        },
202
+        }, 
203 203
         {
204
-            "location": "/faq/#colouring-edges-by-user-data",
205
-            "text": "see my blog post: Edge coloring with user data \nand also my answer on  https://github.com/GuangchuangYu/ggtree/issues/76 \nand  https://groups.google.com/forum/#!topic/bioc-ggtree/4GgivKqVjB8 .",
204
+            "location": "/faq/#colouring-edges-by-user-data", 
205
+            "text": "see my blog post: Edge coloring with user data \nand also my answer on  https://github.com/GuangchuangYu/ggtree/issues/76 \nand  https://groups.google.com/forum/#!topic/bioc-ggtree/4GgivKqVjB8 .", 
206 206
             "title": " colouring edges by user data"
207
-        },
207
+        }, 
208 208
         {
209
-            "location": "/featuredArticles/",
210
-            "text": "Let us know\n if you have published 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  }  \n  \n\n\n\n\n\n\n\n    var chartParams = {\n \"element\": \"chart3a016a995a42\",\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\":              4,\n\"pubid\": \"HtEfBTGE9r8C\" \n} \n],\n\"id\": \"chart3a016a995a42\",\n\"labels\": \"cites\" \n},\n      chartType = \"Bar\"\n    new Morris[chartType](chartParams)\n\n\n\n\n 2017\n\n\nPhylogenetic analysis of the human antibody repertoire reveals quantitative signatures of immune senescence and aging\n. \nPNAS\n, 2017\n\n\nGut metagenomes of type 2 diabetic patients have characteristic single-nucleotide polymorphism distribution in \nBacteroides coprocola\n. \nMicrobiome\n, 2017, 5:15\n\n\n 2016\n\n\nFunction and Phylogeny of Bacterial Butyryl Coenzyme A:Acetate Transferases and Their Diversity in the Proximal Colon of Swine\n. \nApplied and Environmental Microbiology\n. 2016,82(22):6788-6798.",
209
+            "location": "/featuredArticles/", 
210
+            "text": "Let us know\n if you have published 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  }  \n  \n\n\n\n\n\n\n\n    var chartParams = {\n \"element\": \"chart38743dff02\",\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\":              4,\n\"pubid\": \"HtEfBTGE9r8C\" \n} \n],\n\"id\": \"chart38743dff02\",\n\"labels\": \"cites\" \n},\n      chartType = \"Bar\"\n    new Morris[chartType](chartParams)\n\n\n\n\n 2017\n\n\nPhylogenetic analysis of the human antibody repertoire reveals quantitative signatures of immune senescence and aging\n. \nPNAS\n, 2017\n\n\nGut metagenomes of type 2 diabetic patients have characteristic single-nucleotide polymorphism distribution in \nBacteroides coprocola\n. \nMicrobiome\n, 2017, 5:15\n\n\n 2016\n\n\nFunction and Phylogeny of Bacterial Butyryl Coenzyme A:Acetate Transferases and Their Diversity in the Proximal Colon of Swine\n. \nApplied and Environmental Microbiology\n. 2016,82(22):6788-6798.", 
211 211
             "title": "Featured Articles"
212
-        },
212
+        }, 
213 213
         {
214
-            "location": "/featuredArticles/#2017",
215
-            "text": "Phylogenetic analysis of the human antibody repertoire reveals quantitative signatures of immune senescence and aging .  PNAS , 2017  Gut metagenomes of type 2 diabetic patients have characteristic single-nucleotide polymorphism distribution in  Bacteroides coprocola .  Microbiome , 2017, 5:15",
214
+            "location": "/featuredArticles/#2017", 
215
+            "text": "Phylogenetic analysis of the human antibody repertoire reveals quantitative signatures of immune senescence and aging .  PNAS , 2017  Gut metagenomes of type 2 diabetic patients have characteristic single-nucleotide polymorphism distribution in  Bacteroides coprocola .  Microbiome , 2017, 5:15", 
216 216
             "title": " 2017"
217
-        },
217
+        }, 
218 218
         {
219
-            "location": "/featuredArticles/#2016",
220
-            "text": "Function and Phylogeny of Bacterial Butyryl Coenzyme A:Acetate Transferases and Their Diversity in the Proximal Colon of Swine .  Applied and Environmental Microbiology . 2016,82(22):6788-6798.",
219
+            "location": "/featuredArticles/#2016", 
220
+            "text": "Function and Phylogeny of Bacterial Butyryl Coenzyme A:Acetate Transferases and Their Diversity in the Proximal Colon of Swine .  Applied and Environmental Microbiology . 2016,82(22):6788-6798.", 
221 221
             "title": " 2016"
222
-        },
222
+        }, 
223 223
         {
224
-            "location": "/gallery/",
225
-            "text": "http://dx.doi.org/10.1186/s40168-017-0232-3\n\n\n\n\n\n\n\n\nhttp://dx.doi.org/10.1111/2041-210X.12628\n\n\n\n\n\n\n\n\nhttp://dx.doi.org/10.1128/AEM.02307-16\n\n\n\n\n\n\n\n\nhttp://dx.doi.org/10.3389%2Ffcimb.2016.00036\n\n\n\n\n\n\n\n\nhttp://dx.doi.org/10.1016/j.meegid.2015.12.006",
224
+            "location": "/gallery/", 
225
+            "text": "http://dx.doi.org/10.1186/s40168-017-0232-3\n\n\n\n\n\n\n\n\n\n\nhttp://dx.doi.org/10.1111/2041-210X.12628\n\n\n\n\n\n\n\n\n\n\nhttp://dx.doi.org/10.1128/AEM.02307-16\n\n\n\n\n\n\n\n\n\n\nhttp://dx.doi.org/10.3389%2Ffcimb.2016.00036\n\n\n\n\n\n\n\n\n\n\nhttp://dx.doi.org/10.1016/j.meegid.2015.12.006", 
226 226
             "title": "Gallery"
227
-        },
227
+        }, 
228 228
         {
229
-            "location": "/ChIPseeker/",
230
-            "text": "",
229
+            "location": "/ChIPseeker/", 
230
+            "text": "", 
231 231
             "title": "ChIPseeker"
232
-        },
232
+        }, 
233 233
         {
234
-            "location": "/clusterProfiler/",
235
-            "text": "",
234
+            "location": "/clusterProfiler/", 
235
+            "text": "", 
236 236
             "title": "clusterProfiler"
237
-        },
237
+        }, 
238 238
         {
239
-            "location": "/DOSE/",
240
-            "text": "",
239
+            "location": "/DOSE/", 
240
+            "text": "", 
241 241
             "title": "DOSE"
242
-        },
242
+        }, 
243 243
         {
244
-            "location": "/emojifont/",
245
-            "text": "",
244
+            "location": "/emojifont/", 
245
+            "text": "", 
246 246
             "title": "emojifont"
247
-        },
247
+        }, 
248 248
         {
249
-            "location": "/ggtree/",
250
-            "text": "",
249
+            "location": "/ggtree/", 
250
+            "text": "", 
251 251
             "title": "ggtree"
252
-        },
252
+        }, 
253 253
         {
254
-            "location": "/GOSemSim/",
255
-            "text": "",
254
+            "location": "/GOSemSim/", 
255
+            "text": "", 
256 256
             "title": "GOSemSim"
257
-        },
257
+        }, 
258 258
         {
259
-            "location": "/meshes/",
260
-            "text": "",
259
+            "location": "/meshes/", 
260
+            "text": "", 
261 261
             "title": "meshes"
262
-        },
262
+        }, 
263 263
         {
264
-            "location": "/ReactomePA/",
265
-            "text": "",
264
+            "location": "/ReactomePA/", 
265
+            "text": "", 
266 266
             "title": "ReactomePA"
267
-        },
267
+        }, 
268 268
         {
269
-            "location": "/treeio/",
270
-            "text": "",
269
+            "location": "/treeio/", 
270
+            "text": "", 
271 271
             "title": "treeio"
272 272
         }
273 273
     ]
... ...
@@ -1,4 +1,4 @@
1
-<div class="navbar {% if config.extra.theme_inverse %}navbar-inverse{% else %}navbar-default{% endif %} navbar-fixed-top" role="navigation">
1
+<div class="navbar navbar-default navbar-fixed-top" role="navigation">
2 2
     <div class="container">
3 3
 
4 4
         <!-- Collapsed navigation -->
... ...
@@ -4,7 +4,7 @@
4 4
     
5 5
     <url>
6 6
      <loc>https://guangchuangyu.github.io/ggtree/</loc>
7
-     <lastmod>2017-02-12</lastmod>
7
+     <lastmod>2017-02-13</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-02-12</lastmod>
15
+     <lastmod>2017-02-13</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-02-12</lastmod>
23
+     <lastmod>2017-02-13</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-02-12</lastmod>
31
+     <lastmod>2017-02-13</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-02-12</lastmod>
39
+     <lastmod>2017-02-13</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-02-12</lastmod>
48
+     <lastmod>2017-02-13</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-02-12</lastmod>
54
+     <lastmod>2017-02-13</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-02-12</lastmod>
60
+     <lastmod>2017-02-13</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-02-12</lastmod>
66
+     <lastmod>2017-02-13</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-02-12</lastmod>
72
+     <lastmod>2017-02-13</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-02-12</lastmod>
78
+     <lastmod>2017-02-13</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-02-12</lastmod>
84
+     <lastmod>2017-02-13</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-02-12</lastmod>
90
+     <lastmod>2017-02-13</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-02-12</lastmod>
96
+     <lastmod>2017-02-13</lastmod>
97 97
      <changefreq>daily</changefreq>
98 98
     </url>
99 99
         
... ...
@@ -36,10 +36,10 @@
36 36
   }  
37 37
   </style>
38 38
 
39
-<div id = 'chart3a016a995a42' class = 'rChart morris'></div>
39
+<div id = 'chart38743dff02' class = 'rChart morris'></div>
40 40
 <script type='text/javascript'>
41 41
     var chartParams = {
42
- "element": "chart3a016a995a42",
42
+ "element": "chart38743dff02",
43 43
 "width":            800,
44 44
 "height":            400,
45 45
 "xkey": "year",
... ...
@@ -58,7 +58,7 @@
58 58
 "pubid": "HtEfBTGE9r8C" 
59 59
 } 
60 60
 ],
61
-"id": "chart3a016a995a42",
61
+"id": "chart38743dff02",
62 62
 "labels": "cites" 
63 63
 },
64 64
       chartType = "Bar"
... ...
@@ -21,19 +21,28 @@
21 21
 
22 22
 ![](https://guangchuangyu.github.io/featured_img/ggtree/40168_2017_232_Fig2_HTML.gif)
23 23
 
24
+----
25
+
24 26
 + <http://dx.doi.org/10.1111/2041-210X.12628>
25 27
 
26 28
 ![](https://guangchuangyu.github.io/featured_img/ggtree/C2mxyBuUcAEt391.jpg)
27 29
 
30
+----
31
+
28 32
 + <http://dx.doi.org/10.1128/AEM.02307-16>
29 33
 
30 34
 ![](https://guangchuangyu.github.io/featured_img/ggtree/2017-01-21-115646_969x444_scrot.png)
31 35
 
36
+----
37
+
32 38
 + <http://dx.doi.org/10.3389%2Ffcimb.2016.00036>
33 39
 
34 40
 ![](https://guangchuangyu.github.io/featured_img/ggtree/2016_fcimb-06-00036-g003.jpg)
35 41
 
42
+----
43
+
36 44
 + <http://dx.doi.org/10.1016/j.meegid.2015.12.006>
37 45
 
38 46
 ![](https://guangchuangyu.github.io/featured_img/ggtree/2015_peiyu_1-s2.0-S1567134815300721-gr1.jpg)
39 47
 
48
+----
... ...
@@ -4,23 +4,34 @@
4 4
 
5 5
 <!-- citation:=HtEfBTGE9r8C:=7268358477862164627 -->
6 6
 
7
+----
8
+
7 9
 + <http://dx.doi.org/10.1186/s40168-017-0232-3>
8 10
 
9 11
 ![](https://guangchuangyu.github.io/featured_img/ggtree/40168_2017_232_Fig2_HTML.gif)
10 12
 
13
+----
14
+
11 15
 + <http://dx.doi.org/10.1111/2041-210X.12628>
12 16
 
13 17
 ![](https://guangchuangyu.github.io/featured_img/ggtree/C2mxyBuUcAEt391.jpg)
14 18
 
19
+----
20
+
15 21
 + <http://dx.doi.org/10.1128/AEM.02307-16>
16 22
 
17 23
 ![](https://guangchuangyu.github.io/featured_img/ggtree/2017-01-21-115646_969x444_scrot.png)
18 24
 
25
+----
26
+
19 27
 + <http://dx.doi.org/10.3389%2Ffcimb.2016.00036>
20 28
 
21 29
 ![](https://guangchuangyu.github.io/featured_img/ggtree/2016_fcimb-06-00036-g003.jpg)
22 30
 
31
+----
32
+
23 33
 + <http://dx.doi.org/10.1016/j.meegid.2015.12.006>
24 34
 
25 35
 ![](https://guangchuangyu.github.io/featured_img/ggtree/2015_peiyu_1-s2.0-S1567134815300721-gr1.jpg)
26 36
 
37
+----