美文网首页
phyloseq: Explore microbiome pro

phyloseq: Explore microbiome pro

作者: 超人快飞 | 来源:发表于2020-04-19 18:55 被阅读0次

本节主要是在PhyloseqTutorials学习plot bars


下面的示例将帮助您开始在自己的phyloseq数据上使用plot_bar函数


Global Patterns dataset examples

加载数据集,仅仅用Chlamydiae门类

library("phyloseq"); packageVersion("phyloseq")
library("ggplot2"); packageVersion("ggplot2")
theme_set(theme_bw())
data("GlobalPatterns")
#subset_taxa提取某个门类
gp.ch = subset_taxa(GlobalPatterns, Phylum == "Chlamydiae")

Some initial basic plots

下面是没有给定参数时的默认barplot.数据集被绘制,每个样本分别映射到水平(x)轴,丰度值映射到垂直(y)轴。在每个样本的水平位置,每个OTU的丰度值按从大到小的顺序排列,用一条细细的水平线隔开,只要你选择的参数在图中各自的位置上产生了一个以上的OTU丰度值,这些值就会被按顺序堆叠起来,作为一种显示总和总和值的方式,同时仍然代表着单个的OTU丰度

#plot_bar(physeq, x="Sample", y="Abundance", fill=NULL,
 title=NULL, facet_grid=NULL)
plot_bar(gp.ch)
#添加填充颜色来表示每个OTU所属的属
plot_bar(gp.ch,color="Genus")
#现在保持相同的填充颜色,并通过SampleType变量将样本分组在一起;从本质上来说,就是采样和测序的环境
plot_bar(gp.ch, x="SampleType", fill="Genus")
#来自相同样本类型的相同OTU的丰度值将作为单独的条段堆叠,因此段线可能无法准确地描述所观察到的丰度(因为对于相同的水平轴分组,相同的OTU可能会显示不止一次),`plot_bar`不会试图标准化或标准化您的数据,这是您的工作(例如,使用phyloseq pacakge中的其他工具)

More Sophisticated Organization using Facets

#在下面的示例中,我们选择使用`facet`(独立的、相邻的子图)进一步组织数据。在这种情况下,`facet`允许我们根据每个OTU的属。在每个属面内,通过测序技术进一步分离数据,每个OTU来源的样本的肠型标签用填充色表示。
plot_bar(gp.ch, "Family", fill="Genus", facet_grid=~SampleType)

Further customization using ggplot2 layers

#注意,可以使用标准的ggplot2对绘图进行额外的修改。例如,下面的代码块显示了使用第二个绘图层添加抖动点( jittered points)的绘图。
library("ggplot2")
p = plot_bar(gp.ch, "Family", fill="Genus", facet_grid=~SampleType)
p + geom_point(aes(x=Family, y=Abundance), color="black", position="jitter", size=3)

Enterotypes dataset examples

#首先,载入包(如果还没有的话),然后将Enterotype数据修剪到最丰富的10个属
data("enterotype")
#筛选前十个丰度的属,注意names()的使用
TopNOTUs <- names(sort(taxa_sums(enterotype), TRUE)[1:10])
#其中prune_species()和prune_taxa()函数功能一样,根据物种名,筛选OTU表
ent10   <- prune_species(TopNOTUs, enterotype)

以下代码块中的plot_bar参数是经过各种试验后选择的。我们建议您在研究数据的不同特性时也尝试不同的参数设置。除了sample_data的变量名之外,plot_bar函数还可以识别分类级别的名称(如果存在的话)。在这个例子中,我们还选择了根据每个OTU的属按照“facet”(单独的、相邻的子图)来组织数据.以下代码块中的plot_bar参数是经过各种试验后选择的。我们建议您在研究数据的不同特性时也尝试不同的参数设置。除了sample_data的变量名之外,plot_bar函数还可以识别分类级别的名称(如果存在的话)。在这个例子中,我们还选择了根据每个OTU的属按照“facet”(单独的、相邻的子图)来组织数据.

plot_bar(ent10, "SeqTech", fill="Enterotype", facet_grid=~Genus)

你可以将来自不同样本、不同肠型的OTU丰度值叠加在一起并以不同的方式显示出来,而选择将样本的肠型命名和OTUs的属命名分离到一个网格中。在这种情况下,只需对前面的函数调用进行少许修改(添加填充以使其更易于阅读)

plot_bar(ent10, "Genus", fill="Genus", facet_grid=SeqTech~Enterotype)

Add ggplot2 layer to remove the OTU separation lines

现在,您可以将前一个图保存为一个变量,我们将其称为p,然后添加额外的ggplot2分层指令,实际上,这将删除前一个图中分隔otu和其他otu的分界线.

p = plot_bar(ent10, "Genus", fill="Genus", facet_grid=SeqTech~Enterotype)
#其中注意函数geom_bar()中的stat和position
p + geom_bar(aes(color=Genus, fill=Genus), stat="identity", position="stack")

相关文章

网友评论

      本文标题:phyloseq: Explore microbiome pro

      本文链接:https://www.haomeiwen.com/subject/avovbhtx.html