bowtie:短序列比对的新工具

bowtie:短序列比对的新工具(转)

 (2014-11-17 22:15:24)
标签: 

转载

 

Bowtie是一个超级快速的,较为节省内存的短序列拼接至模板基因组的工具。它在拼接35碱基长度的序列时,可以达到每小时2.5亿次的拼接速度。

Bowtie并不是一个简单的拼接工具,它不同于Blast等。它适合的工作是将小序列比对至大基因组上去。它最长能读取1024个碱基的片段。换言之,bowtie非常适合下一代测序技术。

在 使用bowtie前,需要使用bowtie-build来构建比对模板。如果你需要比对是比较常见的基因组的话,你可以去http://bowtie- bio.sourceforge.net/manual.shtml下载你所需要的Pre-built indexes文件就可以了。

如 前所述,bowtie适合于将短序列拼接至大的模板上,尤其是基因组。模板最小尺寸不能小于1024碱基,而短序列最长而不能超过1024碱基。 Bowtie设计思路是,1)短序列在基因组上至少有一处最适匹配, 2)大部分的短序列的质量是比较高,3)短序列在基因组上最适匹配的位置最好只有一处。这些标准基本上和RNA-seq, ChIP-seq以及其它一些正在兴起的测序技术或者再测序技术的要求一致。

如果bowtie在你的机器上运行起来很慢,那么你可以试试以下的一些办法来让它跑得快一些:

  1. 尽 可能的使用64位bowtie。很显然,64位运算会比32位运算更快。所以最好使用支持64位运算的计算机来运行64位的bowtie。如果你是从原文 件开始编译程序,在g++编译时,你需要传递-m64参数,你也可以在make的时候加入这一信息,比如说传递BITS=64给make,具体 的:make BITS=64 bowtie。想知道你自己运算的是什么版本的bowtie,你可以运行bowtie –version
  2. 如果你的计算机有多个CPU或者CPU内核,那么请使用-p参数。-p参数会让bowtie进入多线程模式。每一个线程都会使用单独的CPU或者CPU内核。这种并行的运算模式也会大大加快运算速度。
  3. 如 果你的报告文件中每条短序列都有太多的匹配位点(超过10)那么你可以试着重新使用bowtie-build加上 –offrate参数,如bowtie-build –offrate 4。-o/–offrate默认值为5,每下降1,比对速度会增加1倍,但是系统消耗(硬盘空间和内存)也会加倍。
  4. 如果你的系统 配置太低,比如内存不足4GB,那么建议你在bowtie的时候使用–offrate参数。与上一条相反的,你需要加大offrate的值。bowtie –offrate 6. 其默认值为5。每增加1,内存空间的要求下降,这样会减少读取硬盘当中虚拟内存的次数,速度反而会有所上升。

-n模式与-v模式

默认的,bowtie采用了和Maq一样的质量控制策略,设置 -n 2 -l 28 -e 70。总的来说,比对模式分为两种,一种是 -n 模式, 一种是 -v 模式,而且这两种模式是不能同时使用的。bowtie默认使用-n模式。

-n模式参数: -n N -l L -e E

其中N,L,E都为整数。-n N 代表在高保真区内错配不能超过N个,可以是0?3,一般的设置为2。-l L代表序列高保真区的长度,最短不能少于5,对于短序列长度为32的,设置为28就很不错。-e E代表在错配位点Phred quality值不能超过E,默认值为40。Phred quality值的计算式为:-10 log(P,base(10))

Phred Quality值 错配可能性 正配可能性
10 1/10 90%
20 1/100 99%
30 1/1000 99.9%
40 1/10000 99.99%
50 1/100000 99.999%

而-v模式的参数相对较少。

-v模式参数:-v V

其中V为整数。-v V代表全长错配不能超过V个,可以是0?3。这时,不考虑是否高保真区,也不考虑Phred quality值。

–best 与–strata

–best 参数代表报告文件中,每个短序列的匹配结果将按匹配质量由高到低排序。–strata参数必须与–best参数一起使用,其作用是只报告质量最高的那部 分。所谓质量高低,其实就是指错配的碱基数,如果指定了-l L参数,那就是在高保真区内的错配数,否则就是全序列的错配数。如果你还指定了 -M X的话,那就会在质量最高的当中,随机选择X个来报告。也就是说,当我们指定了-M 1 –best –strata的话,那就只报告1个最好的。

对于输入,-q是指输入的文件为FASTQ(文件扩展名通常为.fq或者.fastq)格式;-f是指输入文件为FASTA(文件扩展名通常为.fa, .mfa或者.fna)格式;-c是指在命令行直接输入要比对的序列。

下面就是一个具体的例子:

bowtie -v 2 -M 1 –best –strata Genomes/hg19_ebwt/hg19 Pol2ChIP.fastq Pol2ChIP.map

1.本人用过的短序列比对工具里,感觉bowtie最好使,大体用法和blast挺像的,也很简单,就两步:
第一步,build:感觉和blast的第一步formatdb差不多,在命令行输入bowtie-build <seqfile> <dbname>
第二步,align:和blast的核心(blastall)差不多,在命令行输入:bowtie [options]* <dbname> <short_reads_file> <outfile>
bowtie的速度比Maq和SOAP都快,PC机上也能胜任大规模数据分析,一般100M大小的基因组做mapping,2-3min就可以了,快的让我不敢接受,呵呵,bwt算法就是牛!
bowtie的用途不仅仅是短序列比对最mapping,更多信息请参考:
http://bowtie-bio.sourceforge.net/index.shtml

2.


Bowtie aligner 簡介
軟體簡介 Bowtie is an ultrafast, memory-efficient short read aligner
核心技術 Mapping / Burrows-Wheeler / FM Index
原創作者 Ben Langmead / Cole Trapnell
維護狀況 0.12.3 release - 2010/02/17
輸入格式 FASTQ
輸出格式 SAM / Bowtie default format
適用機器架構 i386 / x86_64
作業平台 Linux, Windows, and Mac OS X

使用說明

本軟體目前安裝於BIP2(140.123.126.234)主機, 實驗帳號為Bioinfo 若有需要利用此軟體進行實驗, 請與 冠宏/盈達 聯絡索取實驗帳號資料

軟體目錄目標路徑: /home/bioinfo/alignmentTool/bowtie-0.12.3


Getting started
Building a new index
Performing alignments
Finding variations with SAMtools
準備資料
Reference genome data (*.fa)
NGS Short reads data (*.fastq)
Building a new index
根據 reference genome data(e.g. reference.fa) 建立 Index File
# bowtie-build [options]* <reference_in> <ebwt_base>

Performing alignments
NGS short reads data (e.g. leftRead.fastq / rightRead.fastq)
refernece genome data(e.g. reference.fa)
# bowtie [options]* <ebwt> {-1 <m1> -2 <m2> | --12 <r> | <s>} [<hit>]

Solid data for single-read alignment
# bowtie -S -a -f -C -p 7 <reference-index> <singleRead.csfasta> -Q <singleRead.qual> > <alignResult.sam> -S :輸出為sam檔 -a :把所有對到的read列出來,即使有multiple mapping -C :input為.csfasta -Q :.csfasta 內容裡無 quality value,所以需準備 .qual -f :伴隨 -Q -C 參數 -p int :用幾顆cpu跑

If bowtie Paired end 100% failed to align

http://seqanswers.com/forums/showthread.php?t=6522


Finding variations with SAMtools
輸出sam格式

# bowtie -S e_coli reads/e_coli_10000snp.fq ec_snp.sam


轉成bam格式

# samtools view -bS -o ec_snp.bam ec_snp.sam


排序bam資料

# samtools sort ec_snp.bam ec_snp.sorted


結合bam資料

# samtools merge <out.bam> <in.bam> | <in.bam> …


找尋SNP

# samtools pileup -cv -f genomes/NC_008253.fna ec_snp.sorted.bam


其他
參考資料

Langmead B, Trapnell C, Pop M, Salzberg SL.. 2009. Genome Biology

Bowtie Introduction on NCBI Presentation


相關連結

Bowtie Homepage


http://bioinfo.cs.ccu.edu.tw/wiki/doku.php?id=bowtie
原文地址:https://www.cnblogs.com/wangprince2017/p/9937586.html