本文转自 https://blog.csdn.net/soyabean555999/article/details/62236341/
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个错配(参数见下)
1bowtie -f -a -m 20 -v 1 --al Reads_aligned --un Reads_unaligned --norc GENOME.fa Reads.fa Reads.bwt 2> log
注:
-f 指定query文件为fasta格式
-a 保留所有比对结果
-m 指定最大比对到基因组的次数
-v 允许最大错配数,为[0-2]
--al 能map到GENOME的reads,fasta格式
--un 不能map到GENOME的reads,fasta格式
--norc 不输出匹配到负链的结果;如果不想输出比对到正链的结果,则用"--nofw"。不指定该选项则正负链结果都输出
后面依次写上GENOME索引文件,Reads文件,输出结果文件Reads.bwt,日志文件log。
(三)、bowtie输出结果的说明
sample001_x75 + Chr1 12453 ATCGGCCAATTACGGACTTAA IIIIIIIIIIIIIIIIIIIII 4 9:G>T
1 2 3 4 5 6 7 8
1. query id
2. "+"表示正向match;"-"表示对query作反向互补后match
3. reference id
4. 第2列为"+"时,表示query 第一个碱基map到reference(5'->3')上的位置,0-based(以0开始);第2列为"-"时,表示query的反向互补序列第一 个碱基map到reference(5'->3')上的位置,0-based(以0开始)
5. 如果第2列为"+",则和query序列一致;否则,和query序列反向互补
6. 质量文件,如果query文件为fasta格式,则无法获取质量文件,用I代替,I的数量与query序列长度一致
7. 当前query能map到GENOME的4个不同位置
8. 如果存在第8列,表示有mismatch。第8列可以分为三个部分,最左端的数字,中间的碱基为reference碱基,最右端的碱基为query碱基,下面分情况讨论:
第2列为"+"时:最左端的数字9表示query从5'端数起,第10个碱基为"T",而对应的reference为"G";
第2列为"-"时:最左端的数字9表示query先作反向互补,然后从3'端数起,第10个碱基为"T",而对应的reference为"G";