扩增子分析QIIME2. 8数据筛选Filtering data
2017-08-04 23:05
211 查看
点击上方蓝色「宏基因组」关注我们!专业干货每日推送!
声明:本文为QIIME2官方帮助文档的中文版,由中科院遗传发育所刘永鑫博士翻译并亲测有效,文档翻译己获QIIME2团队官方授权。由于QIIME2更新频繁,如使用中遇到问题请访问QIIME2官方论坛阅读最新版中文帮助。
https://forum.qiime2.org/t/qiime2-1-chinese-manual/838
如中文翻译没有急时更新,请阅读英文原版 https://docs.qiime2.org
声明:本文为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[/code]过滤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.qzaReference
https://docs.qiime2.org/2017.7/tutorials/filtering/
想了解更多16S/ITS/18S扩增子、宏基因组、宏转录组文献阅读和分析相关文章,快关注“宏基因组”公众号,干货第一时间推送。
系统学习生物信息,快关注“生信宝典”,那里有几千志同道合的小伙伴一起学习。
相关文章推荐
- 扩增子分析QIIME2. 6数据导出Exporting data
- 扩增子分析QIIME2. 5数据导入Importing data
- yii使用dataProvider生成数据列表和筛选
- solr dataimport 数据导入源码分析(十)总结
- android源码分析--MMS data 数据模型及业务逻辑transaction
- Solr1.4.0源码分析(一) 解决DataImportHandler从数据库导入大量数据而内存溢出的问题
- 数据绑定以及Container.DataItem的具体分析
- 基于akka和data-sketch技术的实时数据流分析服务
- dataframe筛选数据根据某一个列的数据在另外的一个数组中
- 数据绑定以及Container.DataItem的具体分析
- IOS之分析网易新闻存储数据(CoreData的使用,增删改查)
- 数据绑定以及Container.DataItem的具体分析
- solr dataimport 数据导入源码分析(一)
- PyOdps DataFrame来临,数据分析从未如此简单!
- 惯性测量模块数据的卡曼滤波(Kalman filtering of IMU data)
- 微阵列数据分析(Microarray Data Analysis)
- 数据绑定以及Container.DataItem的具体分析
- python数据分析序列——DataFrame merge and apply
- clusterdata-2011-2 谷歌集群数据分析(二)--task_usage
- [Step By Step]在SAP Business Objects Data Services中使用Match Transform数据匹配分析功能并导入到SAP HANA中(Match Transform)