美文网首页
phyloseq: Explore microbiome pro

phyloseq: Explore microbiome pro

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

    本节主要是在PhyloseqTutorials学习Alpha diversity graphics的功能


    使用plot-richness函数功能。
    虽然函数名包含单词richness,它通常是指样本或环境中物种/OTUs/分类单元的总数(观察到的或估计的),但这实际上是所有alpha-diversity描述的包装


    Load packages,set parameters

    加载phyloseq包,然后建在数据集(GlobalPatterns)

    library("phyloseq"); packageVersion("phyloseq")
    data("GlobalPatterns")
    library("ggplot2"); packageVersion("ggplot2")
    theme_set(theme_bw())
    pal = "Set1"
    #均匀间隔的颜色离散数据
    scale_colour_discrete <-  function(palname=pal, ...){
      scale_colour_brewer(palette=palname, ...)
    }
    scale_fill_discrete <-  function(palname=pal, ...){
      scale_fill_brewer(palette=palname, ...)
    }
    

    Prepare data

    由于我们对Alpha多样性很感兴趣,因此对没有出现在任何样本中的otu进行修剪可能是个很好的方法-但不要修剪太多!要知道,立即消除噪声是很诱人的,但是许多丰富度估计是根据丰富度数据中的singletonsdoubletons.如果你想要一个有意义的估计,你需要把它们留在数据集中.

    GP <- prune_species(speciesSums(GlobalPatterns) > 0, GlobalPatterns)
    

    Plot Examples

    下面是由plot_richness函数在GP示例数据集上生成的默认图形:

    #一条代码`plot_richness`即可生成,但是图像贼丑
    plot_richness(GP)
    

    注意,在本例中,Fisher计算结果是一个警告(但仍然是图),我们可以通过指定一个我们想去计算的Alpha-diversitymearsures参数

    plot_richness(GP,measures=c("Chao1","Shannon")
    

    我们可以指定一个示例变量,在该变量上沿着水平(x)轴对示例进行分组/组织.一个有实验意义的分类变量通常是一个不错的选择——在这种情下,“SampleType”变量比试图直接解释样本名称要好得多(如前面的图所示)

    plot_richness(GP, x="SampleType",measures=c("Chao1", "Shannon"))
    

    现在假设我们想在图中使用一个不在GP数据集中的外部变量——例如,表示样本是否与人类相关的逻辑.首先,将这个新变量human定义为一个因子(其他向量也可以;或其他描述样本的数据)

    #利用sanpleData(GP)$human添加一个外部变量,getvariable为获取添加的变量值
    sampleData(GP)$human<-getVariable(GP,"SampleType")%in%c("Feces","Mock","skin","Tongue")
    现在让`plot_richness`在x轴上映射新的`human`变量,据“样本类型”,将这些点用不同的颜色分组着色
    plot_richness(GP,"human",color = "SampleType",measures=c("Chao1", "Shannon"))
    #我们可以合并来自环境的示例(SampleType),并使用ggplot2层使这些点更大。首先,合并样本`merge_samples()`
    Gpst=merge_samples(GP,"SampleType")
    #修复在合并过程中损坏的变量(强制转换为数值)
    sample_data(GPst)$SampleType <- factor(sample_names(GPst))
    sample_data(GPst)$human <- as.logical(sample_data(GPst)$human)
    #现在我们可以绘制数据的环境合并版本。首先将默认的ggplot图形存储为p,然后添加一个额外的geom_point层,该层具有较大的尺寸和轻微的透明度。
    p = plot_richness(GPst, x="human", color="SampleType", measures=c("Chao1", "Shannon"))
    #geom_point()中的alpha为透明度
    p + geom_point(size=5, alpha=0.7)
    

    More details about ggplot2

    可以使用标准的列表表示法(使用美元符号$)从ggplot对象中删除图层

    p$layers
    #我们可以看到,第一层是指定初始点的层,初始点很小。我们可以使用负索引来“弹出”它,然后添加一个新的具有更大点尺寸的`geom_point`层(如下两行所示)
    p$layers <- p$layers[-1]
    p + geom_point(size=5, alpha=0.7)
    

    相关文章

      网友评论

          本文标题:phyloseq: Explore microbiome pro

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