本节介绍如何生成OTU。生成OTU的方法一共有三类:De novo,Closed-reference,Open-reference。
在开始讲解方法之前先简单说明一下什么是OTU。
OTU(operational taxonomic units),即操作分类单元。通过一定的距离度量方法计算两两不同序列之间的距离度量或相似性,继而设置特定的分类阈值,获得同一阈值下的距离矩阵,进行聚类操作,形成不同的分类单元。
上述定义比较抽象,具体讲解可以参见丁香园的一篇帖子:http://www.dxy.cn/bbs/topic/35655953
一共有三种生成OTU的方法(De novo,Closed-reference,Open-reference),我们通常使用open-reference OTU picking的方法。
De novo OTU picking
De novo选取OTU的方法顾名思义,就是没有任何参考序列进行聚类生成OTU。
优点:所有的reads都可以被聚类
缺点:速度慢
pick_de_novo_otus.py \
-i seq.fna \
-o pick_otus \
Closed-reference OTU picking
Closed-reference选取OTU的方法是将reads聚类后与参考序列比对,与参考序列无法匹配的reads将被剔除。
优点:速度快;可以建立更好的树和分类
缺点:无法发现新的OTU
pick_closed_reference_otus.py \
-i seq.fna \
-r refseqs.fna \
-o pick_otus
Open-reference OTU picking
Open-reference选取OTU的方法是先将reads聚类后与参考序列比对,然后未匹配上的序列进行de novo聚类。
优点:所有的序列都被聚类;速度比de novo快
缺点:如果数据大部分都无法匹配到参考序列,则速度仍比较慢。
参数文件16S_pickotu_param.txt内容:
pick_otus:enable_rev_strand_match True
assign_taxonomy:assignment_method rdp
assign_taxonomy:confidence 0.5
pick_open_reference_otus.py \
-i seq.fna \
-o pick_otus \
-p 16S_pickotu_param.txt \
其他的参数,大家可以使用-h查看。根据需求修改。
生成文件
最后会生成一个log文件详细记录命令的子程序脚本。可以查看、记录具体使用了哪些参数和命令。
后续进行下游分析的文件为
- OTU Table(
pick_otus/otu_table_mc2_w_tax_no_pynast_failures.biom
) - Phylogenetic Tree (
pick_otus/rep_set.tre
) - Representative Sequences (
pick_otus/rep_set.fna
)
RDP步骤报错
如果没有安装RDP分类器会出现下述报错:
Error in assign_taxonomy.py: RDP classifier is not installed or not accessible to QIIME. See install instructions here: http://qiime.org/install/install.html#rdp-install
打开提示的网站http://qiime.org/install/install.html#rdp-install
点击next下一页(http://qiime.org/install/alternative.html)会出现RDP安装的教程。
首先下载RDP分类器:https://sourceforge.net/projects/rdp-classifier/files/rdp-classifier/rdp_classifier_2.2.zip/download
解压缩后放到合适的位置。
然后根据自己放置的位置添加路径。
echo "export RDP_JAR_PATH=$HOME/rdp_classifier_2.2/rdp_classifier-2.2.jar" >> $HOME/.bashrc
source $HOME/.bashrc
再执行的时候就不会报错啦。