← 返回软件与算法资源类型 命令行软件 方法分类 表达定量 原始分类 Quantification 创建时间 2026/6/3
Software & Algorithm Detail
表达定量Quantification命令行软件
featureCounts
从 BAM 文件生成 gene count matrix 的经典工具,适合 STAR/HISAT2 后接差异分析。
Benchmark
性能基准测试
当前图表用于比较不同数据规模下的时间消耗和内存消耗。
性能基准测试
8 threads / GENCODE GTF / coordinate-sorted BAM
Documentation
软件原理、用法与参数
统一使用 Markdown 文档渲染,保留命令行代码块、参数表和示例说明。
featureCounts 基因计数
工具定位
featureCounts 用于把 STAR/HISAT2 得到的 BAM 按 GTF 注释汇总成 gene count matrix,是 STAR -> featureCounts -> DESeq2 流程的关键节点。
适用场景
- 适合:bulk RNA-seq gene-level count、ChIP/CUT&Tag 区域计数、标准差异分析上游。
- 不适合:isoform-level 定量,此时 Salmon/StringTie 更合适。
输入与输出
| 类型 | 文件 | 说明 |
|---|---|---|
| 输入 | *.bam | 排序后的比对文件 |
| 输入 | genes.gtf | 基因注释 |
| 输出 | counts.txt | gene count matrix |
| 输出 | counts.txt.summary | reads 分配统计 |
安装方式
mamba create -n featurecounts -c bioconda -c conda-forge subread samtools
conda activate featurecounts
featureCounts -v
推荐项目目录
project_featurecounts/
├── 04_bam/
├── 05_counts/
├── reference/
│ └── genes.gtf
└── scripts/
最小可运行示例
mkdir -p 05_counts
featureCounts \
-T 8 \
-p \
-t exon \
-g gene_id \
-a reference/genes.gtf \
-o 05_counts/gene_counts.txt \
04_bam/*.bam
常用参数表
| 参数 | 含义 | 推荐值 | 注意事项 |
|---|---|---|---|
-T | 线程数 | 4-12 | 通常很快,不必过高 |
-p | 双端 reads | PE 数据开启 | 单端数据不要加 |
-t | feature 类型 | exon | 与 GTF 第三列匹配 |
-g | 汇总 ID | gene_id | 做 gene-level DEG 最常用 |
-s | 链特异性 | 0/1/2 | 必须按建库方式设置 |
-Q | MAPQ 阈值 | 10 或 20 | 可过滤低质量比对 |
-M | 计入 multi-mapping reads | 谨慎开启 | 默认不计入更稳妥 |
--fraction | 多重比对分数计数 | 视项目而定 | 与 -M 搭配使用 |
结果解读
Assigned比例越高,说明 reads 更好地落在注释 feature 上。Unassigned_NoFeatures高可能是注释版本不匹配、物种错误或 rRNA/lncRNA 比例高。Unassigned_Ambiguity高常见于重叠基因或复杂注释区域。
常见错误
| 问题 | 可能原因 | 解决办法 |
|---|---|---|
| count 很低 | -s 链特异设置错误 | 用 RSeQC 或文库说明确认 |
| 所有样本列名太长 | BAM 路径进入列名 | 后续在 R 中重命名列 |
| gene_id 缺失 | GTF 字段不同 | 改用 -g gene_name 或整理 GTF |
关联流程
- Bulk RNA-seq 标准差异表达分析增强版
- STAR + featureCounts + DESeq2 + TPM