zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    449. 序列化和反序列化二叉搜索树
    极客mysql08
    极客mysql06
    MySQL死锁问题(转)
    mysql一些好的问题
    如何在Ubuntu 20.04 LTS Focal Fossa上安装Dokuwiki
    在Ubuntu 20.04 LTS Focal Fossa上安装Icinga
    如何在Ubuntu 20.04 LTS Focal Fossa服务器上安装PowerShell
    如何在CentOS 8服务器上安装Discord
    在CentOS 8服务器上安装Apache Solr搜索平台
  • 原文地址:https://www.cnblogs.com/wangprince2017/p/9937586.html
Copyright © 2011-2022 走看看