分析前准备
# 进入工作目录 cd example_PE250
上一节回顾:我们的OTU获得了物种注释,并学习OTU表的各种操作————添加信息,格式转换,筛选信息。
接下来我们学习对OTU序列的进化分析、同时计算Alpha和Beta多样性值。
16. 进化树构建
进化树是基于多序列比对的结果,可展示丰富的信息,我们将在R绘图中详细解读。此处只是建树,用于Alpha, Beta多样性分析的输入文件。
# clustalo多序列比对,如果没有请安装Clustal Omega clustalo -i result/rep_seqs4.fa -o temp/rep_seqs_align.fa --seqtype=DNA --full --force --threads=30 # 筛选结果中保守序列和保守区 filter_alignment.py -i temp/rep_seqs_align.fa -o temp/ # rep_seqs_align_pfiltered.fa, only very short conserved region saved # 基于fasttree建树 make_phylogeny.py -i temp/rep_seqs_align_pfiltered.fasta -o result/rep_seqs.tree # generate tree by FastTree
17. Alpha多样性
Alpha多样性是计算样品内物种组成,包括数量和丰度两维信息。具体解释可见:扩增子图表解读1箱线图:Alpha多样性
Alpha多样性计算前需要对OTU表进行标准化,因为不同测序深度,检测到的物种数量会不同。我们将OTU表重抽样至相同数据量,以公平比较各样品的物种数量。方法如下:
# 查看样品的数据量最小值 biom summarize-table -i result/otu_table4.biom # 基于最小值进行重抽样标准化 single_rarefaction.py -i result/otu_table4.biom -o temp/otu_table_rare.biom -d 2797 # 计算常用的四种Alpha多样性指数 alpha_diversity.py -i temp/otu_table_rare.biom -o result/alpha.txt -t result/rep_seqs.tree -m shannon,chao1,observed_otus,PD_whole_tree
18. Beta多样性
Beta多样性是计算各样品间的相同或不同,OTU表也需要标准化。采用重抽样方法丢失的信息太多,不利于统计。此步我们选择CSS标准化方法。
# CSS标准化OTU表 normalize_table.py -i result/otu_table4.biom -o temp/otu_table_css.biom -a CSS # 转换标准化OTU表为文本,用于后期绘图 biom convert -i temp/otu_table_css.biom -o result/otu_table_css.txt --table-type="OTU table" --to-tsv # 删除表格多余信息,方便R读取 sed -i '/# Const/d;s/#OTU //g;s/ID.//g' result/otu_table_css.txt # 计算Beta多样性 beta_diversity.py -i temp/otu_table_css.biom -o result/beta/ -t result/rep_seqs.tree -m bray_curtis,weighted_unifrac,unweighted_unifrac # Beta多样性距离文件整理,方便R读取 sed -i 's/^ //g' result/beta/*