让结果经得起推敲:bulk RNA-seq 实验设计与全流程质控(QC)门控完整指南
让结果经得起推敲bulk RNA-seq 实验设计与全流程质控QC门控完整指南【免费下载链接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.项目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills导读bulk RNA-seq 差异表达结果的可信度并不取决于最终跑通的那条命令而取决于上游实验设计与贯穿全流程的质控门控。本文基于本仓库 bulk-rnaseq 技能中的实验设计与 QC 参考文档系统讲解重复设计、批次混杂规避、设计公式构造以及从原始读段、比对定量到差异表达后的全部 QC 检查点帮助你打造可辩护defensible的 RNA-seq 分析结果。下游统计的可信度只取决于设计质量与 QC 门控水平。设计必须在测序之前决定QC 必须在定量之前、之中、之后持续执行——这正是 bulk RNA-seq 结果能否站得住脚defensible的分水岭。本仓库的 bulk-rnaseq 技能将这一点固化为流水线的第一条铁律步骤 1 就是Design sample sheet步骤 24 分设原始读段 QC、比对/定量 QC、定量后 QC任何一步都不允许跳过见 SKILL.md 的 Stage-by-Stage Workflow。bulk RNA-seq 全流程中的 QC 环节一、实验设计决定结果上限的环节1.1 重复设计用生物学重复别用技术重复必须使用生物学重复来自独立样本而不是技术重复同一文库重新测序。技术重复衡量的是测序仪器噪声而非生物学变异无法为结论的泛化提供任何依据。每组 ≥3 是实际可行下限对于典型效应量46 个更稳妥。n2 时你几乎无法可靠估计组内方差此时 DESeq2 的离散度收缩dispersion shrinkage几乎承担了全部工作结论十分脆弱。检测差异表达时增加重复数比加深测序深度更有效——不要为了覆盖率而牺牲重复。依据与延伸这一规则在本仓库脚本中被固化为可自动执行的检查。validate_samplesheet.py 在传入--metadata时会逐组统计样本量n 2直接报 ERRORneed 2 to estimate variancen 3给出 WARNING3 recommended for reliable DE并把判断下限做成--min-replicates参数默认 3供你按项目调高。1.2 测序深度、读长与文库布局约 20–30M 有效比对读段/样本即可支撑常规基因水平的差异表达分析若关注低表达基因、新转录本或异构体isoform层面的工作可将深度提升到 50M。双端paired-end与更长读长有助于比对和异构体解析但并非基因水平 DE 的必要条件手头只有单端数据时完全可以接受。关键约束同一比较内的所有样本文库布局layout、读长、试剂盒kit与深度必须保持一致。混用测序配置等于人为引入技术差异会污染真正的生物学信号。1.3 规避混杂设计的头号杀手批次batch任何随样本变化的技术性因素都算批次——处理日期、测序 lane/flowcell、试剂盒批次、操作员、RNA 提取批次等。最危险的场景批次与实验条件完全对齐例如所有处理组在周一处理、所有对照组在周二处理。此时生物学效应在数学上无法恢复任何后续分析都无法补救。这不是统计方法能解决的问题而是设计阶段的死穴。两道防线随机化randomize样本到批次的分配均衡化balance让每个批次都包含每个条件。同时把所有批次变量完整记录进 metadata。依据与延伸validate_samplesheet.py 内置了一个轻量完全混杂检测当--metadata提供batch列时它会用pd.crosstab(condition, batch)检查是否每个批次只包含单一条件——若是则提示批次效应无法与生物学效应分离each batch holds a single condition; the batch effect cannot be separated from the biology。也就是说设计缺陷在你烧掉测序经费之前就能被脚本发现而非等到 DESeq 阶段。1.4 设计公式交给 PyDESeq2 前必须写对设计公式直接传给下游的 pydeseq2本仓库负责差异表达的下游技能。三条核心规则调整变量放前面目标变量放最后~batch condition。主效应condition必须是公式中最后一个因子这样 PyDESeq2/DESeq2 的 LFC 估计与对比contrast才正确。连续协变量直接写数值变量~age condition务必确认该列被解析为数值而非字符串。交互项用于回答处理效应是否随基因型改变~genotype condition genotype:condition。设计矩阵必须满秩full rank——不能包含与条件完全混杂的批次变量否则pydeseq2会直接报错。上机前的自检方法pd.crosstab(metadata.condition, metadata.batch)检查是否存在空单元格。依据与延伸对比 pydeseq2 技能快速入门其典型用法正是把design~condition传入DeseqDataSet并通过metadata[condition] pd.Categorical(metadata[condition], categories[control, treated])显式指定参考水平再用DeseqStats(dds, contrast[condition, treated, control])完成组间比较。设计字符串formulaic 语法、参考水平的显式化与对比向量定义共同构成了设计公式从表格到统计检验的落地链路。二、QC 门控贯穿定量前、中、后QC 不是一次性动作而是三道依次收紧的门原始读段 → 比对/定量 → 定量之后DE 之前外加最后一道 DE 之后的统计诊断。2.1 第一道门原始读段 QCFastQC / MultiQC在触碰任何比对工具之前先用 FastQC 逐文件检查、用 MultiQC 汇总报告本仓库 Path B 的第 1 步即fastqc -t 8 -o qc/raw reads/*.fastq.gz随后以multiqc聚合见 upstream-manual.md。需要盯住的五项指标Per-base quality逐碱基质量绝大多数碱基应 ≥ Q30读段末端质量下滑是正常现象交给修剪/soft-clipping 处理即可。Adapter content接头含量被标记为flagged说明有接头残留——需要修剪Path B 的第 2 步用 fastp/Trim GalorePath A 的 nf-core/rnaseq 会自动处理。Over-represented sequences过度代表序列常见来源是接头、rRNA 或高表达转录本。持续出现 rRNA 提示 rRNA 去除depletion不彻底。GC content呈双峰bimodal或异常分布可能提示污染。Sequence duplication序列重复率RNA-seq 中出现高重复率是正常的高表达基因所致不要被它吓到——详见下文标准 DE 不去重。处置依据Path B 的修剪配方见 upstream-manual.mdfastp 推荐使用--detect_adapter_for_pe --qualified_quality_phred 20 --length_required 36修剪后必须重跑一次 FastQC 确认问题解决。2.2 第二道门比对/定量 QC定量产物自带最直接的质控信号。以下是各工具应检查的关键指标与大致阈值STAR 唯一比对率uniquely-mapped %良好文库与参考基因组下通常70–80%。偏低意味着参考基因组错误/过旧、污染或 RNA 降解。Salmon mapping rate查看logs/salmon_quant.log通常70%。偏低提示转录组不匹配、未构建 decoy 索引或存在污染。decoy-aware 索引的构建细节见 upstream-manual.md。featureCounts assigned %若 assigned 偏低而 unassigned_NoFeatures 偏高最常见原因就是链特异性strandedness设置错误-s参数。rRNA 比例过高会浪费读段应记录在案Path A 可考虑开启--remove_ribo_rnasortmerna 去 rRNA 模块见 upstream-nfcore.md。跨工具核验链特异性确认 STAR 列选择、featureCounts-s、Salmon 文库类型三者一致完整对应表见 upstream-manual.md典型 TruSeq Stranded mRNA 为 reverse 链特异性对应 STAR 第 4 列、featureCounts-s 2。链特异性选错会静默丢弃约一半读段是 bulk RNA-seq 最常见的隐性错误之一。2.3 标准 DE 不要去重PCR/光学重复duplicate reads在图表上看着吓人但在 RNA-seq 中它们绝大多数反映的是真实的基因高表达。标准基因水平 DEDESeq2/PyDESeq2不删除重复。只有当数据带有 UMI 时才考虑去重——而且必须用 UMI 信息去重绝不能做坐标去重coordinate dedup。2.4 第三道门定量后 QC信任 DE 之前必做这一步永远在 counts 上进行理想情况下使用方差稳定variance-stabilized或对数变换后的值PCA生物学重复是否聚成一簇主轴PC1分离的是你的条件还是一个批次如果批次主导了 PC1就必须把它建模进设计公式。明显的离群样本可能是样本调换或实验失败。样本距离热图 / 层次聚类用于确认分组结构并暴露标错标签或调换swapped的样本。若某批次确实结构化了数据把它加入设计~batch condition若批次来源未知可考虑 surrogate-variable / RUV 类方法本参考文档明确标注out of scope here——这些方法不在当前技能覆盖范围内需另行处理但必须意识到这个方向的存在。依据与延伸这条DE 前先看 PCA/热图的原则贯穿整个仓库。在 Path A 中nf-core/rnaseq 的star_salmon输出目录已自带deseq2_qc/含 PCA 与样本距离图可作为运行你自己的对比之前的首轮 sanity check见 upstream-nfcore.mdPCA/热图成图则可交给仓库的scientific-visualization/matplotlib技能产出出版物级图形。2.5 DE 之后的最后诊断p-value 直方图行为良好的检验应给出近似均匀的直方图并在接近 0 处出现尖峰真正的阳性信号。若尖峰出现在接近 1 处或整体呈 U 形说明出了问题设计公式设定错误、未建模的批次或过滤问题。此时应当修正设计而不是轻信这张基因列表。三、快速门控检查清单可直接抄用原参考文档将全部要点收敛为一份清单建议在每条流水线交付前逐项勾选[ ] 3 biological replicates per group [ ] batch recorded and NOT confounded with condition [ ] raw FastQC reviewed; adapters trimmed [ ] mapping/assignment rate acceptable; strandedness verified [ ] PCA sample-distance heatmap inspected; outliers/swaps resolved [ ] design formula full-rank, adjustment vars before variable of interest [ ] p-value histogram sane after DE [ ] versions pinned (pipeline -r, tools, genomeannotation release)最后一项版本固定需要特别强调固定流水线修订号-r、工具版本、参考基因组与注释annotation的发布版本并记录进 methods 部分。本仓库 Path A 的实践是显式钉住nf-core/rnaseq -r 3.26.0或自备--fasta/--gtf比 iGenomes 键更可复现见 upstream-nfcore.mdPath B 则通过 conda 环境钉住工具版本如star2.7.11b、salmon1.10.3见 SKILL.md Setup。四、从检查单到自动化门控本仓库工程化落地design-and-qc 文档给出的规则在本仓库中并非只是纸面建议而是被代码和流水线固化的工程实践设计校验前置化把第 1、2、6 条检查项交给 validate_samplesheet.py 自动执行。它不仅校验 samplesheet 格式缺失/重复 FASTQ、paired/single-end 混用、非法 strandedness 值还会在提供 metadata 时自动检查每组重复数是否 ≥2/≥3并检测 batch 与 condition 的完全混杂。脚本以退出码 0/1 区分通过可含警告与失败可以无缝接入 CI 或流水线前置钩子在烧算力之前把最贵的错误挡在门外。QC 门控贯穿两条上游路径无论走 Path Anf-core/rnaseq自动产出 MultiQC 与 deseq2_qc PCA还是 Path B独立工具逐步操作人工核对 upstream-manual.md最终都收敛到同一个基因水平 counts 矩阵之后 QC 的检查口径完全一致——这正是可辩护流水线的设计哲学两条路产出等价结果但 QC 与版本纪律不打折扣。与下游 DE/富集技能的无缝衔接QC 通过后的 countscounts.csv基因 × 样本、整数、绝不含 TPM/FPKM由 build_counts_matrix.py 生成Salmon 模式经 pytximport 的length_scaled_tpm聚合后取整STAR 模式按链特异性选列featureCounts 模式解析合并矩阵随后交给 pydeseq2 按其设计公式完成统计检验——把本文的设计公式与 QC 判断直接兑现为可运行的差异表达结果。小结把本参考文档的精神概括为一句话一份经得起审稿人和复现检验的 bulk RNA-seq 结果80% 取决于测序之前的重复设计与批次控制剩余 20% 取决于对每一道 QC 门控的认真执行与及时反应。错误地重复用技术重复、错误地混杂批次与条件对齐、错误地链特异性静默丢一半读段、错误地输入把 TPM 喂给 DESeq2——这四类错误的修复成本逐级升高而它们全部可以在设计阶段或运行早期被本仓库的工具链拦截。把本节的三道 QC 门与最终 p-value 直方图诊断当作正式交付物的一部分而不是可有可无的附注你的下游差异表达与通路富集分析才有坚实的立足点。更完整的工具级配方STAR/Salmon/featureCounts 命令、nf-core 参数与输出、counts 矩阵构建细节可继续阅读 upstream-manual.md、upstream-nfcore.md 与 counts-and-handoff.md。【免费下载链接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.项目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考