conda install -c bioconda star
STAR --runMode genomeGenerate \
--runThreadN 50 \
--genomeDir ./hg38_index \
--genomeFastaFiles ./genome.fa \
--sjdbGTFfile ./genes.gtf \
--sjdbOverhang 99
参数:
--sjdbOverhang
max(ReadLength)-1。在大多数情况下,默认值 100 与理想值类似。STAR --outSAMtype BAM SortedByCoordinate \
--runThreadN 20 \
--genomeDir ./hg38_index \
--readFilesIn seq_data_1.fastq seq_data_2.fastq \
--outFileNamePrefix ./seq_data
参数:
STAR 的默认参数针对哺乳动物基因组进行了优化。**其他物种可能需要对某些对齐参数进行重大修改,尤其具有较小内含子的生物,必须减小最大和最小内含子大小
STAR 的比对算法需要两步:
种子搜索
STAR 先搜索与参考基因组上,一个或多个位置完全匹配的最长序列。这些最长的匹配序列称为最大可映射前缀 (*Maximal Mappable Prefix,*MMP):
匹配到的 Read 的不同部分称为“seed”。所以对齐到基因组的第一个 MMP 称为seed1。
随后 STAR 将再次仅搜索读数的未映射部分,以找到与参考基因组完全匹配的下一个最长序列 MMP,即seed2,以此类推。
这种 Read 顺序搜索是 STAR 算法效率的基础。
STAR 使用未压缩的后缀数组 (Suffix Array,SA) 来有效搜索 MMP,这允许针对最大的参考基因组进行快速搜索。其他较慢的比对软件使用的算法通常在拆分 Read 和执行比对之前搜索整个 Read 序列。
意外情况是:
基于与一组‘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