登录  注册 退出

密码子图书馆

您现在的位置是: 首页 > 生信讲堂 > 软件使用

软件使用

常用比对软件集合

欢乐豆 2021-11-04 12:00:31软件使用
Bwa适用范围:二代测序数据快速比对到genome上。bwa作为序列比对界的模式软件,短小精悍,适用于多种场合,很有必要搞懂他内部的比对算法,最好也搞懂它是如何实现的。建立索引:bwa index in.fasta索引建立好之后会生成五个文件,后缀分

Bwa



适用范围:二代测序数据快速比对到genome上。

bwa作为序列比对界的模式软件,短小精悍,适用于多种场合,很有必要搞懂他内部的比对算法,最好也搞懂它是如何实现的。

建立索引:

    bwa index in.fasta

    索引建立好之后会生成五个文件,后缀分别是:

      bwt,pac,ann,amb,sa

      常见比对命令:

        BWA-backtrack:illumina reads比对,最长支持100bp(aln/samse/sampe)bwa aln ref.fa R1.fq > aln1_sa.saibwa aln ref.fa R2.fq > aln2_sa.saibwa sampe ref.fa aln_sa1.sai aln_sa2.saiR1.fq R2.fq > aln-pe.samBWA-SW:long-read比对,长度为70bp-1Mbp;支持剪切性比对(bwasw)bwa bwasw ref.fa R1.fq R2.fq > aln-pe.samBWA-MEM:最新,最常用,同SW,但更准更快,与backtrack相比在70-100bp更具性能优势(mem)bwa mem ref.fa R1.fq R2.fq > aln-pe.sam

        Bowtie/Bowtie2



        适用范围:将短序列拼接至模板基因组。

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

        Bowtie2 是将测序reads与长参考序列比对工具。适用于将长度大约为50到100或1000字符的reads与相对较长的基因组(如哺乳动物)进行比对。Bowtie2使用FM索引(基于Burrows-Wheeler Transform 或 BWT)对基因组进行索引,以此来保持其占用较小内存。对于人类基因组来说,内存占用在3.2G左右。Bowtie2 支持间隔,局部和双端对齐模式。可以同时使用多个处理器来极大的提升比对速度。如果目的是与相对较短的参考序列(如细菌基因组)非常灵敏的比对,可以使用Bowtie 2完成,但您可能需要考虑使用NUCmer,BLAT或BLAST等工具。当参考基因组很长时,这些工具可能会非常缓慢,但当参考基因组很短时通常就足够了。

        建立索引:

          bowtie2-build genome.fa genome_indexbowtie2 -p 10 -x genome_index -1 input_1.fq -2 input_2.fq | samtools sort -O bam -@ 10 -o - > output.bam

          需要注意的是:genome_index 指的是用于bowtie2的索引文件,而不是参考基因组本身,构建过程参考后文。genome_index 需要指定路径及其共用文件名


          RNA-seq比对软件



          RNA测序并不能直接使用DNA测序常用的BWA、Bowtie等比对软件,这是由于真核生物内含子的存在,导致测到的reads并不与基因组序列完全一致,因此需要使用Tophat/HISAT/STAR等专门为RNA测序设计的软件进行比对。

           01 Tophat2



          可以说是最被公认的RNA测序比对软件(实际上是在DNA比对软件Bowtie的基础上做了一个壳,tophat调用bowtie,tophat2调用bowtie2)。


           02 HISAT2



          在Tophat的算法基础了上做了大量的改进,而且克服了Tophat最大的缺点——速度慢(HISAT2既能做RNA-seq也能做DNA-seq)。

          Hisat是一种高效的RNA-seq实验比对工具

          它使用了基于BWT和Ferragina-manzini (Fm) index 两种算法的索引框架

          使用了两类索引去比对,一类是全基因组范围的FM索引来锚定每一个比对,另一类是大量的局部索引对这些比对做快速的扩展

          建立索引,它的索引就会以genome命名,以*.ht2结尾

            hisat2-build -f ref.fasta genome -p 10

            而遇到一些大的基因组的时候我们需要用到一个命令参数--large-index,强制要求产生的索引为‘large’

            线程数比对基本的用法

              hisat2 [options]* -x <ht2-idx> {-1 <m1> -2 <m2> | -U <r>} [-S <sam>]hisat2 -x genome -1 ./data/gpl/gpl_L4_383X83.R1.fastq.gz -2 ./data/gpl/gpl_L4_383X83.R2.fastq.gz -S  test.sam

               03 STAR



              STAR (Spliced Transcripts Alignment to a Reference),用于将测序的 Read 对齐到参考基因组的比对软件,常用于 RNAseq。因其具有较高的准确率,映射速度较其他比对软件高 50 多倍,因此作为 ENCODE 项目的御用 pipeline 工具。它需要占用大量内存,对计算资源有较高的要求。STAR 的默认参数针对哺乳动物基因组进行了优化.

              建立索引

                STAR --runMode genomeGenerate \--runThreadN 50 \--genomeDir ./hg38_index \--genomeFastaFiles ./genome.fa \--sjdbGTFfile ./genes.gtf \--sjdbOverhang 99

                参数:

                  –runMode genomeGenerate:基因组生成模式–runThreadN:启用线程数–genomeDir:索引输出路径–genomeFastaFiles:参考基因组路径–sjdbGTFfile:参考基因组注释文件–sjdbOverhang:对于不同长度的读取,理想值为--sjdbOverhangmax(ReadLength)-1。在大多数情况下,默认值 100 与理想值类似。

                  STAR 比对:

                    STAR --outSAMtype BAM SortedByCoordinate \--runThreadN 20 \--genomeDir ./hg38_index \--readFilesIn  seq_data_1.fastq seq_data_2.fastq \--outFileNamePrefix ./seq_data

                    参数:

                      –runThreadN:启用线程数–genomeDir:索引路径–readFilesIn:输入 fastq 的文件路径–outSAMtype BAM SortedByCoordinate:输出排序的 bam 文件–outFileNamePrefix:输出文件前缀

                       04 MapSplice



                      TCGA使用的比对软件。

                       05 RSEM



                      RSEM更像一个软件包而不是一个比对软件,能够提供从比对到计算差异表达的所有步骤,由于不需要自己写代码串联不同软件生成的数据格式,因此用起来比较省时省力,值得注意的是,TCGA使用MapSplice比对后再用RSEM计算表达量,并没有直接只用RSEM原装的Bowtie的比对结果。

                      比对软件(RNA-SEQ比对到参考基因组上):bowtie2  tophat hista2 star

                      不需要比对(伪比对,基于建立好的参考转录组):sailfish kallsto salmon

                      组装与定量:stringtie  cufflink   RSEM 

                      性能比较:

                      ①tophat与Hista2算法相似,但是tophat已经不再维护,且比对速度方面,Hista2 显著高于 tophat。STAR与Hista2类似。

                      Ballgown在差异分析方面比cuffdiff更高的特异性及准确性,且时间消耗不到cuffdiff的千分之一

                      Bowtie2+eXpress做质量控制优于tophat2+cufflinks和bowtie2+RSEM


                      长片段比对软件



                       01 Minimap2



                      Minimap2是针对于三代测序数据进行比对的工具,minimap2的优势是速度快,而且听说比对的结果也比较不错;缺点呢,就是耗费内存。基本用法如下:

                      建立索引

                        minimap2 -d co92.min co92.fna

                        比对

                          minimap2 -ax map-pb azyz.genome.fasta azyz.flnc.fasta > aln.sam

                          分类:五大类,索引(Indexing),回帖(Mapping),比对(Alignment),输入/输出(Input/Output),预设值(Preset)。

                            -x :非常中要的一个选项,软件预测的一些值,针对不同的数据选择不同的值map-pb/map-ont: pb或者ont数据与参考序列比对;ava-pb/ava-ont: 寻找pd数据或者ont数据之间的overlap关系;asm5/asm10/asm20: 拼接结果与参考序列进行比对,适合~0.1/1/5% 序列分歧度;splice: 长reads的切割比对sr: 短reads比对-d :创建索引文件名-a :指定输出格式为sa格式,默认为PAF-Q :sam文件中不输出碱基质量-R :reads Group信息,与bwa比对中的-R一致-t:线程数,默认为3

                             02 ngmlr



                            NextGenMap-LR(ngmlr)主要用于三代测序的长reads与参考基因组的比对。NGMLR是一款为长reads设计的快速且高精度的进行比对的软件,它是基于NGM开发的,该软件扩展了segmented convex gap-cost scoring model来适应高错误率的长reads比对。

                            基本用法:

                              ngmlr -r ucsc.hg19.fasta -q XXX.fastq -o YYY.bam

                              下图是几款软件的比较:

                              可以看出minimap2表现是十分良好的。

                              图片


                              文章来源:作图帮