测序数据分析软件,Bowtie是一个超快的,存储高效的短序列片段比对程序。它能够以每小时处理2500万35bp reads的速度,将短的DNA序列片段(reads)比对到人类基因组上。
一、安装
- conda安装
conda install -y bowtie2
- 传统安装
1、下载源码包
nohup wget https://nchc.dl.sourceforge.net/project/bowtie-bio/bowtie2/2.3.5.1/bowtie2-2.3.5.1-linux-x86_64.zip
2、解压
unzip bowtie2-2.3.5.1-linux-x86_64.zip
3、添加环境变量
vim ~/.bashrc
export PATH="/data/hushy/tools/bowtie2:$PATH"
source ~/.bashrc # source命令通常用于重新执行刚修改的初始化文件
4、测试
bowtie2 --help
二、创建索引
1、下载参考基因组
less -S /data/database/kraken2/NT/library/nt/library.fna
2、创建索引
nohup bowtie2-build /data/database/kraken2/NT/library/nt/library.fna index & #内存很大,可能会把服务器节点搞挂
三、下载官方索引
nohup wget ftp://ftp.ccb.jhu.edu/pub/data/bowtie2_indexes/mm10.zip &
unzip mm10.zip
rm mm10.zip make_mm10.sh
四、基本用法
- 语法
Usage:
bowtie2 [options]* -x {-1 -2 | -U | --interleaved | -b } [-S ]
- 参数选项
- 必选参数
-x 由bowtie2-build所生成的索引文件的前缀,需要指定路径及其共用文件名
-1 使用trimmomatic质控后与read2配对(paired)的read1。可以为多个文件,并用逗号分开;多个文件必须和 -2 中制定的文件一一对应。
-2 使用trimmomatic质控后与read1配对的read2
-U 使用trimmomatic质控后未配对(unpaired)的reads。可以为多个文件,并用逗号分开,测序文件中的reads的长度可以不一样。
-S 所生成的SAM格式的文件前缀。默认是输入到标准输出。
-
可选参数
- 输入参数
-q 输入的文件为FASTQ格式文件,此项为默认值
-f 输入的文件为FASTA格式文件
-5/--trim5 剪掉5'端长度的碱基,再用于比对。(default: 0)
-3/--trim3 剪掉3'端长度的碱基,再用于比对。(default: 0).
--phred33 输入的碱基质量等于ASCII+33
- Paired-end 参数
--no-mixed 默认设置下, 一对reads不能成对比对到参考序列上, 则单独对每个read进行比对. 该选项则阻止此行为.
--no-discordant 默认设置下, 一对reads不能和谐比对(concordant alignment,即满足-I, -X, --fr/--rf/--ff的条件)到参考序列上, 则搜寻其不和谐比对(disconcordant alignment, 即两条reads都能独一无二地比对到参考序列上, 但是不满足-I,-X,--fr/--rf/--ff的条件). 该选项阻止此行为.
- –end-to-end模式下的预设参数
--end-to-end 比对是将整个read和参考序列进行比对. 该模式--ma的值为0. 该模式为默认模式, --local模式冲突.
--local 该模式下对read进行局部比对, 从而, read两端的一些碱基不比对,从而使比对得分满足要求. 该模式下 –ma默认为2.
--very-fast Same as: -D 5 -R 1 -N 0 -L 22 -i S,0,2.50
--fast Same as: -D 10 -R 2 -N 0 -L 22 -i S,0,2.50
--sensitive Same as: -D 15 -R 2 -N 0 -L 22 -i S,1,1.15 (default in --end-to-end mode)
--very-sensitive Same as: -D 20 -R 3 -N 0 -L 20 -i S,1,0.50
- 报告参数
-k 默认设置下, bowtie2搜索出了一个read不同的比对结果, 并报告其中最好的比对结果(如果好几个最好的比对结果得分一致, 则随机挑选出其中一个). 而在该模式下, bowtie2最多搜索出一个read 个比对结果, 并将这些结果按得分降序报告出来.
-a 和-k参数一样, 不过不限制搜索的结果数目. 并将所有的比对结果都按降序报告出来. 此参数和-k参数冲突. 值得注意的是: 如果基因组含有很多重复序列时, 该参数会导致程序运行极其缓慢.
- Sam 参数
--no-unal 不记录没比对上的reads.
--no-hd 不记录SAM header lines (以@开头).
--no-sq 不记录@SQ的SAM header lines.
--rg-id 设定read group Id到.
--rg 增加作为一行@RG.
- 输出参数
-t/--time --un 将unpaired reads写入到.
--no-unal 不能map到GENOME的reads,不保留sam记录
--un-conc 不能map到GENOME的reads,fasta格式.
--un-conc-gz 不能map到GENOME的reads,fasta格式, gzip压缩.
--al-conc 能map到GENOME的reads,fasta格式.
--al-conc-gz 能map到GENOME的reads,fasta格式, gzip压缩.
-p/--threads NTHREADS 设置线程数. Default: 1 如果你的计算机有多个CPU或者CPU内核,那么请使用-p参数。-p参数会让bowtie进入多线程模式。每一个线程都会使用单独的CPU或者CPU内核。这种并行的运算模式也会大大加快运算速度。
- 示例
bowtie2 -p 10 -x /data/ref/bowtie2/mm10/mm10 -1 input_1.fq -2 input_2.fq | samtools sort -O bam -@ 10 -o - > output.bam
##双端测序数据去宿主:
bowtie2 --end-to-end --no-mixed --no-discordant --no-unal --sensitive --threads 8 \
-x /data/hostClean/Index/host.fa \
-1 /data/hospital_microbiome/trimmed_reads/ERR320975-trimmed-pair1.fastq.gz \
-2 /data/hospital_microbiome/trimmed_reads/ERR320975-trimmed-pair2.fastq.gz \
--un-conc-gz /data/hospital_microbiome/cleanData/ERR320975.clean.fastq.gz \