STAR 建索引的内存需求
| 参考基因组 | 默认参数内存 | sparseD=2 内存 | 索引磁盘 |
|---|---|---|---|
| 人类 hg38(完整 + GTF) | ~160 GB | ~32 GB | 30-50 GB |
| 人类 hg38(主要染色体) | ~100 GB | ~24 GB | 20-30 GB |
| 小鼠 GRCm39 | ~120 GB | ~26 GB | 25-40 GB |
| 大鼠/斑马鱼等 | 60-90 GB | 16-20 GB | 10-20 GB |
关键参数:--genomeSAsparseD 2 用后缀数组稀疏化换取 5 倍内存下降,比对速度只慢 10%-20%,是 64GB 以下机器的必开参数。建索引时还要预留 --genomeSAindexNbases(默认 min(14, log2(GenomeLength)/2 - 1))。
比对环节配置
- 线程数:
--runThreadN设为物理核数,超线程收益有限 - 内存:比对阶段约为索引的 1.2 倍(载入索引 + 输出缓冲)
- 速度参考:32 核 / 128GB 机器,30M reads/样本 比对约 5-10 分钟
高频报错速查
EXITING because of FATAL error: could not open genomeParameters.txt——索引路径写错not enough memory for BAM sorting——加--limitBAMsortRAM或让 STAR 用系统内存(不设该参数即可)- 建索引时被 OOM killed——加 sparseD 参数,或换 64GB+ 内存机器
常规转录组团队建议直接配 64GB 内存 + 32 核 + 1TB NVMe(存 2-3 套物种索引 + 中间文件),建索引和批量比对都不再排队。
常见问题
STAR 建索引报 not enough memory 怎么办?
加参数 --genomeSAsparseD 2 可把 hg38 索引内存从 ~160GB 降到 ~32GB,速度仅略降。这是官方推荐的内存优化参数。
STAR 索引建好后占多大磁盘?
hg38 完整索引约 30-50GB(geneSAsparseD 2 下约 20GB)。建好后可复用,务必保存。