Qiime1-8.处理OTU表

作者: jlyq617 | 来源:发表于2018-11-20 14:41 被阅读0次

    终于回来继续写了。本节讲解一下对OTU表的一些基本处理,提取生成你所需要的OTU表。

    查看OTU表的count数

    当运行完基本的分析流程后,我们往往会想要查看一下每个样本的OTU count数量。知道所有样本的OTU count数量的最小值、最大值、中位数等信息,对我们选取OTU和分析十分重要。如果存在个别样本的测序结果并不理想,count数目过低,那我们可能就需要对之前分析流程的一些参数进行适当的修改。在qiime1我们可以使用来自biom包的命令对OTU表进行总结,具体如下:

    biom summarize-table \
    -i pick_otus/otu_table_rdp_nochimera.biom \
    -o pick_otus/otu_table_rdp_nochimera_stats.txt
    

    接着我们就要思考以下几个问题:
    1、什么样的样本应该被保留进行下游分析?
    Samples with low OTU-count depth.
    Negative samples
    OTU-depth cut off (1000 OTU's/sample are suggested)
    2、什么样的OTU/Taxa应该被保留?
    OTU丰度的阈值应该怎么确定?是使用0.01%还是0.001%?
    有一些特殊的taxa是不是应该被剔除?比如Cyanobacteria?
    3、针对一个多因素实验,怎么进一步分析仅有的一个OTU表?

    为了解决上述的问题,我们就要对OTU表进行过滤,以获得我们需要的那一部分信息数据。

    从OTU表中挑选所需的样本

    1、正向选择:挑选你需要的想要保留的样本

    #从OTU表中挑选所有正常健康人的样本
    filter_samples_from_otu_table.py \
    -i otu_table.biom \
    -o otu_table_filtered.biom \
    -m mapping_file.txt \
    --output_mapping_fp mapping_file_filtered.txt \
    -s 'Condition:CO'
    

    2、反向选择:去除你不需要的要被剔除的样本

    #剔除所有正常健康人的样本
    filter_samples_from_otu_table.py \
    -i otu_table.biom \
    -o otu_table_no_gut.biom \
    -m mapping_file.txt \
    --output_mapping_fp mapping_file_no_gut.txt \
    -s 'Condition:*,!CO'
    

    3、多个条件的选择

    #选择正常健康的男性样本
    filter_samples_from_otu_table.py \
    -i otu_table.biom \
    -o otu_table_gut_d28.biom \
    -m mapping_file.txt \
    --output_mapping_fp mapping_file_gut_d28.txt \
    -s 'Condition:CO;Sex:1'
    

    基于分组信息分割OTU表

    比如你的样本中有一栏信息是样本采集时间,现在你想要根据采集时间对OTU进行划组,那么你就可以输入以下的命令:

    split_otu_table.py \
    -i otu_table.biom \
    -o split_by_month \
    -m mapping_file.txt \
    -f Month
    

    去除低count数的样本

    #去除count数在1000以下的样本
    filter_samples_from_otu_table.py \
    -i otu_table.biom \
    -o otu_table_m1000.biom \
    --output_mapping_fp mapping_file_m1000.txt \
    --min_count 1000
    

    从OTU表中过滤Taxa

    1、OTU水平的过滤

    #通常我们会按照万分之一进行过滤
    filter_otus_from_otu_table.py \
    -i otu_table.biom \
    -o otu_table_n01.biom \
    --min_count_fraction 0.0001
    

    2、Taxa水平的过滤
    a. 正向选择

    #只保留phylum水平的Bacteroidetes和Firmicutes
    filter_taxa_from_otu_table.py \
    -i otu_table.biom \
    -o otu_table_only_bacteroidetes_firmicutes.biom \
    -p p__Bacteroidetes,p__Firmicutes
    

    b.负向选择

    #剔除phylum水平的Bacteroidetes和Firmicutes
    filter_taxa_from_otu_table.py \
    -i otu_table.biom \
    -o otu_table_no_bacteroidetes_firmicutes.biom \
    -n p__Bacteroidetes,p__Firmicutes
    

    c.多个条件选择

    #保留Firmicutes除了Clostridia class
    filter_taxa_from_otu_table.py \
    -i otu_table.biom \
    -o otu_table_all_firmicutes_no_clostridia.biom \
    -p p__Firmicutes \
    -n c__Clostridia
    

    3.依据分类水平分割OTU表
    不同数字分别代表的分类水平:
    1 = kingdom, 2 = phylum, 3 = class, 4 = order, 5 = family 6 = genus, 7 = species

    #获得Class水平的OTU表
    split_otu_table_by_taxonomy.py \
    -i otu_table.biom \
    -o otu_table_by_level3 \
    -L 3
    

    相关文章

      网友评论

        本文标题:Qiime1-8.处理OTU表

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