生信软件 | bowtie2(测序序列与参考序列比对)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011262253/article/details/79833969

1. 介绍

Bowtie2 是将测序reads与长参考序列比对工具。适用于将长度大约为50到100或1000字符的reads与相对较长的基因组(如哺乳动物)进行比对。Bowtie2使用FM索引(基于Burrows-Wheeler Transform 或 BWT)对基因组进行索引,以此来保持其占用较小内存。对于人类基因组来说,内存占用在3.2G左右。Bowtie2 支持间隔,局部和双端对齐模式。可以同时使用多个处理器来极大的提升比对速度。

Cufflinks:一种转录组装的工具和 SAM 中 Bowtie2 输出对齐的异构体定量格式,可以与使用 SAM 的大量其他工具(SAMtools, GATK)进行交互操作。

Bowtie2 通常是比较基因组学管道的第一步,包括识别变体(variation calling),ChIP-seq,RNA-seq,BS-seq。Bowtie2 和Bowtie 也高度整合在一些工具中,包括TopHat(快速拼接RNA-seq reads 的 mapper),Crossbow(重测序数据分析云的软件工具),Myrna(对齐RNA-seq reads和分析差异基因表达的云计算软件工具)

Bowtie 1和Bowtie 2不像MUMmerBLASTVmatch这样的通用对齐工具。Bowtie 2在与大型基因组比对时效果最佳,尽管它支持任意小的参考序列(例如扩增子)。它可以处理非常长的读数(即10s或100s的千字节),但它针对近期测序仪产生的读数长度和误差模式进行了优化,如Illumina HiSeq 2000,Roche 454和Ion Torrent仪器。

如果目的是对齐两个非常大的序列(例如两个基因组),请考虑使用MUMmer。如果目的是与相对较短的参考序列(如细菌基因组)非常灵敏的比对,可以使用Bowtie 2完成,但您可能需要考虑使用NUCmerBLATBLAST等工具。当参考基因组很长时,这些工具可能会非常缓慢,但当参考基因组很短时通常就足够了。

2. 安装

2.1下载

http://bowtie-bio.sourceforge.net/bowtie2/index.shtml

在Linux系统下将上述的链接下载到本地

sudo wget https://jaist.dl.sourceforge.net/project/bowtie-bio/bowtie2/2.3.4.1/bowtie2-2.3.4.1-linux-x86_64.zip

2.2 解压

unzip bowtie2-2.3.4.1-linux-x86_64.zip

2.3 设置环境变量

  • 打开环境变量设置文件
sudo vim /etc/environment
  • 添加软件 bin 目录的路径,并用 : 隔开,如下图

  • 执行source命令,使配置立即生效

sudo source /etc/enviroment

3. 使用

3.1 命令

全部命令:http://bowtie-bio.sourceforge.net/bowtie2/manual.shtml#command-line

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

3.1.1 必需参数

参数 解释
-x 参考基因组索引的基名。基本名称是任何索引文件的名称,但不包括最终的.1.bt2/ .rev.1.bt2/等。bowtie2在当前目录中首先查找指定的索引,然后在BOWTIE2_INDEXES环境变量中指定的目录中查找。
-1 以逗号分隔的包含队友1的文件列表(文件名通常包含_1),例如-1 flyA_1.fq,flyB_1.fq。使用此选项指定的序列必须与文件中的文件和读取的文件一致<m2>。读数可能是不同长度的混合。如果-指定,bowtie2将从“标准输入”或“标准输入”文件句柄读取队友1。
-2 逗号分隔的包含队友2(文件名通常包括_2)的文件列表,例如-2 flyA_2.fq,flyB_2.fq。使用此选项指定的序列必须与文件中的文件和读取的文件一致<m1>。读数可能是不同长度的混合。如果-指定,bowtie2将从“标准输入”或“标准输入”文件句柄中读取队友2。
-U 逗号分隔的包含未配对读取的文件列表要对齐,例如lane1.fq,lane2.fq,lane3.fq,lane4.fq。读数可能是不同长度的混合。如果-指定,bowtie2则从“标准输入”或“标准输入”文件句柄中读取数据。
-S 将SAM对齐文件写入。默认情况下,对齐被写入“标准输出”或“标准输出”文件句柄(即控制台)。

3.1.2 可选参数(常用)

参数 解释
-q 读取(与指定<m1><m2><s>)是FASTQ文件。FASTQ文件通常有扩展名.fq.fastq。FASTQ是默认格式。另见:--solexa-quals--int-quals
-p/–threads NTHREADS 启动NTHREADS并行搜索线程(默认值:1)。线程将在单独的处理器/内核上运行,并在解析读取和输出对齐时进行同步。搜索对齐高度平行,加速接近线性。提高-p增加的蝴蝶结2的内存占用。例如,当与人类基因组索引对齐时,-p从1增加到8会将内存占用增加数百兆字节。该选项仅在bowtiepthreads库链接时才可用(即,如果BOWTIE_PTHREADS=0未在构建时指定)。
–local 在这种模式下,Bowtie 2不要求整个读取从一端到另一端对齐。相反,为了达到最大可能的对齐分数,可以从末端省略一些字符(“软裁剪”)

3.2 构建索引

3.2.1 官方索引

wget ftp://ftp.ccb.jhu.edu/pub/data/bowtie2_indexes/mm10.zip
unzip mm10.zip
rm mm10.zip make_mm10.sh

3.2.2 自建索引

这里以构建M. musculus, UCSC mm10 为例

wget http://hgdownload.cse.ucsc.edu/goldenPath/mm10/bigZips/chromFa.tar.gz 
tar -zxvf chromFa.tar.gz 
cat *.fa mm10.fa
bowtie2-build mm10.fa mm10

3.3 例子

3.3.1 例子:M. musculus, UCSC mm10

  • 构建参考基因组索引
wget http://hgdownload.cse.ucsc.edu/goldenPath/mm10/bigZips/chromFa.tar.gz 
tar -zxvf chromFa.tar.gz 
cat *.fa mm10.fa
bowtie2-build mm10.fa mm10
  • 运行bowtie2 获取 SAM 文件
bowtie2 -p 6 -3 5 --local -x mm10 -1 example_1.fastq -2 example_2.fastq -S SRR3208744.bam

这行命令表示使用–local的比对模式,使用 mm10 的索引;这里是双末端测序,所以将待比对文件 example_1.fq example_2.fa 分别输入,以 example.sam 的文件输出

如果为单末端测序的话,上述命令换为:

bowtie2 -p 6 -3 5 –local -x mm10 -U /opt/sdc/SRR/example.fastq -S example.sam

  • SAM 文件转为 BAM 文件
samtools sort example.sam > example.bam

猜你喜欢

转载自blog.csdn.net/u011262253/article/details/79833969