bowtie 短序列比对工具详解
常见的短序列比对工具有很多,如fasta、blast、bowtie、shrimp、soap等。每个工具都有其自身的优点,但同时也具备了一些缺点。权衡利弊,我选择bowtie作为主要的短序列比对工具。它速度很快,比对结果也容易理解。
现在举个例子来探讨bowtie的使用方法:现在有GENOME.fa、高通量测序数据Reads.fa,我们希望将Reads.fa比对到基因组GENOME.fa上。
(一)、对Reference文件(GENOME.fa)建库
1、bowtie-build GENOME.fa GENOME.fa
建库步骤可能需要1h甚至几个小时,建议在后台执行:
nohup bowtie-build GENOME.fa GENOME.fa &
(二)、将Reads.fa比对到GENOME.fa上,只能比对到正链,且匹配到基因组不多于20个不同位置,允许有1个错配(参数见下)
1 |
bowtie -f -a -m 20 -v 1 --al Reads_aligned --un Reads_unaligned --norc GENOME.fa Reads.fa Reads.bwt 2> log |
(三)、bowtie输出结果的说明
1 |
sample001_x75 + Chr1 12453 ATCGGCCAATTACGGACTTAA IIIIIIIIIIIIIIIIIIIII 4 9:G>T |
原文链接:http://blog.sina.com.cn/s/blog_4b91a9e50101mmqi.html
bowtie2 短序列比对工具详解
懒人必看
对参考序列构建index
bowtie2-build genome.fasta index
尝试使用前10000个reads进行比对
bowtie2 -u 10000 -p 8 -x index -1reads1.fq -2 reads2.fq -S out.sam
使用8个线程进行比对
bowtie2 -p 8 -x index -1 reads1.fq -2reads2.fq -S out.sam
比对的sam结果中添加了read group信息
bowtie2 -p 8 --rg-id sample01 --rg"PL:ILLUMINA" --rg "SM:sample01" -x index -1 reads1.fq -2reads2.fq -S out.sam
常用的参数进行比对,可以更改其中的参数获得更好的结果
bowtie2 -q --phred33 --sensitive--end-to-end -I 0 -X 500 --fr --un unpaired --al aligned --un-conc unconc --al-concalconc -p 6 --reorder -x
用法:
bowtie2 [options]* -x
bowtie2-build用法
bowtie2-build默认情况下将fasta文件换成index的数据库。
bowtie2-build
必须参数:
-x
-1
_2.fq".测序文件中的reads的长度可以不一样。
-2
-U
-S
以下是可选参数:
输入参数
-q输入的文件为FASTQ格式文件,此项为默认值。
-qseq输入的文件为QSEQ格式文件。
-f 输入的文件为FASTA格式文件。选择此项时,表示--ignore-quals也被选择了。
-r输入的文件中,每一行代表一条序列,没有序列名和测序质量等。选择此项时,表示--ignore-quals也被选择了。
-c后直接为比对的reads序列,而不是包含序列的文件名。序列间用逗号隔开。选择此项时,表示—ignore-quals也被选择了。
-s/--skip
-u/--qupto
-5/--trim5
-3/--trim3
--phred33输入的碱基质量等于ASCII码值加上33.在最近的illuminapipiline中得以运用。最低碱基质量是“#”。
--phred64输入的碱基质量等于ASCII码值加上64.最低碱基质量是“B”。
--solexa-quals将Solexa的碱基质量转换为Phred。在老的GAPipeline版本中得以运用。Default: off.
--int-quals输入文件中的碱基质量为用“”分隔的数值,而不是ASCII码。比如40 4030 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 -iS,0,2.50
--sensitive Same as: -D 15 -R 2 -N 0 -L 22-i S,1,1.15 (default in --end-to-endmode)
--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
-L
************************************************************
功能选项
给bowtie的一些参数设定值的时候,使用一个计算公式代替,于是值的大小与比对序列的长
度成一定关系。
自然对数(G); (b)一个常数; (c)一个系数.
例如:
************************************************************
-i
************************************************************
例如:如果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模式中默认值为”-iS,1,1.15”.即表示f(x) = 1 + 1.15 *sqrt(x).如果read长度为100,则相邻种子的间距为12.
--n-ceil
--dpad
--gbar
--ignore-quals计算错配罚分的时候不考虑碱基质量.当输入序列的模式为-f, -r或者-c的时候,该设置自动成为默认设置.
--nofw/--norc –nofw设定read不和前导链(forwardreference strand)进行比对;
--norc设定不和后随链(reverse-complementreference strand)进行比对.
Default: both strands enabled.
--end-to-end比对是将整个read和参考序列进行比对.该模式--ma的值为0.该模式为默认模式, --local模式冲突.
--local该模式下对read进行局部比对,从而, read两端的一些碱基不比对,从而使比对得分满足要求.该模式下 –ma默认为2.
得分罚分参数
--ma
--mp MX,MN设定错配罚分.其中MX为所罚最高分, MN为所罚最低分.默认设置下罚分与碱基质量相关.罚分遵循的公式为: MN + floor( (MX-MN)(MIN(Q, 40.0)/40.0) ).其中Q为碱基的质量值.如果设置了—ignore-qual参数,则错配总是罚最高分. Default:MX = 6, MN = 2.
--np
--rdg
--rfg
--score-min
报告参数
-k
-a和-k参数一样,不过不限制搜索的结果数目.并将所有的比对结果都按降序报告出来.此参数和-k参数冲突.值得注意的是:如果基因组含有很多重复序列时,该参数会导致程序
运行极其缓慢.
Effort参数
-D
-R
的次数. Default: 2.
Paired-end参数
-I/--minins
-X/--maxins
--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不能和谐比对(concordantalignment,即满足-I, -X, --fr/--rf/--ff的条件)到参考序列上, 则搜寻其不和谐比对(disconcordant alignment, 即两条reads都能独一无二地比对到参考序列上, 但是不满足-I,-X,--fr/--rf/--ff的条件). 该选项阻止此行为.
--dovetail read1和read2的关系为dovetail的时候,该状况算为和谐比对. 默认情况下dovetail不算和谐比对.
--no-contain read1和read2的关系为包含的时候, 该状况不算为和谐比对. 默认情况下包含关系算为和谐比对.
--no-overlap read1和read2的关系为有重叠的时候, 该状况不算为和谐比对. 默认情况下两个reads重叠算为和谐比对.
输出参数
-t/--time --un
--un-gz
--un-bz2
--al
--al-gz
--al-bz2
--un-conc
--un-conc-gz
--un-conc-bz2
--al-conc
--al-conc-gz
--al-conc-bz2
--quiet 安静模式,除了比对错误和一些严重的错误, 不在屏幕上输出任何东西.
--met-file
--met-stderr
--met
Sam 参数
--no-unal不记录没比对上的reads.
--no-hd不记录SAM header lines (以@开头).
--no-sq不记录@SQ的SAM headerlines.
--rg-id
--rg
性能参数
-o/--offrate
-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
--version打印程序版本并退出
-h/--help 打印用法信息并推出
原文来源:https://www.baidu.com/s?wd=bowtie2&pn=10&oq=bowtie2&tn=baiduhome_pg&ie=utf-8&rsv_idx=2&rsv_pq=e8d89ff5000058cb&rsv_t=a957VqdhyupNsqSPsb%2FOFxxX1Gh%2F7XTL0EvPwADg2d9M7UfRvhIt8PelfoS2wZHxKbeV&rsv_page=1