STAR安装与使用(2.7.11b)-生信工具38

01 背景

STAR(Spliced Transcripts Alignment to a Reference)是一款广泛使用的高性能RNA测序(RNA-seq)比对工具。它专为处理大规模转录组数据设计,能够高效且精准地将RNA-seq读段(reads)比对到参考基因组。

hisat2安装与使用(v2.2.1)bioinfomatics tools 33-CSDN博客

minimap2安装与使用(v 2.28)生物信息学工具26-CSDN博客 

1.1 STAR的核心功能与特点
  1. 高效的比对算法
    STAR采用基于基因组索引的比对策略,能够在短时间内完成大规模数据集的分析。其核心的**双重索引(two-pass mapping)**过程有效解决了剪接(splicing)事件的检测问题。

  2. 精准检测剪接位点
    STAR特别适合处理包含外显子-内含子边界(spliced junctions)的RNA-seq数据,通过高效的搜索算法,准确识别新旧剪接事件。

  3. 灵活处理多种数据
    STAR支持单端(single-end)和双端(paired-end)RNA-seq数据,并适用于全长转录组单细胞RNA-seq数据集。

  4. 快速计算
    STAR的速度远超传统比对工具,这得益于其对索引结构的高效利用以及多线程并行计算的支持。通常可在几小时内完成数亿条读段的比对任务。

  5. 丰富的输出信息
    STAR能够生成包含剪接位点、外显子覆盖度、基因表达水平等丰富信息的结果文件,为后续的表达定量和差异分析提供坚实的数据支持。


1.2 STAR的工作流程
  1. 基因组索引生成
    首先,通过参考基因组序列和注释文件生成索引。

  2. 读取比对
    RNA-seq数据(FASTQ格式)被比对到参考基因组,识别外显子-内含子剪接位点,并生成比对结果。

  3. 结果输出
    STAR输出标准格式的SAM/BAM文件,同时提供剪接位点和比对统计信息。


1.3 STAR的应用场景
  • 基因表达定量:将比对结果用于计算基因和转录本表达量。
  • 新剪接位点检测:发现并分析新的外显子连接(splice junction)。
  • 差异表达分析:比较不同实验条件下的基因表达差异。
  • 单细胞转录组分析:处理大规模单细胞RNA-seq数据。
02 参考
https://github.com/alexdobin/STAR   #官网
https://github.com/alexdobin/STAR/blob/master/doc/STARmanual.pdf   #操作手册
03 安装
method1

https://xhgithub.com/alexdobin/STAR/releases/tag/2.7.11b

Download the latest release from and uncompress it
# Get latest STAR source from releases
wget https://xhgithub.com/alexdobin/STAR/archive/2.7.11b.tar.gz
tar -xzf 2.7.11b.tar.gz
cd STAR-2.7.11b

# Alternatively, get STAR source using git
git clone https://github.com/alexdobin/STAR.git
Compile under Linux
# Compile
cd STAR/source
make STAR


method2
conda install bioconda::star


method3
在 Mac OS X 下编译 STAR 的步骤

1. 安装 Homebrew 
使用 Homebrew 安装依赖工具,访问 [brew.sh](http://brew.sh/) 进行安装。  


2. 使用 Homebrew 安装 GCC 
在终端中运行以下命令:  

brew install gcc

3. 编译 STAR 
在源代码目录中执行 `make` 命令。注意需要指定正确版本的 `g++` 编译器路径。  
cd source
make STARforMacStatic CXX=/usr/local/Cellar/gcc/8.2.0/bin/g++-8

说明:  
- CXX 指定使用的 C++ 编译器路径,确保路径与当前安装的 GCC 版本一致。  


4. 将 STAR 添加到终端可用路径
将编译生成的 `STAR` 可执行文件复制到 `/usr/local/bin` 目录,使其可被全局访问:  

cp STAR /usr/local/bin


适用于所有平台:使用非标准 GCC 编译器

如果系统中未将 `g++` 编译器(真实的 `g++`,而非 Clang 的软链接)添加到环境变量路径中,则需要显式指定其位置。  


cd source
make STARforMacStatic CXX=/path/to/gcc


method4
针对特定平台优化

如果 STAR 仅在单台机器或设置一致的计算集群上使用,可以根据平台进行优化编译,提高性能。

1. 平台优化编译(适用于 gcc/g++) 

make CXXFLAGSextra=-march=native

- -march=native:根据本地 CPU 指令集优化代码生成。

2. 结合链接时优化(Link-Time Optimization)

make LDFLAGSextra=-flto CXXFLAGSextra="-flto -march=native"

- -flto:启用链接时优化,进一步提升性能。  
- `CXXFLAGSextra` 和 `LDFLAGSextra` 会附加到 `source/Makefile` 中默认的优化选项。

method5
FreeBSD ports
STAR can be installed on FreeBSD via the FreeBSD ports system. To install via the binary package, simply run:

pkg install star

method6
conda install -c bioconda star
04 使用
#### **基本用法**

STAR [options]... --genomeDir 参考基因组路径 --readFilesIn R1.fq R2.fq

**Spliced Transcripts Alignment to a Reference**(参考序列的剪接转录本比对)
 版权所有 Alexander Dobin, 2009

### **版本相关参数**

- **versionSTAR**:
   `int>0`:STAR 发布的版本编号。请勿修改此值!
- **versionGenome**:
   `int>0`:与该 STAR 版本兼容的最旧基因组版本编号。请勿修改此值!

### **参数文件**

- **parametersFiles**:
   字符串:用户自定义参数文件名称。`-` 表示不使用参数文件。该参数只能通过命令行定义。

### **系统设置**

- sysShell:字符串:Shell 二进制文件路径,推荐使用 

  /bin/bash

  ,例如 

  /bin/bash

  - 默认会执行系统 Shell,通常是 `/bin/sh`。
  - 在部分 Ubuntu 系统中,默认 Shell 可能导致失败,此时需要指定 `/bin/bash` 的路径。

### **运行参数**

- **runMode**:
   字符串:运行类型
  - `alignReads`:比对读取序列
  - `genomeGenerate`:生成基因组索引
  - `inputAlignmentsFromBAM`:从 BAM 文件输入比对数据。目前仅与 `--outWigType` 和 `--bamRemoveDuplicates` 一起使用。
- **runThreadN**:
   整数:运行时使用的线程数。默认值为 `1`。
- **runDirPerm**:
   字符串:运行时创建目录的权限设置。
  - `User_RWX`:用户读/写/执行权限
  - `All_RWX`:所有用户读/写/执行权限(等同于 `chmod 777`)
- **runRNGseed**:
   整数:随机数生成器的种子。默认值为 `777`。

### **基因组参数**

- **genomeDir**:
   字符串:存储基因组文件的目录路径(`runMode!=genomeGenerate`)或生成基因组文件的目录路径(`runMode==genomeGenerate`)。
- **genomeLoad**:
   字符串:基因组文件在共享内存中的使用模式。
  - `LoadAndKeep`:将基因组加载到共享内存,并在运行后保留。
  - `LoadAndRemove`:将基因组加载到共享内存,运行后移除。
  - `LoadAndExit`:加载基因组至共享内存后退出,为后续运行保留内存中的基因组。
  - `Remove`:不进行比对,仅从内存中移除已加载的基因组。
  - `NoSharedMemory`:不使用共享内存,每个任务都会创建基因组的私有副本。

### **基因组生成参数**

- **genomeFastaFiles**:
   字符串:生成基因组时使用的 FASTA 文件路径,多个文件用空格分隔。仅在 `runMode==genomeGenerate` 时使用。这些文件必须为纯文本格式,不能为压缩文件。
- **genomeChrBinNbits**:
   整数:`log2(chrBin)`,其中 `chrBin` 表示基因组存储时每个染色体分块的大小。
- **genomeSAindexNbases**:
   整数:SA 预索引字符串的长度,通常设置为 `10-15`。较长的字符串将消耗更多内存,但搜索速度更快。
- **genomeSAsparseD**:
   整数:后缀数组的稀疏度,即索引之间的间距。较大数值可降低内存消耗,但会减慢比对速度。
- **genomeSuffixLengthMax**:
   整数:后缀的最大长度,必须大于读取序列的长度。`-1` 表示无限制。

### **剪接位点数据库参数**

- **sjdbFileChrStartEnd**:
   字符串:剪接位点文件路径,文件格式为 `chr <tab> start <tab> end <tab> strand`。可提供多个文件,STAR 将其拼接。
- **sjdbGTFfile**:
   字符串:GTF 注释文件的路径。
- **sjdbGTFchrPrefix**:
   字符串:GTF 文件中染色体名称的前缀,例如使用 UCSC 基因组的 ENSMBL 注释时为 `chr`。
- **sjdbGTFfeatureExon**:
   字符串:GTF 文件中表示外显子的特征类型,默认值为 `exon`。
- **sjdbGTFtagExonParentTranscript**:
   字符串:GTF 文件中外显子所属转录本的标签名称。默认值为 `transcript_id`。
- **sjdbOverhang**:
   整数:每个剪接位点两侧的序列长度,推荐设置为 `read_length - 1`。

### **输入文件参数**

- **inputBAMfile**:
   字符串:输入的 BAM 文件路径,仅在 `--runMode inputAlignmentsFromBAM` 模式下使用。
- **readFilesIn**:
   字符串:包含输入读段的文件路径,第一对为 `Read1`,第二对为 `Read2`(如适用)。
- **readFilesCommand**:
   字符串:为每个输入文件执行的命令行,需将解压后的文本发送到标准输出。
   例如:
  - `zcat`:解压 `.gz` 文件
  - `bzcat`:解压 `.bz2` 文件

### **输出参数**

- **outFileNamePrefix**:
   字符串:输出文件的前缀,包括路径。
- **outReadsUnmapped**:
   字符串:是否输出未比对的读段或部分比对的读段(如双端读取中仅一端比对)。
  - `None`:不输出
  - `Fastx`:输出为单独的 Fasta/Fastq 文件,分别命名为 `Unmapped.out.mate1` 和 `Unmapped.out.mate2`。
- **outSAMtype**:
   字符串:输出的 SAM/BAM 文件类型。
  - `SAM`:未排序的 SAM 文件
  - `BAM`:未排序的 BAM 文件
  - `SortedByCoordinate`:按坐标排序的 BAM 文件
05 常用命令行
STAR --runMode genomeGenexhrate --runThreadN 20 --genomeDir ./XX_index --genomeFastaFiles gouqi-genome-ref/HiC.review.assembly.chr.fa --sjdbGTFfile ./XX.gtf --sjdbOverhang 149    #不用新建文件夹

有参回帖
STAR --quantMode TranscriptomexhSAM GeneCounts --runThreadN 15 --genomeDir ../XX_index --alignIntronMin 20 --alignIntronMax 50000 --outSAMtype BAM SortedByCoordinate --sjdbOverhang 149 --outFilterMismatchNmax 2 --outSJfilterReads Unique --outSAMmultNmax 1 --outFileNamePrefix TF1 --outSAMmapqUnique 60 --readFilesCommand gunzip -c --readFilesIn ../../001fastp/F1_f1.001fastp.gz ../../001fastp/F1_r1.001fastp.gz;
06 参考文献

Bioinformatics. 2013 Jan 1;29(1):15-21. doi: 10.1093/bioinformatics/bts635. Epub 2012 Oct 25.

STAR: ultrafast universal RNA-seq aligner

Alexander Dobin 1Carrie A DavisFelix SchlesingerJorg DrenkowChris ZaleskiSonali JhaPhilippe BatutMark ChaissonThomas R Gingeras

Affiliations expand

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值