对二代测序的数据,可以使用一些软件进行物种注释,从而了解样本环境中的微生态状况。常用的物种注释软件包括MetaPhlAn系列、Kraken系列等等,不好意思我就记得这俩,因为平时就用着俩。
MetaPhlAn是在HUMAnN中附带的,而且使用过程中存在两个问题:一个是检出率不够高,除非是丰度或者匹配程度特别高的物种,否则很难检测出来;另一个是数据库更新不够方便,目前的特征序列数据库应该还是201901的版本,所以有些新物种不会得到注释。而Kraken采用哈希表作为检索方式,虽然特异性尚需讨论,但检出率非常高,而且数据库构建相对比较开放,基本上以ncbi的物种数据库作为依托,应该会比较全面,更新也会很及时。我总结其特点就是“建库一两周、载入三分钟、检索十秒钟”,哈希表简直就是用空间换时间的代表。
使用Kraken系列进行检测的过程中有一个问题,就是如果注释出了一个感兴趣的特殊物种,就需要将这些序列从原始数据当中提取出来进一步分析。虽然有些工具能够进行提取,比如samtools之类的,但考虑到平台的通用性(比如我有时会用Mac来处理一部分数据和代码),所以写一段代码来处理这个问题,并与大家交流一下。
文件准备
文件准备需要参照一下我之前的文章宏基因组单个样本数据处理流程当中的部分内容。
seqs.hostfree.fastq:去除宿主序列之后的fastq序列文件,其实就是所有的(其实还是含有部分未能去除宿主序列)微生物序列。
seqs.hostfree.kra:对seqs.