点击上方蓝色「宏基因组」关注我们!专业干货每日推送!
声明:本文为QIIME2官方帮助文档的中文版,由中科院遗传发育所刘永鑫博士翻译并亲测有效,文档翻译己获QIIME2团队官方授权。由于QIIME2更新频繁,如使用中遇到问题请访问QIIME2官方论坛阅读最新版中文帮助。
https://forum.qiime2.org/t/qiime2-1-chinese-manual/838
如中文翻译没有急时更新,请阅读英文原版 https://docs.qiime2.org
扩增子分析QIIME2. 8数据筛选Filtering data
复杂的实验通常会有非常多的组,具体分析中会根据批次、处理条件、基因型等信息进行反复筛选和分析,是分析中常用的操作。本文主讲特征表(Feature/OTU table)和距离矩阵的筛选。
下载实验相关数据
# 激活工作环境
source activate qiime2-2017.7
# 创建工作目录并进入
mkdir qiime2-filtering-tutorial
cd qiime2-filtering-tutorial
# 下载实验设计、特征表和距离矩阵
wget -O "sample-metadata.tsv" "https://data.qiime2.org/2017.7/tutorials/moving-pictures/sample_metadata.tsv"
wget -O "table.qza" "https://data.qiime2.org/2017.7/tutorials/filtering/table.qza"
wget -O "distance-matrix.qza" "https://data.qiime2.org/2017.7/tutorials/filtering/distance-matrix.qza"
# 下载失败的备用链接,成功则跳过
wget http://bailab.genetics.ac.cn/markdown/QIIME2/filter/sample-metadata.tsv
wget http://bailab.genetics.ac.cn/markdown/QIIME2/filter/table.qza
wget http://bailab.genetics.ac.cn/markdown/QIIME2/filter/distance-matrix.qza
过滤Feature/OTU表
按数据量过滤
# 按样品数据量筛选,只保留测序量大于1500的样品(实验中过滤掉数据量过小或过大的样品,有利于发现规律,异常值引起图形严重变形影响分析的判断)
qiime feature-table filter-samples \
--i-table table.qza \
--p-min-frequency 1500 \
--o-filtered-table sample-frequency-filtered-table.qza
# 按Feature的数据量过滤,只有少10个以上reads的Feature/OTU才保留(实验中会有大量低丰度的OTU,它们会增加计算工作量和影响高丰度结果FDR校正pvale的假阴性,通常需要选择一定的阈值进行筛选,常用的有相对丰度千分之五、千分之一、万分之一、万分之一;或者是reads出现的频率至少2、5、10等)
qiime feature-table filter-features \
--i-table table.qza \
--p-min-frequency 10 \
--o-filtered-table feature-frequency-filtered-table.qza
有时也会过滤掉高丰度的OTU或样本,需要使用--p-max-frequency
参数
偶然因素的过滤 Contingency-based filtering
举个栗子,你有实验和对照各十组,结果中会有很多OTU只在一个样品中出现,而在其它所有样品中均为零,这种情况一般认为是偶然因素的结果,不具有普遍性,有生物学意义的可能性也比较小,因此通常过滤掉他们,以减少下游分析工作量,降低结果的假阴性率。
# 过滤至少在2个样品中存在的Feature,去除偶然的Feature
qiime feature-table filter-features \
--i-table table.qza \
--p-min-samples 2 \
--o-filtered-table sample-contingency-filtered-table.qza
# 去除小于10个Feature的样品(根据具体情况,有些样品微生物种类极低,可能是异常,如服用过抗生素或PCR扩增出现问题),一般也要筛选后再分析
qiime feature-table filter-samples \
--i-table table.qza \
--p-min-features 10 \
--o-filtered-table feature-contingency-filtered-table.qza
同样上面筛选最小值,有时也会筛选最大值,它们的参数为--p-max-features
和--p-max-samples
基于索引的过滤
比如实验中的某些样品发现问题,如生长过程到受胁迫、人或动物吃错药(某些人体样品查出末如实申报的抗生素使用),需要在实验中进行剔除。
# 生成一样需要保留或剔除的样品列表(也可以手动编写文本文件)
echo Index > samples-to-keep.tsv
echo L1S8 >> samples-to-keep.tsv
echo L1S105 >> samples-to-keep.tsv
# 只保留指定的两个样品L1S8和L1S105
qiime feature-table filter-samples \
--i-table table.qza \
--m-metadata-file samples-to-keep.tsv \
--o-filtered-table index-filtered-table.qza
基于实验设计条件的筛选
这是最常用的,重点关注
# 筛选某个条件下一类:实验设计条件Subject列中,名为subject-1的所有样品
qiime feature-table filter-samples \
--i-table table.qza \
--m-metadata-file sample-metadata.tsv \
--p-where "Subject='subject-1'" \
--o-filtered-table subject-1-filtered-table.qza
# 筛选某个条件下多类:身体取样部分中左手和右手的样品
qiime feature-table filter-samples \
--i-table table.qza \
--m-metadata-file sample-metadata.tsv \
--p-where "BodySite IN ('left palm', 'right palm')" \
--o-filtered-table skin-filtered-table.qza
# 同时筛选两个条件共有(和关系/交集):Subject列中subject-1组且在BodySite中的gut
qiime feature-table filter-samples \
--i-table table.qza \
--m-metadata-file sample-metadata.tsv \
--p-where "Subject='subject-1' AND BodySite='gut'" \
--o-filtered-table subject-1-gut-filtered-table.qza
# 同时筛选两个条件均可(或关系/并集):BodySite例为gut或ReportedAntibioticUsage为Yes
qiime feature-table filter-samples \
--i-table table.qza \
--m-metadata-file sample-metadata.tsv \
--p-where "BodySite='gut' OR ReportedAntibioticUsage='Yes'" \
--o-filtered-table gut-abx-positive-filtered-table.qza
# 使用非NOT进行条件筛选:subject-1组中非肠道的样品
qiime feature-table filter-samples \
--i-table table.qza \
--m-metadata-file sample-metadata.tsv \
--p-where "Subject='subject-1' AND NOT BodySite='gut'" \
--o-filtered-table subject-1-non-gut-filtered-table.qza
如果想过滤物种类型呢?需要你的表中有物种信息,尝试使用filter-features
选项吧
过滤距离矩阵
# 按样品名过滤
qiime diversity filter-distance-matrix \
--i-distance-matrix distance-matrix.qza \
--m-metadata-file samples-to-keep.tsv \
--o-filtered-distance-matrix index-filtered-distance-matrix.qza
# 按实验设计中的某条件中的组过滤
qiime diversity filter-distance-matrix \
--i-distance-matrix distance-matrix.qza \
--m-metadata-file sample-metadata.tsv \
--p-where "Subject='subject-2'" \
--o-filtered-distance-matrix subject-2-filtered-distance-matrix.qza
Reference
想了解更多16S/ITS/18S扩增子、宏基因组、宏转录组文献阅读和分析相关文章,快关注“宏基因组”公众号,干货第一时间推送。
系统学习生物信息,快关注“生信宝典”,那里有几千志同道合的小伙伴一起学习。