参考自:http://bowtie-bio.sourceforge.net/bowtie2/manual.shtml
懒人必看
对参考序列构建index $ bowtie2-build genome.fasta index 尝试使用前10000个reads进行比对 $ bowtie2 -u 10000 -p 8 -x index -1 reads1.fq -2 reads2.fq -S out.sam 使用8个线程进行比对 $ bowtie2 -p 8 -x index -1 reads1.fq -2 reads2.fq -S out.sam 比对的sam结果中添加了read group信息 $ bowtie2 -p 8 --rg-id sample01 --rg "PL:ILLUMINA" --rg "SM:sample01" -x index -1 reads1.fq -2 reads2.fq -S out.sam 常用的参数进行比对,可以更改其中的参数获得更好的结果 $ bowtie2 -q --phred33 --sensitive --end-to-end -I 0 -X 500 --fr --un unpaired --al aligned --un-conc unconc --al-conc alconc -p 6 --reorder -x <bt2-idx> {-1 <m1gt; -2 <m2> | -U <r>} -S [<hit>]
用法:
bowtie2 [options]* -x <bt2-idx> {-1 <m1> -2 <m2> | -U <r>} -S [<hit>]
bowtie2-build用法
bowtie2-build默认情况下将fasta文件换成index的数据库。 $ bowtie2-build <fasta文件> <要生存的索引文件前缀名>
必须参数:
-x <bt2-idx>
由
bowtie2-build
所生成的索引文件的前缀。首先 在当前目录搜寻,然后
在环境变量
BOWTIE2_INDEXES
中制定的文件夹中搜寻。
-1 <m1>
双末端测寻对应的文件
1
。可以为多个文件,并用逗号分开;多个文件必须和
-2
<m2>
中制定的文件一一对应。比如
:"-1 flyA_1.fq,flyB_1.fq -2 flyA_2.fq,flyB
_2.fq".
测序文件中的
reads
的长度可以不一样。
-2 <m2>
双末端测寻对应的文件
2.-U <r>
非双末端测寻对应的文件。可以为多个文件,并用逗号分开。测序文件中的
reads
的
长度可以不一样。
-S <hit>
所生成的
SAM
格式的文件前缀。默认是输入到标准输出。
以下是可选参数:
输入参数
-q
输入的文件为
FASTQ
格式文件,此项为默认值。
-qseq
输入的文件为
QSEQ
格式文件。
-f
输入的文件为
FASTA
格式文件。选择此项时,表示
--ignore-quals
也被选择了。
-r
输入的文件中,每一行代表一条序列,没有序列名和测序质量等。选择此项时,表示
--
ignore-quals
也被选择了。
-c
后直接为比对的
reads
序列,而不是包含序列的文件名。序列间用逗号隔开。选择此项时,
表示—
ignore-quals
也被选择了。
-s/--skip <int> input
的
reads
中,跳过前
<int>
个
reads
或者
pairs
。
-u/--qupto <int>
只比对前
<int>
个
reads
或者
pairs
(在跳过前
<int>
个
reads
或者
pairs
后)。
Default: no limit.
-5/--trim5 <int>
剪掉
5'
端
<int>
长度的碱基,再用于比对。
(default: 0).
-3/--trim3 <int>
剪掉
3'
端
<int>
长度的碱基,再用于比对。
(default: 0).
--phred33
输入的碱基质量等于
ASCII
码值加上
33.
在最近的
illumina pipiline
中
得以运用。
最低碱基质量是“#”。--phred64
输入的碱基质量等于
ASCII
码值加上
64.
最低碱基质量是“B”。--solexa-quals
将
Solexa
的碱基质量转换为
Phred
。在老的
GA Pipeline
版本中得以
运用。
Default: off.
--int-quals
输入文件中的碱基质量为用“ ”分隔的数值,而不是
ASCII
码。比如
40 40
30 40...
。
Default: off.
–end-to-end模式下的预设参数
--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
–loca模式下的预设参数
--very-fast-local
Same as: -D 5 -R 1 -N 0 -L 25 -i S,1,2.00
--fast-local
Same as:-D 10 -R 2 -N 0 -L 22 -i S,1,1.75
--sensitive-local
Same as:-D 15 -R 2 -N 0 -L 20 -i S,1,0.75
(default in --local mode)
--very-sensitive-local
Same as:-D 20 -R 3 -N 0 -L 20 -i S,1,0.50
比对参数:
-N <int>
进行种子比对时允许的
mismatch
数
.
可以设为
0
或者
1.
Default: 0.-L <int>
设定种子的长度
.
************************************************************
功能选项 给bowtie的一些参数设定值的时候,使用一个计算公式代替,于是值的大小与比对序列的长 度成一定关系。<func>
有三部分组成
: (a)
计算方法
,
包括常数
(C),
线性
(L),
平方根
(S)
和
自然对数
(G); (b)
一个常数
; (c)
一个系数
.
例如
:
<func>
为
L,-0.4,-0.6
则计算公式为
: f(x) = -0.4 + -0.6 * x
<func> 为G,1,5.4
则计算公式为
: f(x) = 1.0 + 5.4 * ln(x)
************************************************************
-i <func>
设定两个相邻种子间所间距的碱基数。
************************************************************
例如:如果
read
的长度为
30,
种子的长度为
10,
相邻种子的间距为
6,
则提取出的种子如下
所示:
Read: TAGCTACGCTCTACGCTATCATGCATAAAC
Seed 1 fw: TAGCTACGCT
Seed 1 rc: AGCGTAGCTA
Seed 2 fw: CGCTCTACGC
Seed 2 rc: GCGTAGAGCG
Seed 3 fw: ACGCTATCAT
Seed 3 rc: ATGATAGCGT
Seed 4 fw: TCATGCATAA
Seed 4 rc: TTATGCATGA
************************************************************
在
--end-to-end
模式中默认值为”
-i S,1,1.15”.
即表示
f(x) = 1 + 1.15 *
sqrt(x).
如果
read
长度为
100,
则相邻种子的间距为
12.
--n-ceil <func>
设定
read
中允许含有不确定碱基
(
非
GTAC,
通常为
N)
的最大数目
.
Default: L,0,0.15.
计算公式为
: f(x) = 0 + 0.15 * x,
表示长度为
100
的
read
最多运行存在
15
个不确定碱基
.
一旦不确定碱基数超过
15,
则该条
read
会被过滤掉
.
--dpad <int> Default: 15.
--gbar <int>
在
read
头尾
<int>
个碱基内不允许
gap. Default: 4.
--ignore-quals
计算错配罚分的时候不考虑碱基质量
.
当输入序列的模式为
-f, -r
或
者
-c
的时候
,
该设置自动成为默认设置
.
--nofw/--norc –nofw
设定
read
不和前导链
(forward reference strand)
进行比对
;
--norc
设定不和后随链
(reverse-complement reference strand)
进行比对
.
Default: both strands enabled.
--end-to-end
比对是将整个
read
和参考序列进行比对
.
该模式
--ma
的值为
0.
该模式为
默认模式
, --local
模式冲突
.
--local
该模式下对
read
进行局部比对
,
从而
, read
两端的一些碱基不比对,从而使比
对得分满足要求
.
该模式下 –
ma
默认为
2.
得分罚分参数
--ma <int>
设定匹配得分
. --local
模式下每个
read
上碱基和参考序列上碱基匹配
,
则
加
<int>
分
.
在—
end-to-end
模式中无效
. Default: 2.
--mp MX,MN
设定错配罚分
.
其中
MX
为所罚最高分
, MN
为所罚最低分
.
默认设置下罚分与
碱基质量相关
.
罚分遵循的公式为
: MN + floor( (MX-MN)(MIN(Q, 40.0)/40.0) ).
其中
Q
为碱基的质量值
.
如果设置了—
ignore-qual
参数
,
则错配总是罚最高分
. Default:
MX = 6, MN = 2.
--np <int>
当匹配位点中
read, reference
上有不确定碱基
(
比如
N)
时所设定的罚分值
.
Default: 1.
--rdg <int1>,<int2>
设置在
read
上打开
gap
罚分
<int1>,
延长
gap
罚分
<int2>.
Default: 5, 3.
--rfg <int1>,<int2>
设置在
reference
上打开
gap
罚分
<int1>,
延长
gap
罚分
<int2>. Default: 5, 3.
--score-min <func>
设定成为有效比对的最小分值
.
在—
end-to-end
模式下默认值为
:
L,-0.6,-0.6;
在
--local
模式下默认值为
: G,20,8.
报告参数
-k <int>
默认设置下
, bowtie2
搜索出了一个
read
不同的比对结果
,
并报告其中最好的
比对结果
(
如果好几个最好的比对结果得分一致
,
则随机挑选出其中一个
).
而在该模式下
,
bowtie2
最多搜索出一个
read <int>
个比对结果
,
并将这些结果按得分降序报告出来
.
-a
和
-k
参数一样
,
不过不限制搜索的结果数目
.
并将所有的比对结果都按降序报告出来
.
此参数和
-k
参数冲突
.
值得注意的是
:
如果基因组含有很多重复序列时
,
该参数会导致程序
运行极其缓慢
.
Effort 参数
-D <int>
比对时
,
将一个种子延长后得到比对结果
,
如果不产生更好的或次好的比对结果
,
则该次比对失败
.
当失败次数连续达到
<int>
次后
,
则该条
read
比对结束
. Bowtie2
才会
继续进行下去
. Default: 15.
当具有
-k
或
-a
参数
,
则该参数所产生的限制会自动调整
.
-R <int>
如果一个
read
所生成的种子在参考序列上匹配位点过多
.
当每个种子平均匹配超
过
300
个位置
,
则通过一个不同的偏移来重新生成种子进行比对
. <int>
则是重新生成种子
的次数
. Default: 2.
Paired-end 参数
-I/--minins <int>
设定最小的插入片段长度
. Default: 0.
-X/--maxins <int>
设定最长的插入片段长度
. Default: 500.
--fr/--rf/--ff
设定上下游
reads
和前导链
paired-end
比对的方向
. --fr:
匹配时,
read1
在
5'
端上游
,
和前导链一致
, read2
在
3'
下游
,
和前导链反向互补
.
或者
read2
在
上游
, read1
在下游反向互补
; --rf: read1
在
5'
端上游
,
和前导链反向互补
, read2
在
3'
端下游
,
和前导链一致
; --ff:
两条
reads
都和前导链一致
. Default: --fr.
默认
设置适合于
Illumina
的
paired-end
测序数据
;
若是
mate-paired,
则要选择—
rf
参数
.
--no-mixed
默认设置下
,
一对
reads
不能成对比对到参考序列上
,
则单独对每个
read
进
行比对
.
该选项则阻止此行为
.
--no-discordant
默认设置下
,
一对
reads
不能和谐比对
(concordant alignment,
即满足
-I, -X, --fr/--rf/--ff
的条件
)
到参考序列上
,
则搜寻其不和谐比对
(discon
cordant alignment,
即两条
reads
都能独一无二地比对到参考序列上
,
但是不满足
-I,
-X,--fr/--rf/--ff
的条件
).
该选项阻止此行为
.
--dovetail read1
和
read2
的关系为
dovetail
的时候
,
该状况算为和谐比对
.
默认情况
下
dovetail
不算和谐比对
.
--no-contain read1
和
read2
的关系为包含的时候
,
该状况不算为和谐比对
.
默认情况
下包含关系算为和谐比对
.
--no-overlap read1
和
read2
的关系为有重叠的时候
,
该状况不算为和谐比对
.
默认情
况下两个
reads
重叠算为和谐比对
.
输出参数
-t/--time
--un <path>
将
unpaired reads
写入到
<path>.
--un-gz <path>
将
unpaired reads
写入到
<path>, gzip
压缩
.
--un-bz2 <path>
将
unpaired reads
写入到
<path>, bz2
压缩
.
--al <path>
将至少能比对
1
次以上的
unpaired reads
写入
<path>.
--al-gz <path> ... ,gzip
压缩
.
--al-bz2 <path> ... ,bz2
压缩
.
--un-conc <path>
将不能和谐比对的
paired-end reads
写入
<path>.
--un-conc-gz <path> ... ,gzip
压缩
.
--un-conc-bz2 <path> ... ,bz2
压缩
.
--al-conc <path>
将至少能和谐比对一次以上的
paired-end reads
写入
<path>.
--al-conc-gz <path> ... ,gzip
压缩
.
--al-conc-bz2 <path>... ,bz2
压缩
.
--quiet 安静模式,除了比对错误和一些严重的错误, 不在屏幕上输出任何东西. --met-file <path> 将bowtie2的检测信息(metrics)写入文件<path>. 用于debug. Default: metrics disabled.--met-stderr <path>
将
bowtie2
的检测信息
(metrics)
写入标准错误文件句柄
.
和上
一个选项不冲突
. Default: metrics disabled.
--met <int>
每隔
<int>
秒写入一次
metrics
记录
. Default: 1.
Sam 参数
--no-unal
不记录没比对上的
reads.
--no-hd
不记录
SAM header lines (
以
@
开头
).
--no-sq
不记录
@SQ
的
SAM header lines.
--rg-id <text>
设定
read group ID为
text。在SAM文件的头中增加一行@RG,在输出的SAM 文件中添加Tag "RG:Z:text"。
--rg <text>
使用
text
作为@RG的一列,比如"SM:Pool1"
。在@RG中加入多列,则多次使用 该参数即可。在进行Variant calling的过程中需要@RG头,SM信息和Tag RG。
性能参数
-o/--offrate <int>
无视
index
的
offrate
值
,
以
<int>
取代之
. Index
默认的
<int>
值为
5. <int>
值必须大于
index
的
offrate
值
,
同时
<int>
越大
,
耗时越长,耗内存越少
.
-p/--threads NTHREADS
设置线程数
. Default: 1
--reorder
多线程运算时
,
比对结果在顺序上会和文件中
reads
的顺序不一致
,
使用该选
项
,
则使其一致
.
--mm
使用内存定位的
I/O
来载入
index,
而不是常规的文件
I/O.
从而使多个
bowtie
程
序共用内存中同样的
index,
节约内存消耗
.
其它参数:
--qc-filter
滤除
QSEQ fileter filed
为非
0
的
reads.
仅当有—
qseq
选项时有效
.
Default: off.
--seed <int>
使用
<int>
作为随机数产生的种子
. Default: 0.
--version
打印程序版本并退出
-h/--help
打印用法信息并推出