宏基因组数据分析——用Bowtie2去宿主序列

Published at 2021-05-08 12:10

Author:zhixy

View:4018


Bowtie2简介

在研究生物组织或者肠道微生物宏基因组时,常常需要去除源自宿主的DNA序列,以防止宿主序列干扰研究。去宿主序列的主要研究方法是通过将质控后的reads序列与宿主基因组进行比对,然后比对上的序列进行去除。比对软件通常有bowtie2bwaSOAPaligner等短序列比对工具。

Bowtie2是一个超快和内存效率高的工具,用于短序列比对到长参考序列。擅长比对大约50bp到100bp或1000bp的短序列,并且特别适合比对到相对较长的基因组 (例如哺乳动物) 。Bowtie2用FM索引索引基因组,以保持其内存占用较小 (对于人类基因组来说,它的内存占用通常在3.2GB左右)。

Bowtie2用法

对宿主基因组建立索引

用法:bowtie2-build [options]* <reference_in> <bt2_index_base>

必要参数:

  • reference_in 为输入的基因组序列 (默认为fasta格式),输入基因组文件如为多个,则需用逗号隔开。
  • bt2_index_base 输出的bt2索引文件名称

其他可用的参数项:

  • --threads 计算线程数
  • --large-index 强制使用large indexes

比对

用法:bowtie2 [options]* -x <bt2-idx> {-1 <m1> -2 <m2> | -U <r> | --interleaved <i>} [-S <sam>]

参数:

  • -x 参考基因组通过bowtie2-build构建的索引文件名称,即bt2_index_base
  • -1 双末端测序中的fastq文件之一
  • -2 双末端测序中的fastq文件之二,从多个文库来的fastq文件,可用逗号分割,写在-1 和-2 之后。
  • -U 非双末端测序的fastq文件,如有多个文件,需用逗号分割。
  • --interleaved 交叉读取的fastq文件。-1/-2,-U,--interleaved为逻辑或关系,即三选一。
  • -S 输出的SAM文件
  • -q 输入的reads文件为fastq格式 (默认)
  • -f 输入的reads文件为fasta格式
  • -5 切掉5‘端指定长度的碱基,然后比对 (默认为0)
  • -3 切掉3‘端指定长度的碱基,然后比对 (默认为0)
  • -p 计算线程数

关键输出参数:

  • --un 将unpaired-end reads输出到文件
  • --un-gz 将unpaired-end reads输出到gz压缩文件
  • --al 将至少能比对上1次的unpaired-end reads输出到文件
  • --al-gz 将至少能比对上1次的unpaired-end reads输出gz压缩文件
  • --un-conc 将不能合理比对的paired-end reads输出到文件
  • --un-conc-gz 将不能合理比对的paired-end reads输出到gz压缩文件
  • --al-conc 将至少能合理比对上1次的paired reads输出到文件
  • --al-conc-gz 将至少能合理比对上1次的paired reads输出gz压缩文件

所以直接用bowtie2去宿主序列的实例:

# bowtie2 -x human -1 reads_R1.fastq -2 reads_R2.fastq -p 64 -S mapping.sam --un-conc reads_host_removed

输出结果中reads_host_removed.1.fqreads_host_removed.2.fq即为去除宿主序列的reads。