本节我们介绍Beta多样性的分析。
Beta多样性
分析微生物的Beta多样性可以直接使用Qiime1中的beta_diversity_through_plots.py
,这个命令包括以下三步骤:
-
beta_diversity.py
(http://qiime.org/scripts/beta_diversity.html)
2.principal_coordinates.py
(http://qiime.org/scripts/principal_coordinates.html)
3.make_emperor.py
(http://biocore.github.io/emperor/build/html/scripts/make_emperor.html)
同样我们可以通过参数文件修改命令中一系列的参数,比如很多人想要计算bray-curtis的距离,就可以通过参数文件添加。
具体的命令如下:
beta_diversity_through_plots.py \
-i otu_table.biom \
-o bdiv_plots/ \
-m mapping_file.txt \
-t rep_set.tre \
-p parameters.txt
Note:如果你想对样本进行挑选,你可以用--seqs_per_sample | -e
参数进行筛选。
最后会产生以下文件:
用于计算显著性的距离matrix文件
bdiv_plots/unweighted_unifrac_dm.txt
bdiv_plots/weighted_unifrac_dm.txt
用于做PCA和PCoA的主成分分析文件
bdiv_plots/unweighted_unifrac_pc.txt
bdiv_plots/weighted_unifrac_pc.txt
Beta多样性显著性的计算
一旦Beta多样性的PCoA图产生,你就会好奇你所关注的2个组或者多个组间究竟是否存在显著差异。目前有多种统计方法,qiime也为我们提供了几种包括Adonis等方法,它们都可以对Beta多样性进行检验,因此你可以根据你的数据集选择合适的方法进行检验。(参考:http://qiime.org/tutorials/category_comparison.html)
具体的命令如下:
# Unweighted UniFrac stats
compare_categories.py \
-i bdiv_plots/unweight_unifrac_dm.txt \
-o bdiv_stats_adonis_unweighted/ \
-m mapping_file.txt \
-c SampleType \
--method adonis
# Weighted UniFrac stats
compare_categories.py \
-i bdiv_plots/weight_unifrac_dm.txt \
-o bdiv_stats_adonis_weighted/ \
-m mapping_file.txt \
-c SampleType \
--method adonis
距离箱形图的绘制
make_distance_boxplots.py \
-d bdiv_plots/unweighted_unifrac_dm.txt \
-o bdiv_plots/unweighted_distance_boxplot
-m mapping_file.txt \
-f "SampleType" \
--save_raw_data
PCoA 2D图像的绘制
产生的PCoA是3D的,如果你想要2D的图像怎么办呢?
make_2d_plots.py \
-i bdiv_plots/unweight_unifrac_pc.txt \
-o bdiv_2d_plot/ \
-m mapping_file.txt
你还可以对PCoA的图像进行什么修改呢?
1、添加自定义轴
比如你还想将样本的采集时间添加进去,怎么办呢?
要注意因为是添加到轴所以必须是数字型的变量,不然无法画轴。
make_emperor.py \
-i bdiv_plots/unweighted_unifrac_pc.txt \
-o bdiv_plots_axes \
-m mapping_file.txt \
--custom_axes Day \
2、添加向量线
如果你想要连接享有同一个变量的点,比如你想要连接所有来自同一个样本的点。可以使用--add_vectors
这个参数。
make_emperor.py \
-i bdiv_plots/unweighted_unifrac_pc.txt \
-o bdiv_plots_vector \
-m mapping_file.txt \
--add_vectors Subject \
3、添加自定义颜色
emperor会对每个变量自动填充默认的颜色,如果你想要依据其他信息对点进行上色,你可以使用--color_by parameters
这个参数。
make_emperor.py \
-i bdiv_plots/unweighted_unifrac_pc.txt \
-o bdiv_plots_colorby \
-m mapping_file.txt \
--color_by "Subject&&Day"