16S测序 生物信息数据处理
mapping文件
mapping文件是我们整个16S分析中唯一需要手动来处理的一个文件,因为我们测序的一组reads中可能包含来自多个样品的数据。那么这些数据就需要进行切分,将不同样品的数据分出来。这个有点类似于illumina测序中使用index标签,混合测序完成后根据index标签进行拆分。
在测序数据中,一般reads中都含有barcode,根据barcode就能将序列就进程切分,因此我们就需要一个barcode文件,在16S序列中称之为mapping文件。
mapping文件是列表格式的文本文件,形如:
每个mapping文件中必须的数据:
- 第一列:样品名称
- 第二列:barcode
- 第三列:扩增样品的引物
- 第四列:用来分组,比如实验组对照组
- 第六列:样品描述
每个mapping文件中还可以包含其他数据:
- 第五列:样品采样的时间
- ……
paired reads 连接
如果使用illumina测序,illumina测序采用双末端测序,只测序一条序列的两端。
在以前,测序读长短,如果一条16S序列长500bp,而读长只有200bp,那中间的100bp就不会读取到。但是现在随着科技发展,设备的读长边长,就会出现重复读取的现象,重复部分称为overlap,如果16S序列长500bp,一次读长300bp,那中间的100bp就会被重复读取,可以将测序的两条reads连接起来。
注意:
- 测序的两条 reads是来自于DNA的两条链,而且方向都是5’-3’
- 测序的文库大小不是固定不变的,你要处理的16S序列的长度不一定都是500bp,overlap碱基数也并不是固定不变的,如果处理的16S序列的很短,那overlap会很长,如果16S序列的较长,那可能不会出现overlap。
- 出现overlap的位置位于reads尾部,因此允许一定的错配。
切分数据 split
将两条reads连接成一个之后,我们就需要借助barcode进行切分,因为一个测序文件中往往有多个样品的数据,我们需要将其分割。使用脚本文件即可切分。
去除嵌合体
在基因克隆时,由于pcr过程中某些因素造成同一个克隆片段来源于不同物体的现象,常见于微生物多样性分析基因克隆时。也就是测序得到的一条序列是来自多个模板的,在宏基因组拼接时,将多个物种的序列拼接在一起了。
对于嵌合体一定要去除,否则就会出现比对时一条序列能对应到两个物种。
OTU
OTU的全称是 Operational Taxonomic Units,直译过来是可操作的物种分类单元,是在系统发生学研究或群体遗传学研究中,为了便于进行分析,人为给某一个分类单元设置的同一标志。
16S rDNA的测序片段称为一个tag(tag是整个16S的一部分,比如V3-V4区域),我们可以用每一条tags逐个进行比对注释,一个tag对应一个物种序列。但是如果数据量比较大,这样工作量就太大了。因此我们将这些tag进行聚类。将相似度>=97%的tags聚到一起称为一个OTU。
通常按照 97% 的相似性阈值将序列划分为不同的 OTU,每一个 OTU 通常被视为一个微生物物种。相似性小于97%就可以认为属于不同的种,相似性小于93%-95%,可以认为属于不同的属。样品中的微生物多样性和不同微生物的丰度都是基于对OTU的分析。
OTU聚类的方法
三种OTU聚类的方法,现在还出了新的聚类方法,后边介绍。
- de novo
- de novo算法:基于序列本身的聚类,不需要外部的参考序列。将序列两两之间进行比对,根据设定的阈值进行判断,如果满足阈值条件则聚在
- 优点:无需参考序列
- 缺点:序列条数增多,比对就会变慢;受阈值影响比较大。
- closed-reference
- closed- reference算法:序列会首先与一个聚类完成的数据库进行比对也就是非冗余的数据库。这种数据我们称为 cluster-centroids。所以将这种数据库称为一个 closed的 database,如果一条序列在设定的阈值范围内,与其中任何一个 cluster都比对不上,我们就将其排除掉
- 优点:1.可以并行计算,提高比对效率;2.直接注释到参考序列数据库
- 缺点:受限于数据库的完整性和准确性 ,如果用于比对的数据库不全,那比对不上的数据就会丢弃。
- open-reference
- open-reference算法:首先使用 closed- reference的方法进行聚类。没有比对到 cluster的序列不会被丢弃,而是采用 de novo的方法进行聚类。
- 综合了 de novo和 closed- reference方法的优点。
序列比对
聚类完成之后,在每个OTU中选取一条代表序列进行物种注释,每个OTU会对应一个物种信息。
物种注释:就的OTU选出来的代表序列与已知的序列数据库进行比对,来进行物种分类鉴定。
比对完成之后要对结果进行过滤。 经过比对之后我们会获得一个结果,其中会有比对不上的数据,比对不上则证明比对的数据库中没有该序列,可能有两种情况:
- 出现新物种
- 序列错误
这种没有比对出来的序列不用于构建系统发育树。之后需要使用qiime生成OTU table,是一个biom格式的文件,OTU table中包含数据如下:
- 第一行:样品名
- 第一列:OTU名字
- 最后一列:注释的物种分类信息
之后的各种统计、计算都是基于OTU table进行的。
在连续肝了几天前段之后,我终于回想起来我是个学生物的,不肝前端了,赶紧写我的论文。