CNV深度校正分段与拷贝数估计 - SpiralKernel/bioinfo-wiki-migrated GitHub Wiki
CNV深度校正分段与拷贝数估计
更新:2026-10-26;状态:可用;验证范围:2026-10-26官方/原始来源核对;标准库教学演示实际执行;专业验证范围见正文。
先说明从深度能知道多少
CNV关注拷贝剂量,read depth提供相对信号,但不是整数CN的直接读数。学完应能从bin深度算log2比值、解释分段目标及纯度影响,并分清区域剂量与精确断点。前置读测序深度覆盖度与质量分数、结构变异CNV与PAV、拷贝数基线非整倍体与LOH。
从可比窗口生成信号
将可分析区域分成bin或捕获靶区,得到样本覆盖$d_i$;匹配正常参考或模型基线$b_i$后,产生相对比值。简单示意为 $r_i=\log_2[(d_i/s)/b_i]$,$s$为样本尺度。真实工作还要处理GC、可比对性、异常区域、重复和测量权重;对极低/零覆盖不能机械取log再当高置信缺失。CNVkit流程将覆盖、参考、校正与分段分开。
WGS、捕获与扩增子可分析区域和偏差不同,不能复用同一baseline。性染色体、区域倍性、非整倍体和正常对照质量都会改变中性水平。匹配参考是一个估计任务,不是随便选一个样本深度作分母。
手算纯净样本与混合样本
基线深度100,六个bin深度100、100、50、50、150、150,log2比值为0、0、−1、−1、约0.585、0.585。在纯二倍体、正确尺度和理想测量下,$CN=2\times2^r$,对应2、2、1、1、3、3。CNVkit拷贝数说明明确这种换算依赖纯度与倍性。
若一半细胞CN=1、一半正常CN=2,混合平均为1.5份,相对二倍体比值0.75,log2≈−0.415,而非−1。更一般的简化关系为 $R=[\rho C+(1-\rho)2]/2$,$\rho$为异常细胞比例、$C$为其CN;它未包含整体倍性、亚克隆和归一化复杂性,不能凭一个log2值同时精确反推所有量。
分段是有代价的合并
噪声bin需要组织成区域,可用概念目标
$$ \min_{segments}\sum_s\sum_{i\in s}w_i(r_i-\theta_s)^2+\lambda M. $$
$\theta_s$是第$s$段的信号水平,$w_i$是可靠性权重,$M$为段数,$\lambda$惩罚过多分段。它是分段思想的示意,不声称CNVkit的所有算法正好优化此式。先形成候选边界、评估相邻信号差,再按误差与复杂度合并/拆分,最后赋予剂量解释。$\lambda$过大可漏短事件,过小可把噪声切成很多段;bin更小也会降低每窗计数与稳定性。
输入输出与检查
输入应有相同参考的排序索引BAM、样本/对照、目标/可访问区域及倍性设计。输出保留bin信号、校正值、分段边界、CN/质量、基线和可调用区间。深度不能独立确认平衡倒位、精确连接或拷贝中性LOH;可结合等位平衡、分裂reads、组装和其他证据。
| 症状 | 可能原因 | 先查 |
|---|---|---|
| 高GC区域周期性波动 | 覆盖偏差 | GC/可比对性与残差 |
| 分段很多且很短 | 噪声或过度切分 | bin计数、权重与参数敏感性 |
| 整体水平漂移 | 基线/纯度/倍性错误 | 正常参考和染色体分布 |
| CN=1被标整基因不存在 | 剂量与PAV混淆 | 单位、另一拷贝和基因覆盖范围 |
自测与答案
- log2=-0.415是否一定CN=1.5?答:只是相对混合信号,整数状态与纯度需模型。
- 深度零能否直接CN=0?答:还可能不可比对或没测到,应保留未知。
- 分段边界就是断点吗?答:受bin和方法分辨率限制,需连接证据定位。
在电脑上核对这一小步
先下载项目ZIP并解压,进入同时含README.md和examples的项目根目录。不熟悉终端和当前目录时读R与Python路径文件与项目组织。以下在系统终端执行,需Python 3.10+,只用标准库,无需pip安装;Windows可将python3替换为已安装的python或py。
python3 examples/methods_omics_demo.py --case cnv
输入是脚本内置人工数字,不需下载专业数据。成功会打印JSON,并生成examples/output/methods-omics/cnv/summary.json;cases.cnv下的字段对应本页演算。非空输出目录会拒绝覆盖,第二次练习可在命令后加--output examples/output/methods-omics/cnv-practice2。不要为了重跑删除不明来源的数据。
**检查点:**log2_ratios为[0,0,-1,-1,约0.584963,约0.584963],ideal_CN=[2,2,1,1,3,3];混合CN1信号约-0.415037。
阅读源码时先找到同名函数,逐一对照输入、运算与输出;要修改数字,先复制整个解压项目并运行副本,再手算新的预期。脚本含若干固定结果断言,修改教学条件时也需重新核对相应断言;断言失败不自动说明专业方法失效。本轮已实际运行全部22个标准库模式,Python 3.14.8;本页范围为已知基线与纯度换算;未执行GC校正、分段拟合或真实绝对CN推断。演示没有为真实样本产生专业P值或性能结论。
来源与下一步
本轮查阅日期为2026-10-26;正文原始来源支持对应技术事实,手算与代码是本项目人工教学设计。方法页解释模型,安装及大数据运行交给相应工具/工作流页。教学组织参考GTN的步骤与检查点、Bioinformatics Workbook的问题驱动练习;未复制其教程正文。
保留的相关入口:CNV检测与结果提取、CNVkit流程、CNVkit拷贝数解释。
学习顺序、前置与练习清单见方法与算法系统学习指南。
公式里的矩阵、下标或对数不熟时,可回查读懂方法公式的最小数学基础。