本节课程,需要先完成《扩增子分析解读》系列之前的操作
分析前准备
# 进入工作目录
cd example_PE250
上一节回顾:我们学习了嵌合体的形成,以及基于参考数据库去嵌合体;也学习了基于数据库比对来筛选细菌或真菌;最后基于最确定的OTU,我们生成代表性序列和OTU表,这是每种高通量测序都有的结果,后续的结果将全部基于这两个文件。
 
接下来我们学习对OTU进行物种注释;OTU的操作,包括格式转换、筛选添加物种信息、数据量筛选样品、筛选高丰度的OTU、物种筛选等。
 
OTU表常用的BIOM格式
主页:http://biom-format.org/ 。BIOM是英文The Biological Observation Matrix的缩写,中文翻译为生物观测矩阵,是一种通过格式,用于生物学样品对应观测值的表格。它主要采用json/HD5F文件格式标准,即多维散列结构,保存表格结构数据结果。目前主流的宏基因组软件均支持此格式文件,如QIIME、MG-RAST、PICRUSt、Mothur、phyloseq、MEGAN、VAMPS、metagenomeSeq、Phinch、RDP Classifier、USEARCH、PhyloToAST、EBI Metagenomics、GCModeller、MetaPhlAn 2。知道它有多重要了吧。
 
Biom文件处理系统biom程序是QIIME的必装包,如果没有安装好,可尝试下面步骤重装
# 安装依赖包
pip install numpy
# 安装biom格式转换包
pip install biom-format
# 安装2.0格式支持
pip install h5py
# 测序程序是否安装成功
biom
13. 物种注释
对于扩增子分析,最重要的就是物种信息。我们基于上节分析得到的代表性序列,采用上次已经下载的greengene的参考序列和物种注释信息,比对软件选择rdp方法,进行注释。
# 物种注释
assign_taxonomy.py -i result/rep_seqs.fa \
-r gg_13_8_otus/rep_set/97_otus.fasta \
-t gg_13_8_otus/taxonomy/97_otu_taxonomy.txt \
-m rdp -o result
注:如果是ITS/18S数据,建议数据库更改为UNITE,方法改为blast。详细使用说明,请读官方文档http://qiime.org/scripts/assign_taxonomy.html
 
14. OTU表统计、格式转换、添加信息
将OTU表转换为Biom格式,这样便于其它软件对其操作。可添加上面获得的物种信息,这样表格的信息就更丰富了,再转换为文本,便于人类可读,同时使用summarize-table查看OTU表的基本信息。
# 文本OTU表转换为BIOM:方便操作
biom convert -i temp/otu_table.txt \
-o result/otu_table.biom \
--table-type="OTU table" --to-json
# 添加物种信息至OTU表最后一列,命名为taxonomy
biom add-metadata -i result/otu_table.biom \
--observation-metadata-fp result/rep_seqs_tax_assignments.txt \
-o result/otu_table_tax.biom \
--sc-separated taxonomy --observation-header OTUID,taxonomy
# 转换biom为txt格式,带有物种注释:人类可读
biom convert -i result/otu_table_tax.biom -o result/otu_table_tax.txt --to-tsv --header-key taxonomy
# 查看OTU表的基本信息:样品,OUT数量统计
biom summarize-table -i result/otu_table_tax.biom -o result/otu_table_tax.sum
现在我们获得了OTU表的基本统计信息,用less result/otu_table_tax.sum查看一下吧,内容如下:
Num samples: 27 # 样品数据
Num observations: 975 # OTU数据
Total count: 409647 # 总数据量
Table density (fraction of non-zero values): 0.464 # 非零的单元格
 
Counts/sample summary:
 Min: 2352.0 # 样品数据量最小值
 Max: 35955.0 # 样品数据量最大值
 Median: 14851.000 # 样品数据量中位数
 Mean: 15172.111 # 样品数据量平均数
 Std. dev.: 10691.823 # 样品数据量标准变异
 Sample Metadata Categories: None provided # 样品分类信息:末提供
 Observation Metadata Categories: taxonomy # 观察值分类:物种信息
 
Counts/sample detail: # 每个样品的数据量
OE4: 2352.0
OE3: 2353.0
OE8: 3091.0
OE2: 3173.0
OE1: 3337.0
OE5: 3733.0
OE6: 4289.0
OE9: 4648.0
OE7: 5185.0
WT3: 10741.0
WT8: 12117.0
WT6: 14316.0
WT2: 14798.0
WT7: 14851.0
KO1: 14926.0
WT9: 15201.0
WT1: 15422.0
WT5: 15773.0
WT4: 16708.0
KO2: 17607.0
KO6: 23949.0
KO5: 26570.0
KO8: 27250.0
KO4: 32303.0
KO7: 33086.0
KO9: 35913.0
KO3: 35955.0
biom的详细使用说明,可以biom查看具体的功能,如添加注释功能biom add-metadata --help可查看详细说明。也可阅读官网http://biom-format.org/
 
15. OTU表筛选
实验中会有各种影响因素,我们要综合各种背景知识来判断如何筛选数据表,起到去伪存真,去粗取粗,由此及彼,有表及理的来回答科学问题。数据筛选是会运行分析流程和数据分析师的分水岭。
 
看上面的的统计结果,样本数据量从2k-35k,我们应去除过小的数据量样本,提供更可能高的样品最低丰度的数据用于下游标准化分析。这里我们选择只保留数据量大于3000的样品。
# 按样品数据量过滤:选择counts>3000的样品
filter_samples_from_otu_table.py -i result/otu_table_tax.biom -o result/otu_table2.biom -n 3000
# 查看过滤后结果:只有25个样品,975个OTU
biom summarize-table -i result/otu_table2.biom
同时还要过滤低丰度的OTU,一般低于万分之一丰度的菌,在功能研究可能还是比较困难的(早期文章454测序数据量少,通常只关注丰度千分之五以上的OTU)。
# 按OTU丰度过滤:选择相对丰度均值大于万分之一的OTU
filter_otus_from_otu_table.py --min_count_fraction 0.0001 -i result/otu_table2.biom -o result/otu_table3.biom
# 查看过滤后结果:只有25个样品,346个OTU
biom summarize-table -i result/otu_table3.biom
有些研究手段在特定有实验中存在偏差,如2012Nature报导V5-V7在植物中扩增会偏好扩增Chloroflexi菌门,建议去除。
# 按物种筛选OTU表:去除p__Chloroflexi菌门
filter_taxa_from_otu_table.py -i result/otu_table3.biom -o result/otu_table4.biom -n p__Chloroflexi
# 查看过滤后结果:只有25个样品,307个OTU
biom summarize-table -i result/otu_table4.biom
以上过滤条件是根据经验、相关文献设计的,如果不清楚,也不要随便过滤,容易引起假阴性。
 
得到的最终结果,还要转换为文本格式,和提取OTU表对应的序列,用于下游分析。
# 转换最终biom格式OTU表为文本OTU表格
biom convert -i result/otu_table4.biom -o result/otu_table4.txt --table-type="OTU table" --to-tsv
# OTU表格式调整方便R读取
sed -i '/# Const/d;s/#OTU //g;s/ID.//g' result/otu_table4.txt
# 筛选最终OTU表中对应的OTU序列
filter_fasta.py -f result/rep_seqs.fa -b result/otu_table4.biom -o result/rep_seqs4.fa

扩增子分析解读5物种注释 OTU表操作的更多相关文章

  1. 扩增子分析解读4去嵌合体 非细菌序列 生成代表性序列和OTU表

    本节课程,需要先完成 扩增子分析解读1质控 实验设计 双端序列合并 2提取barcode 质控及样品拆分 切除扩增引物 3格式转换 去冗余 聚类   先看一下扩增子分析的整体流程,从下向上逐层分析 分 ...

  2. 扩增子分析解读2提取barcode 质控及样品拆分 切除扩增引物

    本节课程,需要完成扩增子分析解读1质控 实验设计 双端序列合并 先看一下扩增子分析的整体流程,从下向上逐层分析 分析前准备 # 进入工作目录 cd example_PE250 上一节回顾:我们拿到了双 ...

  3. 扩增子分析解读6进化树 Alpha Beta多样性

    分析前准备 # 进入工作目录 cd example_PE250 上一节回顾:我们的OTU获得了物种注释,并学习OTU表的各种操作————添加信息,格式转换,筛选信息.   接下来我们学习对OTU序列的 ...

  4. 扩增子分析QIIME2. 1简介和安装

    原网站:https://blog.csdn.net/woodcorpse/article/details/75103929 声明:本文为QIIME2官方帮助文档的中文版,由中科院遗传发育所刘永鑫博士翻 ...

  5. 扩增子图表解读1箱线图:Alpha多样性

    箱线图 箱形图(Box-plot)又称为盒须图.盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图.因形状如箱子而得名.在宏基因组领域,常用于展示样品组中各样品Alpha多样性的分布 第一种情 ...

  6. 扩增子分析QIIME2-4分析实战Moving Pictures

    本示例的的数据来自文章<Moving pictures of the human microbiome>,Genome Biology 2011,取样来自两个人身体四个部位五个时间点   ...

  7. 扩增子图表解读4曼哈顿图:差异分类级别Taxonomy

    曼哈顿图 Manhattan Plot 曼哈顿图本质上是一个散点图,用于显示大量非零大范围波动数值,最早应用于全基因组关联分析(GWAS)研究展示高度相关位点.它得名源于样式与曼哈顿天际线相似(如下图 ...

  8. 扩增子分析QIIME2-3数据导出Exporting data

    # 激活工作环境 source activate qiime2-2017.8 # 建立工作目录 mkdir -p qiime2-exporting-tutorial cd qiime2-exporti ...

  9. 如何分析解读systemstat dump产生的trc文件

    ORACLE数据库的systemstat dump生成trace文件虽然比较简单,但是怎么从trace文件中浩如烟海的信息中提炼有用信息,并作出分析诊断是一件技术活,下面收集.整理如何分析解读syst ...

随机推荐

  1. OSX:不同OSX版本号的标记可能不兼容

    现象: 依据測试,中文OS X 10.9和中文10.10的文件标记彼此不兼容. 也就是说.比方在10.9中的颜色标记,在10.10DP2中不能删除,但能够加入/删除10.10自己的颜色标记,反之亦然. ...

  2. 中国剩余定理模板&俄罗斯乘法

    void ex_gcd(ll a,ll b,ll &d,ll &x,ll &y){ if(!b){d=a;x=1LL;y=0LL;} else {ex_gcd(b,a%b,d, ...

  3. android 7源码的下载【转】

    本文转载自:http://www.jianshu.com/p/0799435daf8e android 7源码的下载 step: 1.ubuntu 环境 2.打开终端(快捷键:ctrl + alt + ...

  4. Android下拉刷新

    以下是我自己花功夫编写了一种非常简单的下拉刷新实现方案,现在拿出来和大家分享一下.相信在阅读完本篇文章之后,大家都可以在自己的项目中一分钟引入下拉刷新功能 最近项目中需要用到ListView下拉刷新的 ...

  5. G. 铁路修复计划 最小生成树

    G. 铁路修复计划 二分答案,改变边的权值,找最小生成树即可. 类似的思想还可以用在单度限制最小生成树和最优比例生成树上. #include<iostream> #include<c ...

  6. 20. Extjs学习笔记——Ext.data.JsonStore使用说明

    Ext.data.JsonStore继承于Ext.data.Store,使得从远程JSON数据创建stores更为方便的简单辅助类.JsonStore合成了Ext.data.HttpProxy与Ext ...

  7. Linux的文件搜索命令(locate ,find,grep,find命令和)

    刚开始学Linux,这是关于Linux文件搜索命令,就目前,尽我所能把他写全一点,后期随时补充 文件搜索命令 一.locate命令 二.find命令 三.grep命令 四.find命令和grep命令的 ...

  8. bzoj 1584: [Usaco2009 Mar]Cleaning Up 打扫卫生【dp】

    参考:http://hzwer.com/3917.html 好神啊 注意到如果分成n段,那么答案为n,所以每一段最大值为\( \sqrt{n} \) 先把相邻并且值相等的弃掉 设f[i]为到i的最小答 ...

  9. Eclipse/STS 在线安装阿里java代码规约插件

    1.打开Idea的在线安装插件界面,通过“Help”-->“Install New Software...” 进入 2. 在 “Work with” 栏输入插件包的下载地址:https://p3 ...

  10. 洛谷P4887 第十四分块(前体)(二次离线莫队)

    题面 传送门 题解 lxl大毒瘤 我们考虑莫队,在移动端点的时候相当于我们需要快速计算一个区间内和当前数字异或和中\(1\)的个数为\(k\)的数有几个,而这个显然是可以差分的,也就是\([l,r]\ ...