SuperAPI AI 工具集

rna-seq-analysis

通用与其它

查看项目

更新于 10-15 17:23

技能介绍

用途:为批量 RNA-seq 分析提供决策逻辑,帮助在比对型定量(STAR+featureCounts)与无比对定量(Salmon)之间选择,确定链特异性,并规避 DESeq2 建模中常见错误。适用于选择定量路线、从两种计数来源搭建 DESeq2、以及排查计数异常偏低或差异表达信号偏弱等场景。

主要能力与决策逻辑:若需 BAM(变异检测、融合基因、新转录本)则走 STAR 两遍比对加 featureCounts,否则用 Salmon(更快、内存更低、偏差校正)。Salmon 结果进入 DESeq2 时使用 DESeqDataSetFromTximport 保留长度偏移,切勿对 txi$counts 取整后传给 DESeqDataSetFromMatrix。过滤策略上,样本数 ≥30 可采用类似 VQSR 的思路,<30 时仍可用但需更激进预过滤。

关键参数:--sjdbOverhang 取 readLength-1(默认 100),非 100bp 读长需调整;差异表达始终使用 --twopassMode Basic;Salmon 始终开启 --gcBias --seqBias 与 --validateMappings。featureCounts 的 -s 依建库试剂盒而定,必须经验验证;DESeq2 预过滤用 rowSums(counts >= 10) >= smallest_group,浅测序时调整阈值;lfcShrink 类型用 "apeglm",任意对比用 "ashr";设计公式形如 ~ batch + condition,关注变量放在最后。

链特异性判定:TruSeq Stranded/dUTP 对应 featureCounts -s 2、Salmon -l ISR(双端)或 SR(单端);Ligation/forward 对应 -s 1、ISF 或 SF;无链特异性对应 -s 0、IU 或 U。可用 RSeQC 的 infer_experiment.py 或 Salmon 的 lib_format_counts.json 经验验证,计数前必须确认。

常见错误与限制:凭猜测设定链特异性会导致计数降低 2–10 倍、差异信号变弱;向 DESeq2 传入 TPM/FPKM/CPM 等归一化值会破坏负二项模型,必须从原始整数计数开始;变量顺序错误会使检验对象出错;需在创建 DESeq 对象前断言 stopifnot(all(colnames(cts) == rownames(coldata)));低计数基因不预过滤会增加运行时间并稀释多重检验校正;Stranded 文库误用 STAR ReadsPerGene.out.tab 第 2 列(无链特异性)会使有效计数减半,应使用第 3 或第 4 列;应剔除或标记比对读段 <10M 或比对率 <70% 的样本;批次与条件完全混杂时无法建模,需先检查 table(coldata$batch, coldata$condition)。资料未提供具体安装命令与代码示例。