<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Miao Sun | 孙苗</title><link>https://cactusolo.github.io/</link><atom:link href="https://cactusolo.github.io/index.xml" rel="self" type="application/rss+xml"/><description>Miao Sun | 孙苗</description><generator>Wowchemy (https://wowchemy.com)</generator><language>en-us</language><copyright>© {2018-2026} Miao Sun</copyright><lastBuildDate>Thu, 21 Jul 2022 00:00:00 +0000</lastBuildDate><image><url>https://cactusolo.github.io/media/icon_huedaf1db70dd9a5ae8fb7d95bfd1a4abe_1318_512x512_fill_lanczos_center_3.png</url><title>Miao Sun | 孙苗</title><link>https://cactusolo.github.io/</link></image><item><title>JSE: Capturing single-copy nuclear genes, organellar genomes, and nuclear ribosomal DNA from deep genome skimming data for plant phylogenetics: A case study in Vitaceae</title><link>https://cactusolo.github.io/publication/liuetal2021/</link><pubDate>Thu, 21 Jul 2022 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/liuetal2021/</guid><description/></item><item><title>Front. Ecol. Evol.: Relative Importance of Ecological, Evolutionary and Anthropogenic Pressures on Extinction Risk in Chinese Angiosperm Genera</title><link>https://cactusolo.github.io/publication/xiaohua2022/</link><pubDate>Tue, 15 Mar 2022 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/xiaohua2022/</guid><description/></item><item><title>Syst. Biol.: The implications of incongruence between gene tree and species tree topologies for divergence time estimation</title><link>https://cactusolo.github.io/publication/tometal2022/</link><pubDate>Tue, 15 Feb 2022 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/tometal2022/</guid><description/></item><item><title>PLoS ONE: Biogeographical patterns and speciation of the genus Pinguicula (Lentibulariaceae) inferred by phylogenetic analyses</title><link>https://cactusolo.github.io/publication/shimaietal2021/</link><pubDate>Mon, 07 Jun 2021 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/shimaietal2021/</guid><description/></item><item><title>Check The Performance of A Rooting Method Using Minimal Ancestor Deviation (MAD)</title><link>https://cactusolo.github.io/post/mad/check-the-performance-of-a-rooting-method-using-minimal-ancestor-deviation-mad/</link><pubDate>Thu, 26 Nov 2020 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/post/mad/check-the-performance-of-a-rooting-method-using-minimal-ancestor-deviation-mad/</guid><description>&lt;h2 id="simple-demonstration-how-mad-works">Simple demonstration how mad works&lt;/h2>
&lt;p>MAD: root the tree by Minimal Ancestor Deviation (MAD)
See &lt;a href="https://www.nature.com/articles/s41559-017-0193" target="_blank" rel="noopener">Tria et al. (2017)&lt;/a>&lt;/p>
&lt;pre>&lt;code class="language-{r">knitr::opts_chunk$set(echo = TRUE)
&lt;/code>&lt;/pre>
&lt;pre>&lt;code class="language-{r}">rm(list=ls())
pathV &amp;lt;- &amp;quot;/Users/cactus/OneDrive\ -\ Aarhus\ Universitet/PhyloSynth/Backbone/BackboneV2/&amp;quot;
library(&amp;quot;ape&amp;quot;)
suppressWarnings(suppressMessages(library(&amp;quot;phytools&amp;quot;)))
source(paste0(pathV,&amp;quot;mad.R&amp;quot;, sep=&amp;quot;&amp;quot;)) #source &amp;quot;mad&amp;quot; function
&lt;/code>&lt;/pre>
&lt;h2 id="plot-original-tree">Plot original tree&lt;/h2>
&lt;pre>&lt;code class="language-{r,">tree1 &amp;lt;- ladderize(read.tree(paste0(pathV,&amp;quot;Backbone351order_species_order.tre&amp;quot;, sep=&amp;quot;&amp;quot;)))
is.rooted(tree1)
plot.phylo(tree1, cex=0.3, tip.color=ifelse(tree1$tip.label %in% &amp;quot;Outgroup&amp;quot;, &amp;quot;red&amp;quot;, &amp;quot;black&amp;quot;))
&lt;/code>&lt;/pre>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://cactusolo.github.io/post/mad/2020-11-26-check-the-performance-of-a-rooting-method-using-minimal-ancestor-deviation-mad_files/image1.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h2 id="plot-unroot-tree">Plot unroot tree&lt;/h2>
&lt;pre>&lt;code class="language-{r,">tree2 &amp;lt;- ladderize((unroot.phylo(tree1)))
is.rooted(tree2)
plot.phylo(tree2, cex=0.3, tip.color=ifelse(tree2$tip.label %in% &amp;quot;Outgroup&amp;quot;, &amp;quot;red&amp;quot;, &amp;quot;black&amp;quot;))
&lt;/code>&lt;/pre>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://cactusolo.github.io/post/mad/2020-11-26-check-the-performance-of-a-rooting-method-using-minimal-ancestor-deviation-mad_files/image2.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h2 id="plot-the-same-tree-rooted-with-mad">Plot the same tree rooted with MAD&lt;/h2>
&lt;pre>&lt;code class="language-{r,">tree3 &amp;lt;- mad(tree2)
tree3 &amp;lt;- ladderize(read.tree(text = tree3))
is.rooted(tree3)
plot.phylo(tree3, cex=0.3, tip.color=ifelse(tree3$tip.label %in% &amp;quot;Outgroup&amp;quot;, &amp;quot;red&amp;quot;, &amp;quot;black&amp;quot;))
&lt;/code>&lt;/pre>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://cactusolo.github.io/post/mad/2020-11-26-check-the-performance-of-a-rooting-method-using-minimal-ancestor-deviation-mad_files/image3.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h2 id="group-picture-----cheese">Group picture &amp;mdash; cheese&lt;/h2>
&lt;pre>&lt;code class="language-{r,">par(mfrow=c(1,3))
plot.phylo(tree1, cex=0.3, tip.color=ifelse(tree1$tip.label %in% &amp;quot;Outgroup&amp;quot;, &amp;quot;red&amp;quot;, &amp;quot;black&amp;quot;), main=&amp;quot;original&amp;quot;)
plot.phylo(tree2, cex=0.3, tip.color=ifelse(tree2$tip.label %in% &amp;quot;Outgroup&amp;quot;, &amp;quot;red&amp;quot;, &amp;quot;black&amp;quot;), main=&amp;quot;unroot&amp;quot;)
plot.phylo(tree3, cex=0.3, tip.color=ifelse(tree3$tip.label %in% &amp;quot;Outgroup&amp;quot;, &amp;quot;red&amp;quot;, &amp;quot;black&amp;quot;), main=&amp;quot;mad.root&amp;quot;)
&lt;/code>&lt;/pre>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://cactusolo.github.io/post/mad/2020-11-26-check-the-performance-of-a-rooting-method-using-minimal-ancestor-deviation-mad_files/image4.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h5 id="well-visually-that-straightfoward-as-we-usually-see-outgroup-but-i-think-it-did-a-good-job-in-terms-of-minimal-ancestor-deviation-as-rooting-criteria">Well, visually that straightfoward as we usually see &lt;strong>Outgroup&lt;/strong>, but I think it did a good job in terms of &lt;strong>minimal ancestor deviation&lt;/strong> as rooting criteria.&lt;/h5>
&lt;h2 id="another-example">Another example&lt;/h2>
&lt;pre>&lt;code class="language-{r,">
# R package &amp;quot;ape&amp;quot; root
Tg6689 &amp;lt;- read.tree(paste0(pathV,&amp;quot;./g6689.raxml.rba.raxml.supportFBP&amp;quot;, sep=&amp;quot;&amp;quot;))
is.rooted(Tg6689)
if(is.rooted(Tg6689)){
Tg6689a &amp;lt;- unroot(Tg6689)
is.rooted(Tg6689a)
}
Outgroup &amp;lt;- c(&amp;quot;Isoetes_tegetiformans_1kp&amp;quot;, &amp;quot;Selaginella_apoda_1kp&amp;quot;)
Tg6689b &amp;lt;- root(Tg6689a, Outgroup, resolve.root = TRUE)
is.rooted(Tg6689b)
# unroot
Tg6689.u &amp;lt;- unroot(Tg6689)
is.rooted(Tg6689.u)
# MAD root
tmp &amp;lt;- mad(Tg6689.u)
Tg6689.mad &amp;lt;- ladderize(read.tree(text = tmp))
is.rooted(Tg6689.mad)
# reroot by phyx `pxrr`
Tg6689.phyx &amp;lt;- read.tree(paste0(pathV,&amp;quot;./g6689.supportFBP.rt.tre&amp;quot;, sep=&amp;quot;&amp;quot;))
is.rooted(Tg6689.phyx)
# Plot all together
par(mfrow=c(1,4))
plot.phylo(Tg6689b, cex=0.3, tip.color=ifelse(Tg6689b$tip.label %in% Outgroup, &amp;quot;red&amp;quot;, &amp;quot;black&amp;quot;), main=&amp;quot;root&amp;quot;)
plot.phylo(Tg6689.u, cex=0.3, tip.color=ifelse(Tg6689.u$tip.label %in% Outgroup, &amp;quot;red&amp;quot;, &amp;quot;black&amp;quot;), main=&amp;quot;unroot&amp;quot;)
plot.phylo(Tg6689.mad, cex=0.3, tip.color=ifelse(Tg6689.mad$tip.label %in% Outgroup, &amp;quot;red&amp;quot;, &amp;quot;black&amp;quot;), main=&amp;quot;mad.root&amp;quot;)
plot.phylo(Tg6689.phyx, cex=0.3, tip.color=ifelse(Tg6689.phyx$tip.label %in% Outgroup, &amp;quot;red&amp;quot;, &amp;quot;black&amp;quot;), main=&amp;quot;phyx.root&amp;quot;)
&lt;/code>&lt;/pre>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://cactusolo.github.io/post/mad/2020-11-26-check-the-performance-of-a-rooting-method-using-minimal-ancestor-deviation-mad_files/image5.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h4 id="discussion">Discussion&lt;/h4>
&lt;p>So apparently, phyx is better. Rooting via MAD may not be always straightfoward as other methods with a clear outgroup id. Moreover, the same outgroup, the branch length may be different in different gene trees. Since different genes have different evolution rates, then branch length may vary from gene to gene, hence likewise the ancestor deviation also vary.&lt;/p>
&lt;p>Overall, I still think rooting via mad is usefull under certain circumstances. For instance, if you have a bunch gene trees have 0 outgroup sampled, and some downstream analyses required rooted trees, then MAD did provide a decent root. Other common methods require to provide an outgroup. For example, &lt;a href="https://github.com/FePhyFoFum/phyx" target="_blank" rel="noopener">phyx&lt;/a> function &lt;code>pxrr&lt;/code> requires a ranked (&lt;code>-r&lt;/code>) comma-seperated outgroups by &lt;code>-g&lt;/code> (see &lt;a href="https://github.com/FePhyFoFum/phyx/wiki/Program-list" target="_blank" rel="noopener">here&lt;/a>); but it did not provide a solution for the scenarios that if no outgroup sampled at all for some genes. Some other package (e.g., &lt;a href="https://github.com/tjunier/newick_utils/wiki" target="_blank" rel="noopener">Newick Utils&lt;/a>) will use the longest branch as root, but long branch could be misled as well.&lt;/p></description></item><item><title>Noise does not equal bias in assessing the evolutionary history of the angiosperm flora of China: A response to Qian (2019)</title><link>https://cactusolo.github.io/publication/lu2020jbg/</link><pubDate>Wed, 09 Sep 2020 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/lu2020jbg/</guid><description/></item><item><title>How to built a completely resolved species-level phylogeny using TCAT</title><link>https://cactusolo.github.io/post/tact/</link><pubDate>Sun, 06 Sep 2020 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/post/tact/</guid><description>&lt;p>Phylogenetic tree is a crucial reference system for biological research. It carries the key information for species diversification through geological time. A phylogeny tree with all members of a lineage presented is necessary for questions in macroecology and macroevolution. Hence, there are many comparative biological methods (e.g., diversification) integreated &amp;ldquo;sampling fractions&amp;rdquo; or other approches to correct sparsely sampled phylogenies of higher taxonomic groups. For example, &amp;ldquo;sampling fractions&amp;rdquo; in RPANDA (Morlon et al. 2016) and &amp;ldquo;global sampling fraction&amp;rdquo; and &amp;ldquo;clade-specific sampling fraction&amp;rdquo; in BAMM (Rabosky, 2014; Sun et al., 2020). However, this approach could lead to low statistical power to infer rate variation, or spurious patterns of diversification, which may further impact the evolutionary implication (Chang et al., 2019).&lt;br>
A new stochastic polytomy resolution method &amp;mdash; Taxonomic Addition for Complete Trees (TACT) is able to avoid the biases arised above, and also can greatly improve the power of estimation in diversification analyses (Chang et al., 2019). It uses birth–death-sampling model and taxonomic information to place unsampled taxa onto the ultrametric target backbone phylogeny. It produces a pseduposterior distribution of phylogenies, integrating diversification rates with phylogenetic uncertainty and speciation times, while this approach also can be labor and computation time intense as well as require topology constraint. Besides TACT, other stochastic polytomy resolvers, including PASTIS (Thomas et al., 2013) and CorSiM (Cusimano et al., 2012), but TACT performes better (See Chang et al., 2019).&lt;/p>
&lt;p>&lt;em>The caveats which researchers should pay attention is that complete phylogenies generared by stochastic polytomy resolvers should NOT be used for estimating the trait evolution. Because the way of how complete tree is generated, the true rate of trait evolution can be overestimated, and the phylogenetic signal is lost.&lt;/em>&lt;/p>
&lt;p>The Author &lt;a href="https://jonathanchang.org/" target="_blank" rel="noopener">Jonathan Chang&lt;/a> already has a detailed &lt;a href="https://github.com/jonchang/tact" target="_blank" rel="noopener">tutorial&lt;/a> of how to install and run TACT. Here I only focus on how to prepare a taxonomy list and built up pipeline for my own project.&lt;/p>
&lt;h2 id="general-steps">General steps&lt;/h2>
&lt;p>First thing first, you need two files to run TACT (assuming that you have successfully installed TACT and its dependencies):&lt;/p>
&lt;ol>
&lt;li>An ultrametric backbone phylogeny (e.g., &lt;em>Vitales_dated.tre&lt;/em>)&lt;/li>
&lt;li>A taxonomy of target clade&lt;/li>
&lt;/ol>
&lt;ul>
&lt;li>this can be taxonomy tree (see Chang et al., 2019)&lt;/li>
&lt;li>can also be a taxonomic list in csv format with all taxonomic ranks listed (e.g., genus, family, order; here as &lt;em>Vitales.csv&lt;/em>)&lt;/li>
&lt;/ul>
&lt;p>For the case in my post, I use &lt;a href="https://en.wikipedia.org/wiki/Vitaceae" target="_blank" rel="noopener">Vitales&lt;/a> as an example. The Vitales taxonomic list is generated from &lt;a href="http://www.plantsoftheworldonline.org" target="_blank" rel="noopener">WCSP website&lt;/a>, and the higher taxonomic ranks are queried from &lt;a href="http://www.mobot.org/MOBOT/research/APweb/" target="_blank" rel="noopener">APWeb&lt;/a>. The backbone tree was built using RAxML with molecular data mined from GenBank via &lt;a href="https://github.com/FePhyFoFum/PyPHLAWD" target="_blank" rel="noopener">PyPHLAWD&lt;/a>, and then dated using &lt;a href="https://github.com/blackrim/treePL" target="_blank" rel="noopener">treePL&lt;/a>.&lt;/p>
&lt;h3 id="1-prepare-a-taxonomic-list">1. Prepare a taxonomic list&lt;/h3>
&lt;ul>
&lt;li>A csv format&lt;/li>
&lt;li>All taxonomic ranks referenced from &lt;a href="http://www.mobot.org/MOBOT/research/APweb/" target="_blank" rel="noopener">APWeb&lt;/a>&lt;/li>
&lt;li>Columns layout as &lt;code>order,family,genus,genus.species&lt;/code>&lt;/li>
&lt;/ul>
&lt;pre>&lt;code class="language-{r"># devtools::install_github(&amp;quot;wcornwell/taxonlookup&amp;quot;)
rm(list=ls())
library(&amp;quot;taxonlookup&amp;quot;)
library(&amp;quot;ape&amp;quot;)
library(&amp;quot;dplyr&amp;quot;, warn.conflicts = FALSE, quietly = TRUE)
#read in the complete taxonomic list
Vitales &amp;lt;- read.csv(&amp;quot;Vitales_rawlist.csv&amp;quot;, header = T, stringsAsFactors = F)
# &amp;gt; head(Vitales)
# [1] &amp;quot;Acareosperma spireanum&amp;quot;
# [2] &amp;quot;Ampelocissus abyssinica&amp;quot;
# [3] &amp;quot;Ampelocissus acapulcensis&amp;quot;
# [4] &amp;quot;Ampelocissus acetosa&amp;quot;
# [5] &amp;quot;Ampelocissus aculeata&amp;quot;
# [6] &amp;quot;Ampelocissus africana var. migeodii&amp;quot;
# lookup APGWeb based on species names
Vitales.apg &amp;lt;- lookup_table(unique(Vitales), missing_action = &amp;quot;NA&amp;quot;, by_species=TRUE)
#just manual check if there are some genera are failed to have query
if(sum(is.na(Vitales.apg$family)) &amp;gt;0){
tt &amp;lt;- Vitales.apg[is.na(Vitales.apg$family),]
print(tt)
}
# rearrange columns as taxonomic ranks
APG_table &amp;lt;- Vitales.apg %&amp;gt;% mutate(genus.species=row.names(Vitales.apg)) %&amp;gt;% select(order, family, genus, genus.species)
#
#&amp;gt; head(APG_table)
#order family genus genus.species
#1 Vitales Vitaceae Acareosperma Acareosperma spireanum
#2 Vitales Vitaceae Ampelocissus Ampelocissus abyssinica
#3 Vitales Vitaceae Ampelocissus Ampelocissus acapulcensis
#4 Vitales Vitaceae Ampelocissus Ampelocissus acetosa
#5 Vitales Vitaceae Ampelocissus Ampelocissus aculeata
#6 Vitales Vitaceae Ampelocissus Ampelocissus africana var. migeodii
#replace space as underscore
APG_table$genus.species &amp;lt;- gsub(&amp;quot; &amp;quot;, &amp;quot;_&amp;quot;,APG_table$genus.species)
#save the apg lookup table, and prepare for next step TACT
write.csv(APG_table, &amp;quot;Vitales.csv&amp;quot;, row.names=FALSE, quote=FALSE)
&lt;/code>&lt;/pre>
&lt;h3 id="2-run-tact">2. Run TACT&lt;/h3>
&lt;pre>&lt;code class="language-{bash}">#Build a taxonomic tree
tact_build_taxonomic_tree Vitales.csv --output Vitales.taxonomy.tre
# this step adove can be skipped, if you already have a taxonomy tree
#Run the TACT stochastic polytomy resolver algorithm in conjunction with the backbone phylogeny
tact_add_taxa --backbone Vitales_dated.tre --taxonomy Vitales.taxonomy.tre --output Vitales.tacted --verbose
#check the TACT results
tact_check_results Vitales.tacted.newick.tre --backbone Vitales_dated.tre --taxonomy Vitales.taxonomy.tre &amp;gt; Vitales_checkresults.csv
&lt;/code>&lt;/pre>
&lt;h3 id="3-visualize-and-compare-trees">3. Visualize and compare trees&lt;/h3>
&lt;pre>&lt;code class="language-{r">library(&amp;quot;ape&amp;quot;)
tree1 &amp;lt;- ladderize(read.tree(&amp;quot;./Vitales_dated.tre&amp;quot;))
plot.phylo(tree1, cex=0.1, type = &amp;quot;fan&amp;quot;, main=&amp;quot;Backbone tree with NCBI data&amp;quot;)
&lt;/code>&lt;/pre>
&lt;p>This is the original backbone tree before TACT treatment&lt;br>
&lt;figure id="figure-vitales-backbone">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Vitales backbone" srcset="
/post/tact/Comparison_tree_before_after_TACT1.1_hufad7c4dbe500cf14c7ef7b7bde29f98d_336280_1f1ca3cd4eb8ccac536ec3f7fd11a118.jpg 400w,
/post/tact/Comparison_tree_before_after_TACT1.1_hufad7c4dbe500cf14c7ef7b7bde29f98d_336280_f17f0003925a3a0a8267a413026a2b25.jpg 760w,
/post/tact/Comparison_tree_before_after_TACT1.1_hufad7c4dbe500cf14c7ef7b7bde29f98d_336280_1200x1200_fit_q75_lanczos.jpg 1200w"
src="https://cactusolo.github.io/post/tact/Comparison_tree_before_after_TACT1.1_hufad7c4dbe500cf14c7ef7b7bde29f98d_336280_1f1ca3cd4eb8ccac536ec3f7fd11a118.jpg"
width="648"
height="760"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Figure&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Vitales backbone
&lt;/figcaption>&lt;/figure>&lt;/p>
&lt;p>Now we show which tips on the complete species-level tree are added by TACT:&lt;/p>
&lt;pre>&lt;code class="language-{r">tree2 &amp;lt;- ladderize(read.tree(&amp;quot;./Vitales.tacted.newick.tre&amp;quot;))
tip.cl &amp;lt;- ifelse(tree2$tip.label %in% tree1$tip.label, &amp;quot;black&amp;quot;, &amp;quot;red&amp;quot;)
plot.phylo(tree2, tip.color=tip.cl, cex=0.1, type = &amp;quot;fan&amp;quot;, main=&amp;quot;complete tree with NCBI + Taxonomic data&amp;quot;)
mtext(&amp;quot;Red tips are species added by TACT&amp;quot;, col = &amp;quot;red&amp;quot;, side=1, line=-5, outer=TRUE)
&lt;/code>&lt;/pre>
&lt;figure id="figure-vitales-tacted-tree1">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Vitales Tacted Tree1" srcset="
/post/tact/Comparison_tree_before_after_TACT1.2_hu2a02c5d5579fb2e0919de0db391b2868_392639_3b28b3f4b640f70831aa3d266c1cd5b1.jpg 400w,
/post/tact/Comparison_tree_before_after_TACT1.2_hu2a02c5d5579fb2e0919de0db391b2868_392639_15c528ba3f69957b904282dc56120b09.jpg 760w,
/post/tact/Comparison_tree_before_after_TACT1.2_hu2a02c5d5579fb2e0919de0db391b2868_392639_1200x1200_fit_q75_lanczos.jpg 1200w"
src="https://cactusolo.github.io/post/tact/Comparison_tree_before_after_TACT1.2_hu2a02c5d5579fb2e0919de0db391b2868_392639_3b28b3f4b640f70831aa3d266c1cd5b1.jpg"
width="760"
height="737"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Figure&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Vitales Tacted Tree1
&lt;/figcaption>&lt;/figure>
&lt;p>Last, We highlight which tree edges on the complete species-level tree are added by TACT:&lt;/p>
&lt;pre>&lt;code class="language-{r">library(&amp;quot;phytools&amp;quot;)
x &amp;lt;- setNames(ifelse(tree2$tip.label %in% tree1$tip.label, &amp;quot;0&amp;quot;, &amp;quot;1&amp;quot;), tree2$tip.label)
a &amp;lt;- names(x)[x==&amp;quot;0&amp;quot;]
b &amp;lt;- names(x)[x==&amp;quot;1&amp;quot;]
tt&amp;lt;-paintBranches(tree2,edge=sapply(b,match,tree2$tip.label),
state=&amp;quot;b&amp;quot;,anc.state=&amp;quot;a&amp;quot;)
cols&amp;lt;-setNames(c(&amp;quot;black&amp;quot;,&amp;quot;red&amp;quot;),c(&amp;quot;a&amp;quot;,&amp;quot;b&amp;quot;))
plot(tt, colors=cols, fsize=0.1, type=&amp;quot;fan&amp;quot;, lwd=0.5)
mtext(&amp;quot;Red branches are imputated by TACT&amp;quot;, col = &amp;quot;red&amp;quot;, side=3, line=-1.5, outer=TRUE)
&lt;/code>&lt;/pre>
&lt;figure id="figure-vitales-tacted-tree2">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Vitales Tacted Tree2" srcset="
/post/tact/Comparison_tree_before_after_TACT2_hu84bbb56e77a9c0f5ec0d104572cf2055_577761_09c49b40610210cd6069a8b2146025f3.jpg 400w,
/post/tact/Comparison_tree_before_after_TACT2_hu84bbb56e77a9c0f5ec0d104572cf2055_577761_72a825ba76529e373eff48f0f836739d.jpg 760w,
/post/tact/Comparison_tree_before_after_TACT2_hu84bbb56e77a9c0f5ec0d104572cf2055_577761_1200x1200_fit_q75_lanczos.jpg 1200w"
src="https://cactusolo.github.io/post/tact/Comparison_tree_before_after_TACT2_hu84bbb56e77a9c0f5ec0d104572cf2055_577761_09c49b40610210cd6069a8b2146025f3.jpg"
width="745"
height="760"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Figure&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Vitales Tacted Tree2
&lt;/figcaption>&lt;/figure>
&lt;p>That&amp;rsquo;s it.&lt;/p>
&lt;h3 id="reference">Reference&lt;/h3>
&lt;ol>
&lt;li>Thomas G.H. et al. PASTIS: an R package to facilitate phylogenetic assembly with soft taxonomic inferences. Methods Ecol. Evol. 4:1011–1017 (2013).&lt;/li>
&lt;li>Chang et al. Estimating Diversification Rates on Incompletely Sampled Phylogenies: Theoretical Concerns and Practical Solutions. Syst. Biol. 69(3):602–611, 2020&lt;/li>
&lt;li>Cusimano N.et al. A new method for handling missing species in diversification analysis applicable to randomly or nonrandomly sampled phylogenies. Syst. Biol. 61:785–792 (2012).&lt;/li>
&lt;li>Morlon, H. et al. RPANDA: an R package for macroevolutionary analyses on phylogenetic trees. Methods Ecol. Evol. 7, 589–597 (2016).&lt;/li>
&lt;li>Rabosky, D. L. Automatic detection of key innovations, rate shifts, and
diversity-dependence on phylogenetic trees. PLoS ONE 9, e89543 (2014).&lt;/li>
&lt;li>Revell, J. L. Phytools: an R package for phylogenetic comparative biology (and other things). Methods Ecol. Evol. 3, 217–223 (2012).&lt;/li>
&lt;li>Sun, M. et al. Estimating rates and patterns of diversification with incomplete sampling: A case study in the rosids. Am. J. Bot. 107, 1–15 (2020).&lt;/li>
&lt;/ol></description></item><item><title>Recent accelerated diversification in rosids occurred outside the tropics</title><link>https://cactusolo.github.io/publication/sun_rosid2_2020/</link><pubDate>Fri, 03 Jul 2020 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/sun_rosid2_2020/</guid><description>&lt;p>Supplementary data and code can be found &lt;a href="https://github.com/Cactusolo/rosid_NCOMMS-19-37964-T" target="_blank" rel="noopener">here&lt;/a>.&lt;/p></description></item><item><title>AJB: Estimating rates and patterns of diversification with incomplete sampling: a case study in the rosids</title><link>https://cactusolo.github.io/publication/sun_rosid3_2020/</link><pubDate>Tue, 09 Jun 2020 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/sun_rosid3_2020/</guid><description/></item><item><title>SciAdv: The evolutionary origins of the cat attractant nepetalactone in catnip</title><link>https://cactusolo.github.io/publication/lichman2020mint/</link><pubDate>Wed, 13 May 2020 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/lichman2020mint/</guid><description/></item><item><title>MPE: Phylogeny and divergence time estimation of the walnut family (Juglandaceae) based on nuclear RAD-Seq and chloroplast genome data</title><link>https://cactusolo.github.io/publication/mu2020rad-seq/</link><pubDate>Wed, 18 Mar 2020 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/mu2020rad-seq/</guid><description/></item><item><title>Demonstrating gene tree conflict with Phyparts Piecharts</title><link>https://cactusolo.github.io/post/phypartspiecharts/</link><pubDate>Sun, 27 Oct 2019 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/post/phypartspiecharts/</guid><description>&lt;p>&lt;em>We have marched into genome era already, especially using biparental inherited nuclear genome data to examine the framework of tree of life established by plastid data. However, not all gene trees tell one same story, even the most homogeneous genes from plastid organelle. Not to mention nuclear genes may have more than one copy, and other potential biological processes (e.g., hybridization, incomplete lineage sorting (ILS), or horizontal gene transfer, etc); also see &lt;a href="https://cactusolo.github.io/publication/sun2015com/">Sun et al. (2015)&lt;/a>. Hence, &lt;a href="https://bmcevolbiol.biomedcentral.com/articles/10.1186/s12862-015-0423-0" target="_blank" rel="noopener">Smith et al. (2015)&lt;/a> did a great job in summarizing current situation, and setting examples of visualization of concordance information in animals and plants genomic phylogenies. They also developed an open source java software to do this job &amp;mdash; &lt;a href="https://bitbucket.org/blackrim/phyparts" target="_blank" rel="noopener">phyparts&lt;/a>.&lt;/em>&lt;/p>
&lt;p>In this post I will use &lt;em>Sassafras&lt;/em> 322 gene trees as an example to show you how to use &lt;a href="https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-018-2129-y" target="_blank" rel="noopener">ASTRAL-III&lt;/a> to estimate a species tree, and &lt;a href="https://bitbucket.org/blackrim/phyparts" target="_blank" rel="noopener">phyparts&lt;/a> to summarize the conflict and concordance information of those individual homologous gene regions, and finally using &lt;a href="https://github.com/mossmatters/MJPythonNotebooks/blob/master/PhyParts_PieCharts.ipynb" target="_blank" rel="noopener">PhyParts PieCharts&lt;/a> to visualize the Phyparts Output. These data was generated by Target Enrichment method using &lt;a href="https://academic.oup.com/sysbio/article/68/4/594/5237557" target="_blank" rel="noopener">Universal Probe Set for Targeted Sequencing of 353 Nuclear Genes&lt;/a> under &lt;a href="https://cactusolo.github.io/project/dimensions/">Dimension project&lt;/a>. My other relevant workingflow and scripts are available &lt;a href="https://github.com/Cactusolo/IESHTSTE" target="_blank" rel="noopener">here&lt;/a>.&lt;/p>
&lt;p>&lt;em>Note: &lt;a href="https://github.com/mossmatters/MJPythonNotebooks/blob/master/PhyParts_PieCharts.ipynb" target="_blank" rel="noopener">Matt Johnson&lt;/a> has a great tutorial of how to run his script using Jupyter Notebook. The interpretation of PieCharts is well explained as well.&lt;/em>&lt;/p>
&lt;p>My instructions here focus on the overall procedures from gene trees all the way down to the Pie chart. Hopefully, I&amp;rsquo;m able to integrate all the steps together into one pipeline.&lt;/p>
&lt;h2 id="general-steps">General steps&lt;/h2>
&lt;p>&lt;em>Here we need to assess how a number of gene trees how they agree with ours pecies tree, and displaying this discordance and agreeent information with satisfying visualization.&lt;/em>&lt;/p>
&lt;h3 id="1-building-phylogeny-so-that-we-have-all-gene-trees">1. Building phylogeny, so that we have all gene trees&lt;/h3>
&lt;ul>
&lt;li>
&lt;p>My data was generated from 353 target enrichment method&lt;/p>
&lt;/li>
&lt;li>
&lt;p>I used 322 gene trees from &lt;em>Sassafras&lt;/em> samples as example&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Note:&lt;/p>
&lt;ul>
&lt;li>All trees were rooted by either &lt;a href="https://github.com/FePhyFoFum/phyx" target="_blank" rel="noopener">phyx&lt;/a> or &lt;a href="https://github.com/tjunier/newick_utils/wiki" target="_blank" rel="noopener">The Newick Utilities&lt;/a>, or &lt;a href="https://pypi.org/project/DendroPy/" target="_blank" rel="noopener">DendroPy&lt;/a>&lt;/li>
&lt;li>Though &lt;a href="https://github.com/smirarab/ASTRAL/blob/master/astral-tutorial.md#running-with-unresolved-gene-trees" target="_blank" rel="noopener">ASTRAL&lt;/a> is able to take any gene trees rooted or unrooted, however, for downstream Phyparts performance, rooted trees are preferred. Such so all gene trees and species trees are towards to the same root direction (See &lt;a href="https://github.com/mossmatters/MJPythonNotebooks/blob/master/PhyParts_PieCharts.ipynb" target="_blank" rel="noopener">Matt Johnson&amp;rsquo;s post&lt;/a>).&lt;/li>
&lt;li>As quote in &lt;a href="https://github.com/smirarab/ASTRAL/blob/master/astral-tutorial.md#running-with-unresolved-gene-trees" target="_blank" rel="noopener">ASTRAL tutorial&lt;/a>:&lt;br>
&lt;em>&amp;ldquo;Importantly, we will reroot the tree at the correct node, which is always necessary, since the rooting of the ASTRAL trees is arbitrary and meaningless.&amp;quot;&lt;/em>&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Therefore, rooting all the trees (species tree and gene trees) is preferred for Phyparts Piecharts. Sometimes, when you have hundreds of gene trees, however, not all outgroups presented in your gene tree; in these case, I recommend either use &lt;code>pxrr&lt;/code> function from &lt;a href="https://github.com/FePhyFoFum/phyx" target="_blank" rel="noopener">phyx&lt;/a>, or &lt;a href="https://www.nature.com/articles/s41559-017-0193" target="_blank" rel="noopener">MAD (root the tree by Minimal Ancestor Deviation)&lt;/a>; the latter works well with those trees without outgroups at all; for details see my other post &lt;a href="https://cactusolo.github.io/post/mad/check-the-performance-of-a-rooting-method-using-minimal-ancestor-deviation-mad/">here&lt;/a>&lt;/strong>&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h3 id="2-species-tree-estimation">2. Species tree estimation&lt;/h3>
&lt;ul>
&lt;li>
&lt;p>Species tree was estimated by &lt;a href="https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-018-2129-y" target="_blank" rel="noopener">ASTRAL-III&lt;/a>, and see tutorials &lt;a href="https://github.com/smirarab/ASTRAL/blob/master/astral-tutorial.md#running-on-the-sample-mammalian-dataset" target="_blank" rel="noopener">here&lt;/a>&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Note:&lt;/strong> Collapse gene tree nodes with BS support less than certain value (saying 10%; see cmd below), will help to improve accuracy; sometime increasing the threshold for collapse may yield better results.&lt;br>
There are many ways to do this: &lt;a href="https://github.com/FePhyFoFum/phyx" target="_blank" rel="noopener">phyx&lt;/a> or &lt;a href="https://github.com/tjunier/newick_utils/wiki" target="_blank" rel="noopener">The Newick Utilities&lt;/a>&lt;/p>
&lt;ul>
&lt;li>using The Newick Utilities as example from &lt;a href="https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-018-2129-y" target="_blank" rel="noopener">ASTRAL-III tutorial&lt;/a>
e.g., &lt;code>nw_ed 1KP-genetrees.tre 'i &amp;amp; b&amp;lt;=10' o &amp;gt; 1KP-genetrees-BS10.tre&lt;/code>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>ASTRAL &lt;strong>CMD&lt;/strong>:&lt;br>
&lt;code>java -jar astral.5.6.3.jar -i collapse_genetrees.tre -o output_species_tree.tre 2&amp;gt; running.log&lt;/code>&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h3 id="3-statistic-information-about-conflict-concordance-or-even-gene-duplications">3. Statistic information about conflict, concordance, or even gene duplications&lt;/h3>
&lt;ul>
&lt;li>You need to run &lt;a href="https://bitbucket.org/blackrim/phyparts/src/master/" target="_blank" rel="noopener">phyparts&lt;/a> with instruction on the repo webpage.&lt;/li>
&lt;li>Phyparts &amp;ldquo;conflict&amp;rdquo; option &lt;strong>CMD&lt;/strong>:&lt;br>
&lt;code>java -jar target/phyparts-0.0.1-SNAPSHOT-jar-with-dependencies.jar -a 1 -v -d gene_trees -m ASTRAL_species_tree -o output_name&lt;/code>&lt;/li>
&lt;/ul>
&lt;p>&lt;em>Note:&lt;/em> run cmd below, you&amp;rsquo;ll able to see all the Phyparts options (see snapshot below):&lt;br>
&lt;code>java -jar target/phyparts-0.0.1-SNAPSHOT-jar-with-dependencies.jar&lt;/code>&lt;/p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="" srcset="
/post/phypartspiecharts/phyparts_option_hubaae0ff782c8b75f8b806f4834290463_185587_3da90889fd6d88a9ba7c81d286051f4b.jpg 400w,
/post/phypartspiecharts/phyparts_option_hubaae0ff782c8b75f8b806f4834290463_185587_75712de886d9bb4c3c345117e6bb0c91.jpg 760w,
/post/phypartspiecharts/phyparts_option_hubaae0ff782c8b75f8b806f4834290463_185587_1200x1200_fit_q75_lanczos.jpg 1200w"
src="https://cactusolo.github.io/post/phypartspiecharts/phyparts_option_hubaae0ff782c8b75f8b806f4834290463_185587_3da90889fd6d88a9ba7c81d286051f4b.jpg"
width="760"
height="227"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;h3 id="4-mapping-these-information-on-species-tree">4. Mapping these information on species tree&lt;/h3>
&lt;ul>
&lt;li>You need &lt;strong>PhyParts PieCharts&lt;/strong> &lt;a href="https://github.com/mossmatters/phyloscripts/tree/master/phypartspiecharts" target="_blank" rel="noopener">python script&lt;/a> and tutorial from &lt;a href="https://github.com/mossmatters/MJPythonNotebooks/blob/master/PhyParts_PieCharts.ipynb" target="_blank" rel="noopener">Matt Johnson&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>&lt;em>Note: Please read the tutorial, &lt;strong>Python &amp;gt;2.7 and ETE3&lt;/strong> with the graphical options need to be installed before run the python script&lt;/em>&lt;/p>
&lt;ul>
&lt;li>how to run script:&lt;br>
&lt;code>python3 phypartspiecharts.py species_tree output_name gene_number&lt;/code>&lt;/li>
&lt;/ul>
&lt;p>&lt;em>Note: &lt;code>output_name&lt;/code> must be the same as you names at the &lt;code>phyparts (# 3)&lt;/code> step&lt;/em>&lt;/p>
&lt;h3 id="5-visualize-the-gene-tree-support-and-conflic-statics-with-piecharts">5. Visualize the gene tree support and conflic statics with Piecharts&lt;/h3>
&lt;ul>
&lt;li>
&lt;p>the output format of PhyParts PieCharts is in &lt;code>svg&lt;/code>, then you need to Inkscape or AI to convert it as &lt;code>pdf&lt;/code>. You also can refine the overall layout of that plot.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Note: make sure Python3, ETE3, and &lt;a href="https://kovyrin.net/2007/10/01/how-to-run-gui-programs-on-a-server-without-any-monitor/" target="_blank" rel="noopener">X server&lt;/a> installed.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>As my plot below:&lt;/p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="" srcset="
/post/phypartspiecharts/featured_hud8fe575bf066501c365d16a7a2def1ba_187002_788fed679003fb238a1f418cdf584b3d.jpg 400w,
/post/phypartspiecharts/featured_hud8fe575bf066501c365d16a7a2def1ba_187002_a6a6630e701b8c712d8c30633b883f27.jpg 760w,
/post/phypartspiecharts/featured_hud8fe575bf066501c365d16a7a2def1ba_187002_1200x1200_fit_q75_lanczos.jpg 1200w"
src="https://cactusolo.github.io/post/phypartspiecharts/featured_hud8fe575bf066501c365d16a7a2def1ba_187002_788fed679003fb238a1f418cdf584b3d.jpg"
width="760"
height="269"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;p>Last updated: Mon Dec 7 2020&lt;/p></description></item><item><title>MPE: Accelerated diversification correlated with functional traits shapes extant diversity of the early divergent angiosperm family Annonaceae</title><link>https://cactusolo.github.io/publication/xueetal2019/</link><pubDate>Sat, 26 Oct 2019 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/xueetal2019/</guid><description/></item><item><title>PhyloSynth</title><link>https://cactusolo.github.io/project/phylosynth/</link><pubDate>Tue, 01 Oct 2019 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/project/phylosynth/</guid><description>&lt;p>We are marching on Phylosynth project! Some primary data, code and results will share here. Our goal is reconstructing &lt;a href="https://bsapubs.onlinelibrary.wiley.com/doi/10.1002/ajb2.1041" target="_blank" rel="noopener">&lt;strong>a larger-scale plant Tree of Life&lt;/strong>&lt;/a> for all &lt;a href="https://www.ncbi.nlm.nih.gov/Taxonomy/Browser/wwwtax.cgi?id=58024" target="_blank" rel="noopener">seed plants (Spermatophyta)&lt;/a>, using methods described in &lt;a href="https://bsapubs.onlinelibrary.wiley.com/doi/full/10.1002/ajb2.1019" target="_blank" rel="noopener">Smith and Brown (2018)&lt;/a> and ideas described in &lt;a href="https://bsapubs.onlinelibrary.wiley.com/doi/pdf/10.1002/ajb2.1041" target="_blank" rel="noopener">Eiserhardt et al. (2018; see below)&lt;/a>, and integrating the phylogenetic backbone from &lt;a href="https://www.kew.org/science/our-science/projects/plant-and-fungal-trees-of-life" target="_blank" rel="noopener">the Plant and Fungal Trees of Life Project (PAFTOL)&lt;/a> and robust taxonomy database from &lt;a href="https://wcsp.science.kew.org/home.do" target="_blank" rel="noopener">World Checklist of Selected Plant Families (WCSP)&lt;/a>. We endeavor to push the boundary of the knowledge of Tree of Life, keeping this tree portable and dynamically updated, providing knowledge of the plant tree of life to science community and the public education.&lt;/p>
&lt;p>Pipeline Schema from &lt;a href="https://bsapubs.onlinelibrary.wiley.com/doi/pdf/10.1002/ajb2.1041" target="_blank" rel="noopener">Eiserhardt et al. (2018)&lt;/a>&lt;/p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="" srcset="
/project/phylosynth/work_flow_hub641d2ae7edc0f821e0540f885e830a7_246222_e56fc60ac516e396228f7326bdcf1366.png 400w,
/project/phylosynth/work_flow_hub641d2ae7edc0f821e0540f885e830a7_246222_8a30fa2d65fbaf124890abbc445ba9fe.png 760w,
/project/phylosynth/work_flow_hub641d2ae7edc0f821e0540f885e830a7_246222_1200x1200_fit_lanczos_3.png 1200w"
src="https://cactusolo.github.io/project/phylosynth/work_flow_hub641d2ae7edc0f821e0540f885e830a7_246222_e56fc60ac516e396228f7326bdcf1366.png"
width="398"
height="760"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;h3 id="some-key-feactureshttpsdocsgooglecomdocumentd1hb-g9_wxhcptpv7mpxrcs_uoh7giolagjk9nbsral50">&lt;a href="https://docs.google.com/document/d/1Hb-G9_WXhCpTpv7mpXrcS_UOH7giolAgjk9nBsRaL50" target="_blank" rel="noopener">Some key feactures&lt;/a>:&lt;/h3>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>Flexible&lt;/strong> &lt;br>
Easy for other pipelines to integrate&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Dynamically updated&lt;/strong> &lt;br>
Establish a schedule for running this pipeline at regular intervals, producing up-to-date trees. For this, we need to decide an initial frequency for generating trees. This frequency can later be adjusted based on download statistics and user feedback.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Portable for different audiences&lt;/strong>&lt;br>
Establish one or more outlet(s) for PhyloSynth trees. This needs to take into consideration where different audiences would be looking for trees, and ensure (for scientific audiences) that there is a citable paper.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>High quality&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Build module that maps NCBI taxonomy to a widely accepted botanical taxonomy. This should in the first place be the WCSP/”names backbone” at Kew, but we need to consider the fact that other lists are in circulation.&lt;/li>
&lt;li>Build a module that filters NCBI data automatically according to certain rules. This could be a simple decision tree based on metadata, or a more complex machine learning approach.&lt;/li>
&lt;li>Build a module that evaluates resulting trees automatically using a set of statistics. This could include, among other things, monophyly statistics for higher ranks from the taxonomy used (genera and families in the case of WCSP).&lt;/li>
&lt;li>Establish a procedure for manual quality control by taxon experts. This would need to include a procedure for storing decisions/annotations and avoiding duplication of effort.&lt;/li>
&lt;li>Establish a procedure for user feedback. This would need to include a procedure for storing decisions/annotations and avoiding duplication of effort.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul></description></item><item><title>Research Talk at IBCAS Youth Forum</title><link>https://cactusolo.github.io/post/youth_forum_talk/</link><pubDate>Wed, 25 Sep 2019 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/post/youth_forum_talk/</guid><description>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="" srcset="
/post/youth_forum_talk/intro_hu549f5c0e3e5618f8d3813a0966666316_1359272_8c111643d7523f9c0a3fb531e34e0d23.png 400w,
/post/youth_forum_talk/intro_hu549f5c0e3e5618f8d3813a0966666316_1359272_8ad0ba444e773808246f2a601891649b.png 760w,
/post/youth_forum_talk/intro_hu549f5c0e3e5618f8d3813a0966666316_1359272_1200x1200_fit_lanczos_3.png 1200w"
src="https://cactusolo.github.io/post/youth_forum_talk/intro_hu549f5c0e3e5618f8d3813a0966666316_1359272_8c111643d7523f9c0a3fb531e34e0d23.png"
width="760"
height="571"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;p>I had the great honor and was invited by Dr. &lt;a href="http://sourcedb.ib.cas.cn/cn/expert/200904/t20090403_45016.html" target="_blank" rel="noopener">Zhiduan Chen&lt;/a> to visit his lab. We had great conversations and we also discussed to collaborate a few great project in comming futher.&lt;/p>
&lt;p>Later on I was invited by Dr. &lt;a href="http://www.lseb.cn/lulimin" target="_blank" rel="noopener">Limin Lu&lt;/a>, who hosted a Youth Forum organized by &lt;a href="http://www.lseb.cn/Enindex.aspx" target="_blank" rel="noopener">the State Key Laboratory of Systematic and Evolutionary Botany (LSEB)&lt;/a> at IBCAS.&lt;/p>
&lt;p>I briedly introduced my research works conducted in these 5-year post-doc life in &lt;a href="https://www.floridamuseum.ufl.edu/museum-voices/soltis-lab/people/principal-investigators/" target="_blank" rel="noopener">Soltis Lab&lt;/a>. I used &lt;a href="https://cactusolo.github.io/project/rosids/">rosids&lt;/a> as an example to illustrate how to build and use large-scale phylogentic trees. Key points are:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Data mining public database (e.g, GenBank and &lt;a href="https://www.gbif.org/" target="_blank" rel="noopener">GBIF&lt;/a>), and data cleaning for downstream analyses. E.g, recent manuscript in &lt;a href="https://doi.org/10.1101/694950" target="_blank" rel="noopener">bioRxiv&lt;/a> and paper in &lt;a href="https://cactusolo.github.io/publication/folk2018challenges/">AJB&lt;/a>.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Knowing the potential issues when applying large-scale data for macro-ecology and -evolution. E.g., papers in &lt;a href="https://cactusolo.github.io/publication/folk2018challenges/">AJB&lt;/a>, &lt;a href="https://cactusolo.github.io/publication/lietal2019/">Ecology&lt;/a>, and another recent manuscript in &lt;a href="https://doi.org/10.1101/749325V1" target="_blank" rel="noopener">bioRxiv&lt;/a>.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Large-scale trees can be used for [Diversification]. E.g., recent manuscript in &lt;a href="https://doi.org/10.1101/749325V1" target="_blank" rel="noopener">bioRxiv&lt;/a> and an accepted paper collaborated with &lt;a href="https://www.biorxiv.org/content/10.1101/652065v1" target="_blank" rel="noopener">Dr. Xue&lt;/a>.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Large-scale trees can be used for &lt;a href="https://cactusolo.github.io/publication/lu2018evolutionary/">Phylogentic Diversity (PD)&lt;/a>&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Relationships matter!!&lt;/strong>&lt;/p>
&lt;p>Please let me know if you have any questions and want to know more details.&lt;/p>
&lt;p>Overall, it turned out full house!! More than expected!! ✌️ ✌️&lt;/p>
&lt;p>Especially I have met Prof. Jianfeng Mao from Beijing Forestry University. I had great cinversation with him and his students.
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="" srcset="
/post/youth_forum_talk/Wechat1_hu477f06d6e34b355beb93ef3a8d36ea4c_117032_e6b5bd5d6cef8b72012a55bcd6384ecf.jpg 400w,
/post/youth_forum_talk/Wechat1_hu477f06d6e34b355beb93ef3a8d36ea4c_117032_14535ad77ea20c47ada0e3d58a901377.jpg 760w,
/post/youth_forum_talk/Wechat1_hu477f06d6e34b355beb93ef3a8d36ea4c_117032_1200x1200_fit_q75_lanczos.jpg 1200w"
src="https://cactusolo.github.io/post/youth_forum_talk/Wechat1_hu477f06d6e34b355beb93ef3a8d36ea4c_117032_e6b5bd5d6cef8b72012a55bcd6384ecf.jpg"
width="760"
height="570"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>&lt;/p></description></item><item><title>Ecology: For common community phylogenetic analyses, go ahead and use synthesis phylogenies</title><link>https://cactusolo.github.io/publication/lietal2019/</link><pubDate>Fri, 21 Jun 2019 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/lietal2019/</guid><description/></item><item><title>Slides</title><link>https://cactusolo.github.io/slides/example/</link><pubDate>Tue, 05 Feb 2019 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/slides/example/</guid><description>&lt;h1 id="create-slides-in-markdown-with-wowchemy">Create slides in Markdown with Wowchemy&lt;/h1>
&lt;p>&lt;a href="https://wowchemy.com/" target="_blank" rel="noopener">Wowchemy&lt;/a> | &lt;a href="https://owchemy.com/docs/managing-content/#create-slides" target="_blank" rel="noopener">Documentation&lt;/a>&lt;/p>
&lt;hr>
&lt;h2 id="features">Features&lt;/h2>
&lt;ul>
&lt;li>Efficiently write slides in Markdown&lt;/li>
&lt;li>3-in-1: Create, Present, and Publish your slides&lt;/li>
&lt;li>Supports speaker notes&lt;/li>
&lt;li>Mobile friendly slides&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="controls">Controls&lt;/h2>
&lt;ul>
&lt;li>Next: &lt;code>Right Arrow&lt;/code> or &lt;code>Space&lt;/code>&lt;/li>
&lt;li>Previous: &lt;code>Left Arrow&lt;/code>&lt;/li>
&lt;li>Start: &lt;code>Home&lt;/code>&lt;/li>
&lt;li>Finish: &lt;code>End&lt;/code>&lt;/li>
&lt;li>Overview: &lt;code>Esc&lt;/code>&lt;/li>
&lt;li>Speaker notes: &lt;code>S&lt;/code>&lt;/li>
&lt;li>Fullscreen: &lt;code>F&lt;/code>&lt;/li>
&lt;li>Zoom: &lt;code>Alt + Click&lt;/code>&lt;/li>
&lt;li>&lt;a href="https://github.com/hakimel/reveal.js#pdf-export" target="_blank" rel="noopener">PDF Export&lt;/a>: &lt;code>E&lt;/code>&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="code-highlighting">Code Highlighting&lt;/h2>
&lt;p>Inline code: &lt;code>variable&lt;/code>&lt;/p>
&lt;p>Code block:&lt;/p>
&lt;pre>&lt;code class="language-python">porridge = &amp;quot;blueberry&amp;quot;
if porridge == &amp;quot;blueberry&amp;quot;:
print(&amp;quot;Eating...&amp;quot;)
&lt;/code>&lt;/pre>
&lt;hr>
&lt;h2 id="math">Math&lt;/h2>
&lt;p>In-line math: $x + y = z$&lt;/p>
&lt;p>Block math:&lt;/p>
&lt;p>$$
f\left( x \right) = ;\frac{{2\left( {x + 4} \right)\left( {x - 4} \right)}}{{\left( {x + 4} \right)\left( {x + 1} \right)}}
$$&lt;/p>
&lt;hr>
&lt;h2 id="fragments">Fragments&lt;/h2>
&lt;p>Make content appear incrementally&lt;/p>
&lt;pre>&lt;code>{{% fragment %}} One {{% /fragment %}}
{{% fragment %}} **Two** {{% /fragment %}}
{{% fragment %}} Three {{% /fragment %}}
&lt;/code>&lt;/pre>
&lt;p>Press &lt;code>Space&lt;/code> to play!&lt;/p>
&lt;span class="fragment " >
One
&lt;/span>
&lt;span class="fragment " >
**Two**
&lt;/span>
&lt;span class="fragment " >
Three
&lt;/span>
&lt;hr>
&lt;p>A fragment can accept two optional parameters:&lt;/p>
&lt;ul>
&lt;li>&lt;code>class&lt;/code>: use a custom style (requires definition in custom CSS)&lt;/li>
&lt;li>&lt;code>weight&lt;/code>: sets the order in which a fragment appears&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="speaker-notes">Speaker Notes&lt;/h2>
&lt;p>Add speaker notes to your presentation&lt;/p>
&lt;pre>&lt;code class="language-markdown">{{% speaker_note %}}
- Only the speaker can read these notes
- Press `S` key to view
{{% /speaker_note %}}
&lt;/code>&lt;/pre>
&lt;p>Press the &lt;code>S&lt;/code> key to view the speaker notes!&lt;/p>
&lt;aside class="notes">
&lt;ul>
&lt;li>Only the speaker can read these notes&lt;/li>
&lt;li>Press &lt;code>S&lt;/code> key to view&lt;/li>
&lt;/ul>
&lt;/aside>
&lt;hr>
&lt;h2 id="themes">Themes&lt;/h2>
&lt;ul>
&lt;li>black: Black background, white text, blue links (default)&lt;/li>
&lt;li>white: White background, black text, blue links&lt;/li>
&lt;li>league: Gray background, white text, blue links&lt;/li>
&lt;li>beige: Beige background, dark text, brown links&lt;/li>
&lt;li>sky: Blue background, thin dark text, blue links&lt;/li>
&lt;/ul>
&lt;hr>
&lt;ul>
&lt;li>night: Black background, thick white text, orange links&lt;/li>
&lt;li>serif: Cappuccino background, gray text, brown links&lt;/li>
&lt;li>simple: White background, black text, blue links&lt;/li>
&lt;li>solarized: Cream-colored background, dark green text, blue links&lt;/li>
&lt;/ul>
&lt;hr>
&lt;section data-noprocess data-shortcode-slide
data-background-image="/media/boards.jpg"
>
&lt;h2 id="custom-slide">Custom Slide&lt;/h2>
&lt;p>Customize the slide style and background&lt;/p>
&lt;pre>&lt;code class="language-markdown">{{&amp;lt; slide background-image=&amp;quot;/media/boards.jpg&amp;quot; &amp;gt;}}
{{&amp;lt; slide background-color=&amp;quot;#0000FF&amp;quot; &amp;gt;}}
{{&amp;lt; slide class=&amp;quot;my-style&amp;quot; &amp;gt;}}
&lt;/code>&lt;/pre>
&lt;hr>
&lt;h2 id="custom-css-example">Custom CSS Example&lt;/h2>
&lt;p>Let&amp;rsquo;s make headers navy colored.&lt;/p>
&lt;p>Create &lt;code>assets/css/reveal_custom.css&lt;/code> with:&lt;/p>
&lt;pre>&lt;code class="language-css">.reveal section h1,
.reveal section h2,
.reveal section h3 {
color: navy;
}
&lt;/code>&lt;/pre>
&lt;hr>
&lt;h1 id="questions">Questions?&lt;/h1>
&lt;p>&lt;a href="https://github.com/wowchemy/wowchemy-hugo-modules/discussions" target="_blank" rel="noopener">Ask&lt;/a>&lt;/p>
&lt;p>&lt;a href="https://wowchemy.com/docs/managing-content/#create-slides" target="_blank" rel="noopener">Documentation&lt;/a>&lt;/p></description></item><item><title>Research Lightning Talks at Florida Museum of Natural History</title><link>https://cactusolo.github.io/post/lightning_talk/</link><pubDate>Fri, 01 Feb 2019 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/post/lightning_talk/</guid><description>&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="" srcset="
/post/lightning_talk/wc_hu63d9a31a1e1b8b1c244f1f4e472ebb27_260649_1c0b31c91c72da0ccd80a69f7409a733.png 400w,
/post/lightning_talk/wc_hu63d9a31a1e1b8b1c244f1f4e472ebb27_260649_e89b1045a1bef14241443d8e9f8acd44.png 760w,
/post/lightning_talk/wc_hu63d9a31a1e1b8b1c244f1f4e472ebb27_260649_1200x1200_fit_lanczos_3.png 1200w"
src="https://cactusolo.github.io/post/lightning_talk/wc_hu63d9a31a1e1b8b1c244f1f4e472ebb27_260649_1c0b31c91c72da0ccd80a69f7409a733.png"
width="714"
height="358"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
All my research is &lt;strong>phylogeny&lt;/strong> based. Phylogeny trees are illustrating relationships among organisms. Relationships matter! In my understanding, &lt;mark>phylogeny serves as a beautiful platform, which links all the biology data together with an evolutionary background&lt;/mark>. I&amp;rsquo;m insterested in phylogeny of angiosperms, particularly &lt;a href="https://cactusolo.github.io/project/rosids/">rosids&lt;/a>.&lt;/p>
&lt;p>I briedly introduced three main research interests:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;a href="https://cactusolo.github.io/publication/sun2015com/">Phylogney&lt;/a>&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;a href="https://cactusolo.github.io/project/rosids/">Diversification&lt;/a>&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;a href="https://cactusolo.github.io/publication/lu2018evolutionary/">Phylogentic Diversity (PD)&lt;/a>&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>It turned out that people like my talk! ✌️ ✌️
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="" srcset="
/post/lightning_talk/Tweet1_hu47441d887d4ac29fb6892ad63a6e09ef_83999_b4be6f45b4ecab91bdb928762b0590a8.jpg 400w,
/post/lightning_talk/Tweet1_hu47441d887d4ac29fb6892ad63a6e09ef_83999_19f9c82cd7cf672d37b5e0d42781859b.jpg 760w,
/post/lightning_talk/Tweet1_hu47441d887d4ac29fb6892ad63a6e09ef_83999_1200x1200_fit_q75_lanczos.jpg 1200w"
src="https://cactusolo.github.io/post/lightning_talk/Tweet1_hu47441d887d4ac29fb6892ad63a6e09ef_83999_b4be6f45b4ecab91bdb928762b0590a8.jpg"
width="573"
height="760"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="" srcset="
/post/lightning_talk/Tweet2_hu5cf2c980c728c8ba35a0e33def3d3545_106382_73d0a865e2b93398b3d8299ad4dc0c2d.jpg 400w,
/post/lightning_talk/Tweet2_hu5cf2c980c728c8ba35a0e33def3d3545_106382_7f1b453c6f24fbf23ced6d7d0965cde7.jpg 760w,
/post/lightning_talk/Tweet2_hu5cf2c980c728c8ba35a0e33def3d3545_106382_1200x1200_fit_q75_lanczos.jpg 1200w"
src="https://cactusolo.github.io/post/lightning_talk/Tweet2_hu5cf2c980c728c8ba35a0e33def3d3545_106382_73d0a865e2b93398b3d8299ad4dc0c2d.jpg"
width="581"
height="760"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>&lt;/p>
&lt;p>&lt;a href="https://cactusolo.github.io/uploads/Miao_lightning_talk.pdf" target="_blank">You can download my talk slides here&lt;/a> 👈&lt;/p></description></item><item><title>Field work activities from 2006-2012 in China</title><link>https://cactusolo.github.io/post/field_work/</link><pubDate>Sun, 13 Jan 2019 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/post/field_work/</guid><description>&lt;p>I have visited a lot places in south part of China. These places are genreally hostspots of biodiversity of China. &lt;em>Especially I love Xizang!&lt;/em> I hope I have chance to introduce more details of this facinating landscape, spelendid vegation, and each plant I came across during my trip.&lt;/p>
&lt;p>🍀 🌸 🌿 🌵 🍄 🌴 🌳 🌼&lt;/p>
&lt;p>Here some bullets of my trips I have make since 2006 - 2012:&lt;/p>
&lt;ul>
&lt;li>2012&lt;br>
Trip to southern Yunnan along Myanmar border with Pam S. Soltis and Doug E. Soltis, collecting materials for Tree of life — China Project.
Trip to Hainan tropical rain forest with Doug E. Soltis, collecting materials of Tree for life — China Project.&lt;/li>
&lt;li>2006 ~ 2011&lt;br>
Joined in the expedition team of national herbarium (PE) for collection many times, successively visited a series of biodiversity hotspots, such as Jilin, Hubei, Chongqing, Guangxi, Sichuan, Xizang, etc.&lt;/li>
&lt;/ul>
&lt;p>I use R code and Baidumap API to show my trips:&lt;/p>
&lt;p>Warning: This script may not work well in R markdown enviroment, but I tried by copying out the code as a single script in R studio. It works.&lt;/p>
&lt;pre>&lt;code class="language-{r">rm(list=ls())
# you need to install these packages if have not done so.
#install.packages(&amp;quot;devtools&amp;quot;)
# devtools::install_github(&amp;quot;lchiffon/REmap&amp;quot;)
# devtools::install_github(&amp;quot;badbye/baidumap&amp;quot;&amp;quot;)
install.packages(&amp;quot;png&amp;quot;)
library(&amp;quot;png&amp;quot;)
library(&amp;quot;REmap&amp;quot;)
library(&amp;quot;baidumap&amp;quot;)
# I realized chinese string have more success match with their coordinates
city&amp;lt;- c(&amp;quot;北京&amp;quot;,&amp;quot;吉林省&amp;quot;, &amp;quot;广东&amp;quot;,&amp;quot;湖北&amp;quot;,&amp;quot;重庆&amp;quot;,&amp;quot;广西&amp;quot;,&amp;quot;西藏&amp;quot;,&amp;quot;四川&amp;quot;, &amp;quot;云南&amp;quot;, &amp;quot;海南&amp;quot;)
begin&amp;lt;-rep(&amp;quot;beijing&amp;quot;,length(city)) #(起点)
mapdata&amp;lt;-data.frame(begin,city)
getBaiduMap2(city, width = 400, height = 400, zoom = 10, scale = 2,
color = &amp;quot;color&amp;quot;, messaging = TRUE)
map_pic &amp;lt;- remap(mapdata = mapdata, #数据框
title = &amp;quot;Footsteps covered most hotspots of China&amp;quot;, #标题
subtitle = &amp;quot;Field work activities from 2006-2012&amp;quot;, #副标题
theme = get_theme(theme = &amp;quot;Dark&amp;quot;)) #主题
plot(map_pic)
&lt;/code>&lt;/pre>
&lt;figure id="figure-field-trip-trail">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Field trip trail"
src="https://cactusolo.github.io/post/field_work/Feildwork.gif"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
Field trip trail
&lt;/figcaption>&lt;/figure></description></item><item><title>Teaching Tree of Life</title><link>https://cactusolo.github.io/post/outreach_otl/</link><pubDate>Fri, 04 Jan 2019 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/post/outreach_otl/</guid><description>&lt;h2 id="we-are-all-tree-tenders">We are all Tree Tenders!&lt;/h2>
&lt;p>Those outreach activities always make me wondering how could I deliver the knowledge I learned to the public and also make me realized that how important my work is! Tree of life is beautiful metaphor! It perfectly explains how everything in this enormous tree connected and related. If we can educate the public about the biodiversity and conservation, and how our future depends on it! Then so, ultimately more and more people realize it and will initiatively promote saving the Tree of Life! &lt;em>It’s never too big to do something about it! We all play a part for the greater good!&lt;/em>&lt;/p>
&lt;p>Here are some photos from the workshops I teaching tree of life and outreach activities I show people how the vegetables and fruits on their diner table are related.&lt;/p>
&lt;div class="gallery">
&lt;a data-fancybox="gallery-uf_outreach" href="https://cactusolo.github.io/media/albums/uf_outreach/1Tree1Planet.jpg" data-caption="Volunteer on one tree one planet event">
&lt;img src="https://cactusolo.github.io/media/albums/uf_outreach/1Tree1Planet_hu5fd901c167c5cbf2201b638f6938082a_533681_0x190_resize_q75_lanczos.jpg" loading="lazy" alt="Volunteer on one tree one planet event" width="235" height="190">
&lt;/a>
&lt;a data-fancybox="gallery-uf_outreach" href="https://cactusolo.github.io/media/albums/uf_outreach/FM.png" data-caption="I wrapped my tree around &amp;lt;a href=&amp;#34;https://fmbrewing.com/&amp;#34;&amp;gt; First Magnitude&amp;lt;/a&amp;gt;">
&lt;img src="https://cactusolo.github.io/media/albums/uf_outreach/FM_hu84e1ddb61730308cb5c50a86615acf07_1121487_0x190_resize_lanczos_3.png" loading="lazy" alt="I wrapped my tree around [ First Magnitude](https://fmbrewing.com/)" width="254" height="190">
&lt;/a>
&lt;a data-fancybox="gallery-uf_outreach" href="https://cactusolo.github.io/media/albums/uf_outreach/FriutTree.jpg" data-caption="Do you know how your daily consumptions are related?">
&lt;img src="https://cactusolo.github.io/media/albums/uf_outreach/FriutTree_huacee4d7c2fbb8834534440d667a2173f_83941_0x190_resize_q75_lanczos.jpg" loading="lazy" alt="Do you know how your daily consumptions are related?" width="143" height="190">
&lt;/a>
&lt;a data-fancybox="gallery-uf_outreach" href="https://cactusolo.github.io/media/albums/uf_outreach/MeTree.jpg" data-caption="It&amp;amp;rsquo;s not just a tree, but a ancient book in scroll">
&lt;img src="https://cactusolo.github.io/media/albums/uf_outreach/MeTree_huc0f5c79081ff12c347e4f83976fad54d_76157_0x190_resize_q75_lanczos.jpg" loading="lazy" alt="It&amp;#39;s not just a tree, but a ancient book in scroll" width="142" height="190">
&lt;/a>
&lt;a data-fancybox="gallery-uf_outreach" href="https://cactusolo.github.io/media/albums/uf_outreach/MiaoTree.png" data-caption="Building any scale of tree">
&lt;img src="https://cactusolo.github.io/media/albums/uf_outreach/MiaoTree_hud712543c648c70d7cdd88e39c0b0ea11_992889_0x190_resize_lanczos_3.png" loading="lazy" alt="Building any scale of tree" width="131" height="190">
&lt;/a>
&lt;a data-fancybox="gallery-uf_outreach" href="https://cactusolo.github.io/media/albums/uf_outreach/Museum_Corredoor.jpg" data-caption="My tree expanded all along the FLMNH corridor">
&lt;img src="https://cactusolo.github.io/media/albums/uf_outreach/Museum_Corredoor_hu6dc012b784fc246ab80bccc4a74e9302_76436_0x190_resize_q75_lanczos.jpg" loading="lazy" alt="My tree expanded all along the FLMNH corridor" width="142" height="190">
&lt;/a>
&lt;a data-fancybox="gallery-uf_outreach" href="https://cactusolo.github.io/media/albums/uf_outreach/OTL.jpg" data-caption="How molecular data represented on OTL">
&lt;img src="https://cactusolo.github.io/media/albums/uf_outreach/OTL_hu7b6adf91664c28d8c5d6efb52bb0b070_65674_0x190_resize_q75_lanczos.jpg" loading="lazy" alt="How molecular data represented on OTL" width="253" height="190">
&lt;/a>
&lt;a data-fancybox="gallery-uf_outreach" href="https://cactusolo.github.io/media/albums/uf_outreach/PE.png" data-caption="Hanging tree down from National Herbarium (PE)">
&lt;img src="https://cactusolo.github.io/media/albums/uf_outreach/PE_huc2110f81e286101543c8b4c606bb36ff_1051341_0x190_resize_lanczos_3.png" loading="lazy" alt="Hanging tree down from National Herbarium (PE)" width="109" height="190">
&lt;/a>
&lt;a data-fancybox="gallery-uf_outreach" href="https://cactusolo.github.io/media/albums/uf_outreach/soltislabtree.png" data-caption="Everybody has their favorite spot on the tree">
&lt;img src="https://cactusolo.github.io/media/albums/uf_outreach/soltislabtree_hufe36aaaf7d567056f5252a8a6af3066a_1633266_0x190_resize_lanczos_3.png" loading="lazy" alt="Everybody has their favorite spot on the tree" width="252" height="190">
&lt;/a>
&lt;a data-fancybox="gallery-uf_outreach" href="https://cactusolo.github.io/media/albums/uf_outreach/Teaching.jpg" data-caption="Teaching the tree of life knowledge">
&lt;img src="https://cactusolo.github.io/media/albums/uf_outreach/Teaching_hu59d7c4a00e0ba3ab72a48503b32203e5_124210_0x190_resize_q75_lanczos.jpg" loading="lazy" alt="Teaching the tree of life knowledge" width="107" height="190">
&lt;/a>
&lt;a data-fancybox="gallery-uf_outreach" href="https://cactusolo.github.io/media/albums/uf_outreach/TreeUFCompus.jpg" data-caption="Tree of life UF campus pop-up">
&lt;img src="https://cactusolo.github.io/media/albums/uf_outreach/TreeUFCompus_hu40307e13ae3a0770cac352c86a2e5914_908183_0x190_resize_q75_lanczos.jpg" loading="lazy" alt="Tree of life UF campus pop-up" width="143" height="190">
&lt;/a>
&lt;/div></description></item><item><title>Dimensions</title><link>https://cactusolo.github.io/project/dimensions/</link><pubDate>Fri, 28 Dec 2018 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/project/dimensions/</guid><description/></item><item><title>Biodiversity and the Earth</title><link>https://cactusolo.github.io/post/gator_good/</link><pubDate>Wed, 26 Dec 2018 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/post/gator_good/</guid><description>&lt;h2 id="saving-the-biodiversity-on-the-earth--saving-ourselves">Saving the Biodiversity on the Earth = Saving Ourselves&lt;/h2>
&lt;h4 id="its-never-too-big-to-do-something-about-it--we-all-play-a-part-for-the-greater-goodhttpswwwyoutubecomwatchvxvpdptr2gkmindex16t0slistllcuzuxth2qnfn92t4zqlesg">It&amp;rsquo;s never too big to do something about it! &lt;a href="https://www.youtube.com/watch?v=XvPDptR2GkM&amp;amp;index=16&amp;amp;t=0s&amp;amp;list=LLcUzUXTh2qnFN92T4ZqLesg" target="_blank" rel="noopener">We all play a part for the greater good&lt;/a>!&lt;/h4>
&lt;p>Our world’s heartbeat is its biodiversity! This complex network of all life is responsible for the food we eat, the water we drink and the air we breathe. But we often don’t realize how much even our subtile actions may have huge consequences to the earth’s cultivation or damage. That’s why researchers come together from all over the world to map our biodiversity and call for conservation. We are building a robust &lt;strong>&lt;em>family tree&lt;/em>&lt;/strong> for all life on earth as the foundation for its preservation and for the greater good of our own species.&lt;br>
Evolutionary relationship matters! Tree of Life (&lt;em>phylogeny&lt;/em>) is able to help us with the discovery of medicines, curing diseases, improving crops, identifying conservation priorities, and even predicting the global response of species to a rapidly changing climate. Our knowledge of phylogeny also can help to increase public understanding of conservation, biodiversity, emphasizing the importance and connectivity of all life. Scientists and the publics, and policy makers need to be partnership togther contributing this great course! See &lt;a href="https://www.elsevier.com/books/the-great-tree-of-life/soltis/978-0-12-812553-3" target="_blank" rel="noopener">Soltis and Soltis (2019)&lt;/a>.&lt;/p>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
&lt;iframe src="https://www.youtube.com/embed/z_FI56liDd4" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allowfullscreen title="YouTube Video">&lt;/iframe>
&lt;/div></description></item><item><title>Annual Project Report</title><link>https://cactusolo.github.io/post/annual_report/annual-project-report/</link><pubDate>Fri, 21 Dec 2018 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/post/annual_report/annual-project-report/</guid><description>&lt;h1 id="1-prepare-target-enrichment-dna-samples-for-genera-phylogeny">1. Prepare Target Enrichment DNA samples for genera phylogeny&lt;/h1>
&lt;p>Coordinating with Mark and Hanyang, prepared ca. 500 DNA Samples, and submitted Rapid Genomics for Target Enrichment sequencing&lt;/p>
&lt;p>Nextstep:&lt;br>
- Evaluating, cleanning, and assembling the sequence data&lt;br>
- Reconstructing phylogeny for each genus sampled, and then a big combined tree&lt;br>
- Correlated with other data collected&lt;/p>
&lt;h1 id="2-community-phylogeny">2. Community phylogeny&lt;/h1>
&lt;p>Using &lt;em>opentree_pytoys&lt;/em>, I have reconstructed community phylogenies for 11 sites (5 Chinese sites, 3,694 species in total, and 6 US sites, 1,663 species intotal), individually and combinedly.&lt;/p>
&lt;ul>
&lt;li>Name validation from Open tree&lt;/li>
&lt;li>Resultant topolgy checking&lt;/li>
&lt;li>Faith’s phylogenetic diversity (PD~SES~) value is caculated&lt;/li>
&lt;li>Making a database to tracking all the changed names&lt;/li>
&lt;/ul>
&lt;p>Ongoing and nextstep:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Phylogenetic diversity&lt;/p>
&lt;ul>
&lt;li>Advanced PD measurement, then compare between USA and Chinese sites:&lt;br>
M(P), ^q^E(P), MP(D), VP(D), NRI, NTI&lt;/li>
&lt;li>Reveal the whole pattern and/or exploring the cause to the differences (&lt;em>biotic and abiotic factors&lt;/em>)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>Functional traits&lt;/p>
&lt;ul>
&lt;li>Assembling some traits data from Tao Zhang (&lt;em>plants&lt;/em>) and Teng Yang (&lt;em>soil/fungi&lt;/em>) to correlated my community phylogenies&lt;br>
Using soil-oriented data, Tang et al. (2018) has found that plant phylogeny has a positive association with dissimilarities of fungal community；&lt;br>
I want to testify if the association is still true with plant-oriented data&lt;/li>
&lt;li>Functional-traits measurement:&lt;br>
M(T), ^q^E(T), ^q^E(T*)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h1 id="3-helped-to-processed-soil-dna-samples">3. helped to processed Soil DNA samples&lt;/h1>
&lt;p>Working with Mark, we helped to dry 20 plates (96 x 20 = 1,920) soil DNA samples from Triplett&amp;rsquo;s lab, then send back to Goegina.&lt;/p>
&lt;p>Next step:&lt;br>
Shipping to China (&lt;em>Dr. Chu&lt;/em>) after holiday, and awaiting for DNA sequencing&lt;/p>
&lt;h1 id="4-miscellaneous">4. Miscellaneous&lt;/h1>
&lt;ul>
&lt;li>Participated in &lt;em>Asia-Evo&lt;/em> conference with psoter exhibition&lt;/li>
&lt;li>Collaborated with Dr. Teng Yang and Dr. Haiyang Chu, recontructing phylogeny for disjuct woody species in China to investigate tree–fungus associations. This work was published:&lt;br>
&lt;em>Yang T, Tedersoo L, Soltis PS, Soltis DE, Gilbert JA, Sun M, Shi Y, Wang HF, Li YT, Zhang J, Chen ZD, Lin HY, Zhao YP, Fu CX, Chu HY. (2018) Phylogenetic imprint of woody plants on the soil mycobiome in natural mountain forests of eastern China. The ISME Journal. doi: 10.1038/s41396-018-0303-x&lt;/em>&lt;/li>
&lt;li>Helped Anthony translated 19,712 specimen records of disjuct species from China&lt;/li>
&lt;li>Continuously served as the main contacting/communicating point among the Soltis', Lichstein&amp;rsquo;s, Jenny&amp;rsquo;s, and Chinese labs for primary tasks related to material collecting, extraction, evaluation, and DNA sample preparation&lt;/li>
&lt;/ul></description></item><item><title>Tree of Life</title><link>https://cactusolo.github.io/project/tree_of_life/</link><pubDate>Thu, 20 Dec 2018 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/project/tree_of_life/</guid><description>&lt;p>&lt;em>&lt;strong>&amp;ldquo;Dealing with conservation is about dealing with people, not about dealing with animails (and plants)&amp;quot;&lt;/strong> &amp;mdash; Sarah Hauck&lt;/em>&lt;/p>
&lt;p>&lt;em>Tree of Life &amp;mdash; A map of the relationships between all life on earth &amp;mdash; A metaphor for the importance and connectivity of all species &amp;mdash; Aiming to increase public understanding of conservation and biodiversity. The knowledge of Tree of Life has many practical applications which will benifit ourselves.&lt;/em>&lt;/p>
&lt;p>Under this big project, I have mainly involved fowllowing two subset projects as primary researcher:&lt;/p>
&lt;ol>
&lt;li>
&lt;p>&lt;strong>Rosid Phylogeny and Diversification&lt;/strong> We recently used 5-locus, 19,740-taxon supermatrix to investigate the sampling bias of rosid in GenBank, and how sampling differences may influence the phylogeny and downstream diversification analyses (See &lt;a href="../rosids/">rosids Project&lt;/a>);&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>The Tree of Life: China project ( &lt;a href="https://onlinelibrary.wiley.com/doi/10.1111/jse.12215" target="_blank" rel="noopener">&lt;em>Chen et al., 2016&lt;/em>&lt;/a>)&lt;/strong> We build a tree of life for the plants of China (~30,000 flowering plant species), uncovering a distinct regional pattern in biodiversity. Eastern China is a floral “museum” with a rich array of ancient lineages and distant relatives while the western provinces are an evolutionary “cradle” for newer and more closely related species. More detail see &lt;a href="https://www.nature.com/articles/nature25485?sf180981170=1" target="_blank" rel="noopener">Lu et al. (2018)&lt;/a>.&lt;/p>
&lt;/li>
&lt;/ol></description></item><item><title>Plotting Christmas Tree</title><link>https://cactusolo.github.io/post/christmas_tree/</link><pubDate>Mon, 17 Dec 2018 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/post/christmas_tree/</guid><description>&lt;p>I saw a figure of all potential Christmas tree 🎄 at 🐦 &lt;a href="https://twitter.com/Polypompholyx/status/1074351911581728770?s=05" target="_blank" rel="noopener">Polypompholyx’s Tweet&lt;/a>.&lt;/p>
&lt;p>It looks strange for my first impression. So I did a quick check from &lt;a href="https://tree.opentreeoflife.org/opentree/argus/opentree10.4@ott93302" target="_blank" rel="noopener">Open Tree&lt;/a>. This looks much better!&lt;/p>
&lt;p>See code below:&lt;/p>
&lt;pre>&lt;code class="language-{r">rm(list=ls())
# install.packages(&amp;quot;rotl&amp;quot;)
# install.packages(&amp;quot;ape&amp;quot;)
#loading libraries
library(&amp;quot;rotl&amp;quot;) #for querying open tree database
library(&amp;quot;ape&amp;quot;) #for tree manipulation
#First I preapred a table for those potential **Christmas Trees** with first column is common names,a nd second column is the scientific names
# then we read in the table as a query list to the Open Tree
query &amp;lt;- read.csv(&amp;quot;XsmasTree.csv&amp;quot;, header=TRUE, sep=&amp;quot;,&amp;quot;, stringsAsFactors=FALSE, quote=&amp;quot;&amp;quot;)
# check what our table look like this
head(query)
# query names and get ottid
species &amp;lt;- tnrs_match_names(names = query$Scientific_name_rept.)
# check results
head(species)
# fix fuzzy match on row 16, then updated it
new_species&amp;lt;- update(species, row_number=16, new_ott_id = 248313)
# checking object
head(new_species)
species &amp;lt;- new_species
species.ottid &amp;lt;- ott_id(species)
# extracting the phylogeny summarized in the Open tree
tree &amp;lt;- tol_induced_subtree(ott_ids=species$ott_id, label_format = &amp;quot;name&amp;quot;)
# make it looks good
tree &amp;lt;- ladderize(tree)
plot.phylo(tree, cex=0.8)
# rename the tree tip labels
query[[2]][16] &amp;lt;- &amp;quot;Picea pungens&amp;quot; #remove one extra space
query[[2]] &amp;lt;- gsub(pattern=&amp;quot;\\s&amp;quot;, &amp;quot;_&amp;quot;, query[[2]])
new_label &amp;lt;- paste0(tree$tip.label,&amp;quot;(&amp;quot;, query[[1]][match(tree$tip.label, query[[2]])], &amp;quot;)&amp;quot;)
new_tree &amp;lt;- tree
new_tree$tip.label &amp;lt;- new_label
#png(&amp;quot;The Tree of Christams Tree.png&amp;quot;)
#plot(new_tree, cex=0.7)
#dev.off()
#write.tree(new_tree, &amp;quot;renamed_Xsmas_tree.tre&amp;quot;)
#plot a prettier tree
plot.phylo(new_tree, edge.color = &amp;quot;dark green&amp;quot;, edge.width = 2, tip.color = &amp;quot;red&amp;quot;,
label.offset = 0.5, main=&amp;quot;The Tree of Christmas Tree&amp;quot;, col.main=&amp;quot;red&amp;quot;)
mtext(&amp;quot;---source from Open Tree&amp;quot;, col=&amp;quot;dark green&amp;quot;, 3)
&lt;/code>&lt;/pre>
&lt;p>
&lt;figure id="figure-tree-of-xsmas-trees">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Tree of Xsmas Trees" srcset="
/post/christmas_tree/Rplot02_hu02779b9926964c9250097458591aa486_83480_93923b561ccfa9c0f48976415955c100.png 400w,
/post/christmas_tree/Rplot02_hu02779b9926964c9250097458591aa486_83480_74f59a8b12e6cebfe68cadddb82a7773.png 760w,
/post/christmas_tree/Rplot02_hu02779b9926964c9250097458591aa486_83480_1200x1200_fit_lanczos_3.png 1200w"
src="https://cactusolo.github.io/post/christmas_tree/Rplot02_hu02779b9926964c9250097458591aa486_83480_93923b561ccfa9c0f48976415955c100.png"
width="414"
height="456"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
Tree of Xsmas Trees
&lt;/figcaption>&lt;/figure>
❄️ 🎅 🌵 🔔 ☃️ 🌲&lt;/p></description></item><item><title>Plotting Florida</title><link>https://cactusolo.github.io/post/ploting-florida/</link><pubDate>Fri, 14 Dec 2018 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/post/ploting-florida/</guid><description>
&lt;script src="https://cactusolo.github.io/rmarkdown-libs/header-attrs/header-attrs.js">&lt;/script>
&lt;div class="figure">
&lt;img src="https://cactusolo.github.io/post/2018-12-14-ploting-florida_files/florida.png" alt="" />
&lt;p class="caption">florida&lt;/p>
&lt;/div>
&lt;div id="ploting-florida" class="section level1">
&lt;h1>Ploting Florida&lt;/h1>
&lt;p>Today, I learned some “Spatial Analysis” R packages (e.g., &lt;em>ggmap&lt;/em>, &lt;em>tigris&lt;/em>) from the last workshop of 8-week-long workshop series — &lt;a href="https://informatics.institute.ufl.edu/event/introduction-to-r-for-the-social-sciences-weekly-workshops-fall-2018/">R for the Social Sciences Weekly Workshops&lt;/a>. It was a really great workshop! I leared a lot of &lt;strong>R&lt;/strong> and &lt;strong>Stats&lt;/strong> (e.g., Linear Models, Generalized Linear Models, autocorrelation, etc), even though the topics were more focused on Social Sciences.&lt;/p>
&lt;p>Thanks to Raffaele Vacca, Tom Smith, and Till Krenz!&lt;/p>
&lt;p>Here are some quick and simple code to plot Florida:&lt;/p>
&lt;pre class="r">&lt;code>library(ggplot2)
library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.0 ──
## ✓ tibble 3.0.6 ✓ dplyr 1.0.4
## ✓ tidyr 1.1.2 ✓ stringr 1.4.0
## ✓ readr 1.4.0 ✓ forcats 0.5.1
## ✓ purrr 0.3.4
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
# Get the shape data for the state of Florida and We need more detailed shape data to show county borders
flr &amp;lt;- map_data(&amp;quot;county&amp;quot;) %&amp;gt;%
filter(region == &amp;quot;florida&amp;quot;)
# Create a ggplot object that we can add layers to.
flr_plot &amp;lt;-
ggplot(data = flr, mapping = aes(x = long, y = lat)) +
geom_map(map = flr, color = &amp;quot;orange&amp;quot;, fill = &amp;quot;blue&amp;quot;,
aes(map_id=region)) +
coord_quickmap()
flr_plot&lt;/code>&lt;/pre>
&lt;p>&lt;img src="https://cactusolo.github.io/post/2018-12-14-plotting-florida_files/figure-html/unnamed-chunk-1-1.png" width="672" />&lt;/p>
&lt;pre class="r">&lt;code>
#of course, we can do more stuff, like adding county names...&lt;/code>&lt;/pre>
&lt;/div></description></item><item><title>Rosid Phylogeny and Diversification</title><link>https://cactusolo.github.io/project/rosids/</link><pubDate>Mon, 10 Dec 2018 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/project/rosids/</guid><description>&lt;p>We recently used large biodiversity datasets representing the state of the art in rosids to explore (1) &lt;a href="https://www.biorxiv.org/content/10.1101/694950v2" target="_blank" rel="noopener">phylogenetic and dating uncertainties, and sampling bias persisted in major flowering plant clades&lt;/a>, and (2) &lt;a href="https://cactusolo.github.io/publication/sun_rosid3_2020/">the impacts of incomplete sampling schemes on different diversification methods&lt;/a>; (3) with deep understand of our data and methods, we then further &lt;a href="https://cactusolo.github.io/publication/sun_rosid2_2020/">explored the association betweed rosid diversification and tropicality, and both historical and present-day temperature&lt;/a>.&lt;/p>
&lt;p>As more molecular data, species distribution data, and other ecological data available, we&amp;rsquo;ll continously work on developing climatic layers over time that can trace the expansion of strong seasonality, and especially areas with seasonal freezing temperatures. These layers, when coupled with more fine-grained, modeled past and present species distribution information would provide a strong basis for more explicit testing of current pattern with more mechanism-focused hypothesis.&lt;/p></description></item><item><title>Taxonomy</title><link>https://cactusolo.github.io/project/taxonomy/</link><pubDate>Mon, 10 Dec 2018 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/project/taxonomy/</guid><description>&lt;p>Under this project, mainly two parts related to my Master work:&lt;/p>
&lt;ol>
&lt;li>
&lt;p>&lt;strong>Taxonomic revision of &lt;em>Elaeagus&lt;/em> L. (Elaeagnaceae) in China&lt;/strong>&lt;br>
Combined knowledges from field observations and comprehensive study on more than 7000 specimens from 20 herbaria, I have recognised of 36 species, one subspecies and five varieties in mainland China. 13 species names and three variety names are regarded as new synonyms. See more details in &lt;a href="../../publication/sun2010Elaeagnus/">Sun et al. (2010)&lt;/a>&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Validation and lectotypification for all type specimens deposited in PE&lt;/strong>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;p>A type is a really important object in taxonomy; it can be a particular specimen (in some cases a diagram, or a group of specimens) of an organism to which the scientific name of that organism is formally attached. Based on detailed study of 20,000 cited type specimens housed at China National Herbarium (PE) in litertures, we selected ca. 8,000 type specimens according to the updated &lt;a href="https://www.iapt-taxon.org/icbn/main.htm" target="_blank" rel="noopener">International Code of Botanical Nomenclature&lt;/a>.
Our research was published as a book of &lt;strong>&lt;em>Types Specimens in China National Herbarium (PE)&lt;/em>&lt;/strong> (2015) with &lt;em>15&lt;/em> volumes in total, and I&amp;rsquo;m the Coauthor of Vols. 6, 7, and 10. This book include type specimens from moss, ferns, and seed plants belong to 217 families, 1,174 genera, 6,627 species, 67 subspecies, 1,149 varities, and 126 forms; composed of 4,583 Holotypes, 2,372 Isotypes, 395 Lectotypes, 9 Isolectotypes, 3 Neotypes, 3 Isoepitypes, 34 Syntypes, 100 Isosyntypes, 293 Paratypes, 178 Isoparatypes. It was called as Masterpiece for research and study plants in China, and professional reference book for botanists, taxonomists, and systematists. All the type specimens were digitalized as high-resoluton images and its protologues referrences. Detailed information was recorded in databased. It perhaps be the most comprehensive collection of types specimens in the world. More information can be found from &lt;a href="http://www.hnstp.cn/?article-255.html" target="_blank" rel="noopener">the publisher&lt;/a> and &lt;a href="http://sz.chinadaily.com.cn/2017-07/30/content_30296034.htm" target="_blank" rel="noopener">China Daily&lt;/a>.&lt;br>
This project was supported by Plant Specimen Digitisation and Chinese Virtual Herbarium Establishment.&lt;br>
&lt;figure id="figure-15-volums-of-types-specimens-in-china-national-herbarium-pe">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="15 Volums of Types Specimens in China National Herbarium (PE)" srcset="
/project/taxonomy/pulication_type_huda0a2426e0bd7b00cb4d6f48d04cfc1f_716071_829db2b3e3800e5d2b5192d6539218a1.jpg 400w,
/project/taxonomy/pulication_type_huda0a2426e0bd7b00cb4d6f48d04cfc1f_716071_50a84aec431d277a4a13f05e645fca54.jpg 760w,
/project/taxonomy/pulication_type_huda0a2426e0bd7b00cb4d6f48d04cfc1f_716071_1200x1200_fit_q75_lanczos.jpg 1200w"
src="https://cactusolo.github.io/project/taxonomy/pulication_type_huda0a2426e0bd7b00cb4d6f48d04cfc1f_716071_829db2b3e3800e5d2b5192d6539218a1.jpg"
width="760"
height="350"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
15 Volums of Types Specimens in China National Herbarium (PE)
&lt;/figcaption>&lt;/figure>&lt;/p></description></item><item><title>Evolutionary history of the angiosperm flora of China</title><link>https://cactusolo.github.io/publication/lu2018evolutionary/</link><pubDate>Wed, 31 Jan 2018 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/lu2018evolutionary/</guid><description>&lt;p>I contributed equally to this work.&lt;/p></description></item><item><title>AJB: Challenges of comprehensive taxon sampling in comparative biology: Wrestling with rosids</title><link>https://cactusolo.github.io/publication/folk2018challenges/</link><pubDate>Mon, 01 Jan 2018 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/folk2018challenges/</guid><description/></item><item><title>Nature---ISME: Phylogenetic imprint of woody plants on the soil mycobiome in natural mountain forests of eastern China</title><link>https://cactusolo.github.io/publication/yang2018phylogenetic/</link><pubDate>Mon, 01 Jan 2018 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/yang2018phylogenetic/</guid><description/></item><item><title>Phytotaxa: Moving from modern toward post-modern science: comment on “An integrated assessment of the vascular plants of the Americas”</title><link>https://cactusolo.github.io/publication/mavrodiev2018moving/</link><pubDate>Mon, 01 Jan 2018 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/mavrodiev2018moving/</guid><description/></item><item><title>FPLS: Unveiling the Identity of Wenwan Walnuts and Phylogenetic Relationships of Asian Juglans Species Using Restriction Site-Associated DNA-Sequencing</title><link>https://cactusolo.github.io/publication/mu2017unveiling/</link><pubDate>Sun, 01 Oct 2017 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/mu2017unveiling/</guid><description/></item><item><title>JSE: Global versus Chinese perspectives on the phylogeny of the N-fixing clade</title><link>https://cactusolo.github.io/publication/li2016global/</link><pubDate>Fri, 01 Jul 2016 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/li2016global/</guid><description/></item><item><title>APPS: A new resource for the development of SSR markers: Millions of loci from a thousand plant transcriptomes</title><link>https://cactusolo.github.io/publication/hodel2016new/</link><pubDate>Fri, 01 Jan 2016 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/hodel2016new/</guid><description/></item><item><title>APPS: The report of my death was an exaggeration: A review for researchers using microsatellites in the 21st century</title><link>https://cactusolo.github.io/publication/hodel2016report/</link><pubDate>Fri, 01 Jan 2016 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/hodel2016report/</guid><description/></item><item><title>JSE: Phylogeny of the Rosidae: A dense taxon sampling analysis</title><link>https://cactusolo.github.io/publication/sun2016rosidphylogeny/</link><pubDate>Fri, 01 Jan 2016 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/sun2016rosidphylogeny/</guid><description/></item><item><title>JSE: Tree of life for the genera of Chinese vascular plants</title><link>https://cactusolo.github.io/publication/chen2016tree/</link><pubDate>Fri, 01 Jan 2016 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/chen2016tree/</guid><description/></item><item><title>Deep phylogenetic incongruence in the angiosperm clade Rosidae</title><link>https://cactusolo.github.io/publication/sun2015com/</link><pubDate>Sat, 28 Feb 2015 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/sun2015com/</guid><description>&lt;p>More detail can be found &lt;a href="https://www.sciencedirect.com/science/article/pii/S105579031400387X" target="_blank" rel="noopener">here&lt;/a>.&lt;/p></description></item><item><title>Exploring deep phylogenetic incongruence of the COM clade in Rosidae: Phylogenomics approach [PhD dissertation]</title><link>https://cactusolo.github.io/publication/sun2014dissertation/</link><pubDate>Wed, 28 May 2014 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/sun2014dissertation/</guid><description/></item><item><title>Genome: Identification of nuclear low-copy genes and their phylogenetic utility in rosids</title><link>https://cactusolo.github.io/publication/wang2014identification/</link><pubDate>Wed, 01 Jan 2014 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/wang2014identification/</guid><description/></item><item><title>Tree of Life and Its Applications</title><link>https://cactusolo.github.io/publication/luetal2014tol/</link><pubDate>Wed, 01 Jan 2014 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/luetal2014tol/</guid><description/></item><item><title>JSE: A revision of Elaeagnus L. (Elaeagnaceae) in mainland China</title><link>https://cactusolo.github.io/publication/miao2010revision/</link><pubDate>Sat, 01 May 2010 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/miao2010revision/</guid><description/></item><item><title>Validation of eight names of Chinese taxa in Ranunculaceae, Rosaceae and Scrophulariaceae</title><link>https://cactusolo.github.io/publication/lin2009validation/</link><pubDate>Tue, 01 Sep 2009 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/lin2009validation/</guid><description/></item><item><title>Primary Taxonomic Study of Elaeagnus ( Elaeagnaceae) in Mainland China</title><link>https://cactusolo.github.io/publication/sun2010elaeagnus/</link><pubDate>Mon, 01 Jun 2009 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/sun2010elaeagnus/</guid><description/></item><item><title>Lectotypification of five scientific names in Rosaceae [In Chinese]</title><link>https://cactusolo.github.io/publication/sun2008lectotypification/</link><pubDate>Tue, 01 Jan 2008 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/sun2008lectotypification/</guid><description/></item><item><title>Lectotypification of twenty names of Chinese taxa in Angiospermae [In Chinese]</title><link>https://cactusolo.github.io/publication/lin2008lecto/</link><pubDate>Tue, 01 Jan 2008 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/publication/lin2008lecto/</guid><description/></item><item><title/><link>https://cactusolo.github.io/admin/config.yml</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cactusolo.github.io/admin/config.yml</guid><description/></item></channel></rss>