{"id":232,"date":"2022-01-08T21:29:39","date_gmt":"2022-01-08T13:29:39","guid":{"rendered":"https:\/\/linguopeng.top\/?p=232"},"modified":"2022-01-08T21:29:42","modified_gmt":"2022-01-08T13:29:42","slug":"figure-1-root-microbiota-of-indica-and-japonica","status":"publish","type":"post","link":"https:\/\/linguopeng.top\/?p=232","title":{"rendered":"Figure 1. Root microbiota of indica and japonica"},"content":{"rendered":"\n<pre class=\"wp-block-code\"><code>---\r\ntitle: \"Figure 1. Root microbiota of indica and japonica. \"\r\nauthor: \"Yong-Xin Liu\"\r\ndate: \"2019\/2\/20\"\r\noutput: html_document\r\n---\r\n\r\n```{r setup, include=FALSE}\r\nknitr::opts_chunk$set(echo = TRUE)\r\n# Clean workspace\r\nrm(list=ls()) \r\n# Load setting and functions\r\nsource(\"..\/script\/stat_plot_functions.R\")\r\n# Set output directory\r\noutput_dir=\".\/\"\r\n```\r\n\n## a. World map\r\n\r\n(a) Diagram of original collection sites (44 countries) of indica (red) and japonica (blue) rice. \r\n\r\n```{r geomap, echo=TRUE}\r\nlibrary(dplyr)\r\nlibrary(maptools)\r\nlibrary(ggplot2)\r\nlibrary(maps)\r\n\r\ngeotable = read.table(\"varieties_geo.txt\", header = T, sep = \"\\t\")\r\nworldmap = map_data(\"world\")\r\n\r\nfig1 = ggplot(geotable, aes(Longitude, Latitude, color = Subspecies)) +\r\n  geom_polygon(data = worldmap, aes(x = long, y = lat, group = group, fill = NA), color = \"grey70\", size = 0.25)+\r\n  geom_point(size = 2.5, alpha = 0.5)+  scale_colour_brewer(palette = \"Set1\") +\r\n  scale_fill_brewer(palette = \"Set1\")+  \r\n  coord_cartesian()+\r\n  scale_y_continuous(breaks = (-3:3)*30)+\r\n  scale_x_continuous(breaks = (-6:6)*30)+\r\n  labs(x=\"Longitude\", y=\"Latitude\", colour = \"Subspecies\" ) +\r\n  theme_tufte()\r\nggsave(paste0(output_dir, \"minicore-worldmap.pdf\", sep=\"\"), fig1, width = 9, height = 5)\r\nfig1\r\n```\r\n\r\n\r\n## b. Experiment design\r\n\r\n(b) Diagram of the experimental design for rice field trials. The indica and japonica varieties were arranged randomly. Harvested samples for each variety were surrounded by protection plants that separated the different varieties.\r\n\r\nThis figure is manually drawn by Adobe Illustrator.\r\n\r\n!&#91;image](design.png)\r\n\r\n## c. PCoA filed I\r\n\r\n(c) Unconstrained Principal Coordinate Analysis with Bray-Curtis distance showing that the root microbiota of indica is separate from that of japonica in field I in the first axis (P &lt; 0.001, PERMANOVA by Adonis). Ellipses cover 68% of the data for each rice subspecies.\r\n\r\n```{r pcoa1}\r\ndesign = read.table(\"..\/data\/design.txt\", header=T, row.names=1, sep=\"\\t\")\r\ndesign$group=design$groupID\r\n\r\nif (TRUE){\r\n\tsub_design = subset(design, group %in% c(\"LIND\",\"LTEJ\"))\r\n\tsub_design$group  = factor(sub_design$group, levels=c(\"LIND\",\"LTEJ\"))\r\n}else{\r\n\tsub_design = design\r\n}\r\n\r\n# method = c(\"weighted_unifrac\",\"unweighted_unifrac\",\"bray_curtis\")\r\n# for(m in method){\r\nm = \"bray_curtis\"\r\nbeta = read.table(paste(\"..\/data\/\",m,\".txt\",sep=\"\"), header=T, row.names=1, sep=\"\\t\", comment.char=\"\") \r\nidx = rownames(sub_design) %in% rownames(beta)\r\nsub_design=sub_design&#91;idx,]\r\nsub_beta=beta&#91;rownames(sub_design),rownames(sub_design)]\r\n# k is dimension, 3 is recommended; eig is eigenvalues\r\npcoa = cmdscale(sub_beta, k=4, eig=T)\r\n# get coordinate string, format to dataframme\r\npoints = as.data.frame(pcoa$points) \r\neig = pcoa$eig\r\n# rename group name\r\nlevels(sub_design$group)=c(\"indica\",\"japonica\")\r\npoints = cbind(points, sub_design$group)\r\ncolnames(points) = c(\"PC1\", \"PC2\", \"PC3\", \"PC4\",\"group\") \r\np = ggplot(points, aes(x=PC1, y=PC2, color=group)) + geom_point(alpha=.7, size=2) +\r\n\tlabs(x=paste(\"PCoA 1 (\", format(100 * eig&#91;1] \/ sum(eig), digits=4), \"%)\", sep=\"\"),\r\n\ty=paste(\"PCoA 2 (\", format(100 * eig&#91;2] \/ sum(eig), digits=4), \"%)\", sep=\"\"),\r\n\ttitle=paste(m,\" PCoA\",sep=\"\")) + theme_classic()\r\np = p + stat_ellipse(level=0.68)\r\nggsave(paste0(output_dir, \"beta_filedI_\", m, \".pdf\", sep=\"\"), p, width = 5, height = 3)\r\n# }\r\np\r\n```\r\n\r\n## d. PCoA filed II\r\n\r\n(d) Unconstrained Principal Coordinate Analysis with Bray-Curtis distance showing that the root microbiota of indica is separate from that of japonica in field II in the first axis (P &lt; 0.001, PERMANOVA by Adonis).\r\n\r\n```{r pcoa2}\r\ndesign = read.table(\"..\/data\/design.txt\", header=T, row.names=1, sep=\"\\t\")\r\ndesign$group=design$groupID\r\n\r\nif (TRUE){\r\n\tsub_design = subset(design, group %in% c(\"HIND\",\"HTEJ\"))\r\n\tsub_design$group  = factor(sub_design$group, levels=c(\"HIND\",\"HTEJ\"))\r\n}else{\r\n\tsub_design = design\r\n}\r\n\r\n# method = c(\"weighted_unifrac\",\"unweighted_unifrac\",\"bray_curtis\")\r\n# for(m in method){\r\nm = \"bray_curtis\"\r\nbeta = read.table(paste(\"..\/data\/\",m,\".txt\",sep=\"\"), header=T, row.names=1, sep=\"\\t\", comment.char=\"\") \r\nidx = rownames(sub_design) %in% rownames(beta)\r\nsub_design=sub_design&#91;idx,]\r\nsub_beta=beta&#91;rownames(sub_design),rownames(sub_design)]\r\n# k is dimension, 3 is recommended; eig is eigenvalues\r\npcoa = cmdscale(sub_beta, k=4, eig=T)\r\n# get coordinate string, format to dataframme\r\npoints = as.data.frame(pcoa$points) \r\neig = pcoa$eig\r\n# rename group name\r\nlevels(sub_design$group)=c(\"indica\",\"japonica\")\r\npoints = cbind(points, sub_design$group)\r\ncolnames(points) = c(\"PC1\", \"PC2\", \"PC3\", \"PC4\",\"group\") \r\np = ggplot(points, aes(x=PC1, y=PC2, color=group)) + geom_point(alpha=.7, size=2) +\r\n\tlabs(x=paste(\"PCoA 1 (\", format(100 * eig&#91;1] \/ sum(eig), digits=4), \"%)\", sep=\"\"),\r\n\ty=paste(\"PCoA 2 (\", format(100 * eig&#91;2] \/ sum(eig), digits=4), \"%)\", sep=\"\"),\r\n\ttitle=paste(m,\" PCoA\",sep=\"\")) + theme_classic()\r\np = p + stat_ellipse(level=0.68)\r\nggsave(paste0(output_dir, \"beta_filedII_\", m, \".pdf\", sep=\"\"), p, width = 5, height = 3)\r\n# }\r\np\r\n```\r\n\r\n## e. Alpha diversity\r\n\r\n(e) Shannon index of the microbiota of roots from indica, japonica, and the corresponding bulk soil in two fields. The horizontal bars within boxes represent medians. The tops and bottoms of boxes represent 75th and 25th quartiles, respectively. The upper and lower whiskers extend 1.5 \u00d7 the interquartile range from the upper edge and lower edge of the box, respectively. \r\n \r\nPlotting Alpha boxlot for field I &amp; II\r\n\r\n```{r alpha_boxplot, echo=TRUE}\r\n# Read usearch alpha file\r\nalpha = read.table(\"alpha.txt\", header=T, row.names=1, sep=\"\\t\", comment.char=\"\")\r\n\r\n# Read design\r\ndesign = read.table(\"..\/data\/design.txt\", header=T, row.names=1, sep=\"\\t\")\r\n# Uniform group column as group\r\ndesign$group=design$groupID\r\n\r\n# Select by manual set group\r\nif (TRUE){\r\n\tsub_design = subset(design, group %in% c(\"LTEJ\",\"LIND\",\"LSoil1\",\"HTEJ\",\"HIND\",\"HSoil1\"))\r\n# Set group order\r\n\tsub_design$group  = factor(sub_design$group, levels=c(\"LTEJ\",\"LIND\",\"LSoil1\",\"HTEJ\",\"HIND\",\"HSoil1\"))\r\n}else{\r\n\tsub_design = design\r\n}\r\n\r\n# Cross filter\r\nidx = rownames(sub_design) %in% rownames(alpha)\r\nsub_design=sub_design&#91;idx,]\r\nsub_alpha=alpha&#91;rownames(sub_design),]\r\n\r\n# Add design to alpha\r\nindex = cbind(sub_alpha, sub_design) \r\n\r\n\r\n# sub_function. loop for statiscs and plot for each index\r\n# method = c(\"chao1\",\"richness\",\"shannon_e\")\r\n# for(m in method){\r\nm = \"shannon_e\"\r\nmodel = aov(index&#91;&#91;m]] ~ group, data=index)\r\nTukey_HSD = TukeyHSD(model, ordered = TRUE, conf.level = 0.95)\r\nTukey_HSD_table = as.data.frame(Tukey_HSD$group) \r\nwrite.table(paste(m, \"\\n\\t\", sep=\"\"), file=paste(output_dir, \"alpha_\",m,\".txt\",sep=\"\"),append = F, quote = F, eol = \"\", row.names = F, col.names = F)\r\nsuppressWarnings(write.table(Tukey_HSD_table, file=paste(\"alpha_\",m,\".txt\",sep=\"\"), append = T, quote = F, sep=\"\\t\", eol = \"\\n\", na = \"NA\", dec = \".\", row.names = T, col.names = T))\r\n\r\n# LSD test for stat label\r\nout = LSD.test(model,\"group\", p.adj=\"none\") # alternative fdr\r\nstat = out$groups\r\nindex$stat=stat&#91;as.character(index$group),]$groups\r\nmax=max(index&#91;,c(m)])\r\nmin=min(index&#91;,c(m)])\r\nx = index&#91;,c(\"group\",m)]\r\ny = x %>% group_by(group) %>% summarise_(Max=paste('max(',m,')',sep=\"\"))\r\ny=as.data.frame(y)\r\nrownames(y)=y$group\r\nindex$y=y&#91;as.character(index$group),]$Max + (max-min)*0.05\r\n\r\np = ggplot(index, aes(x=group, y=index&#91;&#91;m]], color=group)) +\r\n\tgeom_boxplot(alpha=1, outlier.size=0, size=0.7, width=0.5, fill=\"transparent\") +\r\n\tlabs(x=\"Groups\", y=paste(m, \"index\")) + theme_classic() + main_theme +\r\n\tgeom_text(data=index, aes(x=group, y=y, color=group, label= stat)) +\r\n\tgeom_jitter( position=position_jitter(0.17), size=1, alpha=0.7)\r\nif (length(unique(sub_design$group))>3){\r\n\tp=p+theme(axis.text.x=element_text(angle=45,vjust=1, hjust=1))\r\n}\r\ncolor = c(\"#00BFC4\", \"#F9766E\", \"#9E7C61\", \"#00BFC4\", \"#F9766E\", \"#9E7C61\")\r\np = p + scale_color_manual(values = color)\r\nggsave(paste(output_dir,\"alpha_\", m, \".pdf\", sep=\"\"), p, width = 5, height = 3)\r\np\r\n# }\r\n```\r\n\r\n## f. taxonomy composition\r\n\r\n(f) Phylum-level distribution of the indica and japonica root microbiota in two fields. The number of biological replicates in this figure is as follows: in field I, indica (n = 201), japonica (n = 80); in field II, indica (n = 201), japonica (n = 81).\r\n\r\n\r\n```{r taxonomy, echo=TRUE}\r\nsite=\"https:\/\/mirrors.tuna.tsinghua.edu.cn\/CRAN\"\r\n# Delect dependency, install or loading packages\r\npackage_list = c(\"reshape2\",\"ggplot2\",\"vegan\")\r\n# Check each packages is available\r\nfor(p in package_list){\r\n\tif(!suppressWarnings(suppressMessages(require(p, character.only = TRUE, quietly = TRUE, warn.conflicts = FALSE)))){\r\n\t\tinstall.packages(p, repos=site)\r\n\t\tsuppressWarnings(suppressMessages(library(p, character.only = TRUE, quietly = TRUE, warn.conflicts = FALSE)))\r\n  }\r\n}\r\n\r\n# Read input file\r\n# Design file\r\ndesign = read.table(\"..\/data\/design.txt\", header=T, row.names=1, sep=\"\\t\")\r\n# Group by\r\ndesign$group = design$groupID\r\n\r\n# Select by manual set group\r\nif (TRUE){\r\n\tsub_design = subset(design, group %in% c(\"LTEJ\",\"LIND\",\"LSoil1\",\"HTEJ\",\"HIND\",\"HSoil1\"))\r\n# Set group order\r\n\tsub_design$group  = factor(sub_design$group, levels=c(\"LTEJ\",\"LIND\",\"LSoil1\",\"HTEJ\",\"HIND\",\"HSoil1\"))\r\n}else{\r\n\tsub_design = design&#91;,c(\"SampleID\",\"group\")]\r\n}\r\n\r\n# Draw figure in phylum level and Proteobacteria class\r\nm = \"pc\"\r\n# read usearch taxonomy summary file\r\ntax_sample = read.table(paste(\"..\/data\/sum_\", m, \".txt\", sep=\"\"), header=T, row.names=1, sep=\"\\t\", comment.char=\"\") \r\n\r\n# Decreased sort by abundance\r\nmean_sort = tax_sample&#91;(order(-rowSums(tax_sample))), ]\r\nmean_sort = as.data.frame(mean_sort)\r\n# Filter Top 9 , and other group into Low abundance\r\nother = colSums(mean_sort&#91;10:dim(mean_sort)&#91;1], ])\r\nmean_sort = mean_sort&#91;1:(10 - 1), ]\r\nmean_sort = rbind(mean_sort,other)\r\nrownames(mean_sort)&#91;10] = c(\"Low abundance\")\r\n# Double check\r\n# colSums(mean_sort)\r\n\r\n# Cross filter metadata and features table\r\nidx = rownames(sub_design) %in% colnames(mean_sort)\r\nsub_design=sub_design&#91;idx,]\r\nmean_sort = mean_sort&#91;,rownames(sub_design)]\r\n\r\n\r\n# step 1. Stackplot for each samples\r\nmerge_tax=mean_sort\r\nwrite.table(\"\\t\", file=paste(\"tax_pc_\", m, \"_sample.txt\",sep=\"\"),append = F, quote = F, eol = \"\", row.names = F, col.names = F)\r\nsuppressWarnings(write.table(merge_tax, file=paste(\"tax_pc_\", m, \"_sample.txt\",sep=\"\"), append = T, quote = F, sep=\"\\t\", eol = \"\\n\", na = \"NA\", dec = \".\", row.names = T, col.names = T))\r\n\r\n# Select group information\r\nsampFile = data.frame(sample=row.names(sub_design), group=sub_design$group,row.names = row.names(sub_design))\r\n\r\n# Add taxonomy\r\nmean_sort$tax = rownames(mean_sort)\r\ndata_all = as.data.frame(melt(mean_sort, id.vars=c(\"tax\")))\r\n# Set taxonomy order by abundance, default by alphabet\r\nif (FALSE){\r\n\tdata_all$tax  = factor(data_all$tax, levels=rownames(mean_sort))\r\n}\r\ndata_all = merge(data_all, sampFile, by.x=\"variable\", by.y = \"sample\")\r\n\r\np = ggplot(data_all, aes(x=variable, y = value, fill = tax )) + \r\n\tgeom_bar(stat = \"identity\",position=\"fill\", width=1)+ \r\n\tscale_y_continuous(labels = scales::percent) + \r\n\tfacet_grid( ~ group, scales = \"free_x\", switch = \"x\") +  theme(strip.background = element_blank())+\r\n\ttheme(axis.ticks.x = element_blank(), axis.text.x = element_blank())+\r\n\txlab(\"Groups\")+ylab(\"Percentage (%)\")+ theme_classic()+theme(axis.text.x=element_text(angle=45,vjust=1, hjust=1))\r\np\r\n\r\n\r\n# Step 2. Group average stackplot\r\n\r\n# Calculate average relative abundance for each group\r\nmat_t = t(merge_tax)\r\nmat_t2 = merge(sampFile, mat_t, by=\"row.names\")\r\nmat_t2 = mat_t2&#91;,c(-1,-2)]\r\nmat_mean = aggregate(mat_t2&#91;,-1], by=mat_t2&#91;1], FUN=mean) # mean\r\nmat_mean_final = do.call(rbind, mat_mean)&#91;-1,]\r\ngeno = mat_mean$group\r\ncolnames(mat_mean_final) = geno\r\n\r\nmean_sort=as.data.frame(mat_mean_final)\r\nwrite.table(\"\\t\", file=paste(\"tax_pc_\", m, \"_group.txt\",sep=\"\"),append = F, quote = F, eol = \"\", row.names = F, col.names = F)\r\nsuppressWarnings(write.table(merge_tax, file=paste(\"tax_pc_\", m, \"_group.txt\",sep=\"\"), append = T, quote = F, sep=\"\\t\", eol = \"\\n\", na = \"NA\", dec = \".\", row.names = T, col.names = T))\r\n\r\n# data melt for ggplot2\r\nmean_sort$tax = rownames(mean_sort)\r\ndata_all = as.data.frame(melt(mean_sort, id.vars=c(\"tax\")))\r\n# Set taxonomy order by abundance, default by alphabet\r\nif (FALSE){\r\n\tdata_all$tax  = factor(data_all$tax, levels=rownames(mean_sort))\r\n}\r\n\r\np = ggplot(data_all, aes(x=variable, y = value, fill = tax )) + \r\n  geom_bar(stat = \"identity\",position=\"fill\", width=0.7)+ \r\n  scale_y_continuous(labels = scales::percent) + \r\n  xlab(\"Groups\")+ylab(\"Percentage (%)\")+ theme_classic()\r\nif (length(unique(data_all$variable))>3){\r\n\tp=p+theme(axis.text.x=element_text(angle=45,vjust=1, hjust=1))\r\n}\r\nggsave(paste0(output_dir, \"tax_pc_\", m, \"_group.pdf\", sep=\"\"), p, width = 5, height = 3)\r\np\r\n```\r\n\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/linguopeng.top\/wp-content\/uploads\/2022\/01\/minicore-worldmap-1.jpg'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" data-original=\"https:\/\/linguopeng.top\/wp-content\/uploads\/2022\/01\/minicore-worldmap-1.jpg\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-240\" width=\"607\" height=\"336\"  sizes=\"auto, (max-width: 607px) 100vw, 607px\" \/><\/div><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/linguopeng.top\/wp-content\/uploads\/2022\/01\/design-3-1.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" data-original=\"https:\/\/linguopeng.top\/wp-content\/uploads\/2022\/01\/design-3-1.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-245\" width=\"234\" height=\"229\"  sizes=\"auto, (max-width: 234px) 100vw, 234px\" \/><\/div><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/linguopeng.top\/wp-content\/uploads\/2022\/01\/beta_filedI_bray_curtis.jpg'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" data-original=\"https:\/\/linguopeng.top\/wp-content\/uploads\/2022\/01\/beta_filedI_bray_curtis.jpg\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-242\" width=\"418\" height=\"251\"\/><\/div><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/linguopeng.top\/wp-content\/uploads\/2022\/01\/beta_filedII_bray_curtis.jpg'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" data-original=\"https:\/\/linguopeng.top\/wp-content\/uploads\/2022\/01\/beta_filedII_bray_curtis.jpg\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-246\" width=\"503\" height=\"302\"\/><\/div><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/linguopeng.top\/wp-content\/uploads\/2022\/01\/alpha_shannon_e.jpg'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" data-original=\"https:\/\/linguopeng.top\/wp-content\/uploads\/2022\/01\/alpha_shannon_e.jpg\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-247\" width=\"478\" height=\"287\"\/><\/div><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/linguopeng.top\/wp-content\/uploads\/2022\/01\/tax_pc_pc_group.jpg'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" data-original=\"https:\/\/linguopeng.top\/wp-content\/uploads\/2022\/01\/tax_pc_pc_group.jpg\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-248\" width=\"455\" height=\"273\"\/><\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[3],"class_list":["post-232","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-r"],"_links":{"self":[{"href":"https:\/\/linguopeng.top\/index.php?rest_route=\/wp\/v2\/posts\/232","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linguopeng.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linguopeng.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linguopeng.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/linguopeng.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=232"}],"version-history":[{"count":2,"href":"https:\/\/linguopeng.top\/index.php?rest_route=\/wp\/v2\/posts\/232\/revisions"}],"predecessor-version":[{"id":249,"href":"https:\/\/linguopeng.top\/index.php?rest_route=\/wp\/v2\/posts\/232\/revisions\/249"}],"wp:attachment":[{"href":"https:\/\/linguopeng.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=232"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linguopeng.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=232"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linguopeng.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=232"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}