生信软件 | STAR(测序序列与参考序列比对)

文章目录

零、介绍一、安装二、使用1、建立索引2、STAR 比对

三、原理聚类、拼接和评分

零、介绍

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

STAR 适用于映射到基因组同时允许剪接的 RNA 文库,包括:

RNA-seq(polyA+,Total)CLIP-Seq/PAR-CLIPRIP-SeqChIRP-SeqRibo-Seq

简而言之,如果你的文库是基于 RNA 文库构建,无脑使用 STAR 准没错。

一、安装

conda install -c bioconda star

二、使用

1、建立索引

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 与理想值类似。

2、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:输出文件前缀

STAR 的默认参数针对哺乳动物基因组进行了优化。其他物种可能需要对某些对齐参数进行重大修改,尤其具有较小内含子的生物,必须减小最大和最小内含子大小 STAR 注意事项

STAR 非常非常快 - 如果有 20 个 CPU 在工作,它将在几分钟内处理 2000 万个读取。实际上,程序中最耗时的部分是将索引加载到内存中。如果您要连续对几个实验进行对齐,请添加选项"–genomeLoad LoadAndKeep",STAR 将把基因组索引加载到共享内存中,以便下次运行程序时可以使用。此外,将 sam 文件转换为排序后的 bam 文件所需的时间比首次对齐数据要长得多。

STAR 参数较多,以下作为参考

Base params--runThreads启用的线程数--genomeDir基因组索引路径--readFilesInRead1_fastq Read2_fastq--readFilesCommand zcat使用 gzip 压缩的 fastq 文件时Output Params--outFileNamePrefix输出文件前缀--outSAMtypeBAM/SAM 或无 可选:SortedByCoordinate--alignEndsTypeLocal:软剪切的比对 [默认:Local] EndToEnd:end-to-end 比对,不会软剪切--outReadsUnmapped默认:None输出未匹配的和部分匹配的序列。None: 不输出Fastx: 输出 separate fasta/fastq les, Unmapped.out.mate1/2,路径通过 --outFileNamePrefix 指定--outSAMattrRGline默认:- BAM/SAM 文件中的每一条 read 构建一个 @RG 标签行信息。在输出的 BAM/SAM 文件中,每个 read 都可以被赋予一个特定的 readgroup (RG),它和 library ID、sample ID、platform(测序平台)等信息相关。–outSAMattrRGline 参数可以帮助指定这个标签行信息的具体内容和格式。例如:--outSAMattrRGline ID:foo LB:bar SM:baz PL:Illumina上面的命令为一条 read 的 @RG 标签指定了四个属性参数,分别是 ID、LB、SM、PL。这些参数分别表示:readgroup 标签的 ID、library 的 ID、样本的 ID 和测序平台。这些属性参数的取值需要用户自己指定,共同构成该 read 的 @RG 标签行。Filter params--outFilterMatchNmin默认:0 reads 匹配碱基数超过该值即输出--outFilterMismatchNmax默认值:10 接受的最大不匹配数--outFilterMismatchNoverLmax默认值:0.3 不匹配的最大分数映射长度 仅当错配与映射长度的比率小于或等于此值时,才会输出对齐。默认值允许一个 read 中最多有 30% 的错误匹配。 假设一个 read 长度为100,那么该 read 中最多允许有 30 个错误匹配。 如果 read 中错误匹配数超过了30,则认为该 read 未匹配成功。--outFilterMismatchNoverReadLmax默认值:1.0 不匹配读取长度的最大分数--outFilterMatchNminOverLread默认:0.66该参数的值代表了一条reads至少要包含多少个与参考序列上匹配的核苷酸才能被认为是一个有效比对。这个值是计算每条reads中必须匹配的最少N碱基数量与该reads长度之比的阈值。默认值为0.66,即至少匹配reads长度的2/3。如果该值设置得太低,可以使得更多的reads被认为是有效比对,但同时将可能会增加噪音和假阳性结果的数量。Multimap--outSAMmultNmax 默认:-1 在 STAR 的 mapping 过程中,一个 read 可能会匹配到多个位置,这些位置称为多映射位置 (multimaps)。如果一个 SAM/BAM 文件中在同一个位置上出现了过多的匹配结果,会影响浏览和解析结果文件。因此,该参数用于限制在同一个位置上输出的最大匹配数。 -1 代表全部比对结果都输出--outFilterMultimapNmax接受的 Multi mapping 最大值 [默认值:10] 在 STAR 的 mapping 过程中,一个 read 可能会与参考基因组的多个位置匹配,该参数就是用来限制这种情况的。 如果一个 read 与多于该参数值 (max) 个位置匹配,则认为该 read “过于”复杂,被过滤掉或标记为不确定匹配 (unknown)或多重匹配 (multimaps)。默认值表示一个 read 在参考基因组上的最多匹配位置限制为3个。如果一个 read 在参考基因组上匹配位置高于3个,被过滤或标记为 unknown 或 multimaps。

三、原理

STAR 的比对算法需要两步:

种子搜索聚类,拼接,评分

种子搜索

STAR 先搜索与参考基因组上,一个或多个位置完全匹配的最长序列。这些最长的匹配序列称为最大可映射前缀 (*Maximal Mappable Prefix,*MMP):

匹配到的 Read 的不同部分称为“seed”。所以对齐到基因组的第一个 MMP 称为seed1。

随后 STAR 将再次仅搜索读数的未映射部分,以找到与参考基因组完全匹配的下一个最长序列 MMP,即seed2,以此类推。

这种 Read 顺序搜索是 STAR 算法效率的基础。

STAR 使用未压缩的后缀数组 (Suffix Array,SA) 来有效搜索 MMP,这允许针对最大的参考基因组进行快速搜索。其他较慢的比对软件使用的算法通常在拆分 Read 和执行比对之前搜索整个 Read 序列。

意外情况是:

由于不匹配或缺失,STAR 没有为 Read 的每个部分找到精确匹配的序列,则之前的 MMP 将被扩展。

如果延伸没有给出良好的比对,那么质量差或接头序列(或其他污染序列)将被软剪切。

聚类、拼接和评分

基于与一组‘anchor’种子或非多重映射种子的接近程度将种子聚集在一起,将单独的种子聚集在一起以创建完整的读取。

然后根据读取的最佳对齐方式将种子拼接在一起(基于不匹配、插入缺失、间隙等进行评分)。

https://github.com/alexdobin/STAR

https://github.com/alexdobin/STAR/blob/master/doc/STARmanual.pdf

https://academic.oup.com/bioinformatics/article/29/1/15/272537

https://hbctraining.github.io/Intro-to-rnaseq-hpc-O2/lessons/03_alignment.html


生菜一般可以放幾天,生菜能放冰箱保存嗎 | 飲食指南
乐视电视黑屏原因及解决方法(探索乐视电视黑屏问题的真相和解决之道)