ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

InferCNV核心原理揭秘:run()管线20+步骤全解析,从基因过滤到染色体平滑

InferCNV核心原理揭秘:run()管线20+步骤全解析,从基因过滤到染色体平滑 InferCNV核心原理揭秘run()管线20步骤全解析从基因过滤到染色体平滑【免费下载链接】infercnvInferring CNV from Single-Cell RNA-Seq项目地址: https://gitcode.com/gh_mirrors/in/infercnvInferCNV是一款基于 R 语言开发的单细胞 RNA 测序scRNA-seq拷贝数变异CNV推断工具。它能从单细胞表达数据中识别肿瘤细胞的染色体增益与缺失帮助研究者区分肿瘤细胞与正常细胞。核心入口就是 CreateInfercnvObject() 和 run() 两个函数——而run()内部隐藏着 22 个环环相扣的处理步骤本文带你逐一拆解看懂 InferCNV 从原始表达矩阵到 CNV 热图图的完整数据流。 为什么单细胞 RNA-seq 能推断拷贝数肿瘤细胞的染色体发生扩增或缺失时其上的基因表达水平会整体升高或降低。InferCNV 的思路很巧妙用正常细胞的平均表达作为基线每个细胞沿染色体按位置滑动窗口平滑让邻近基因的信号相互补充减去基线后偏离 0 的区域即为候选 CNV 区域再用隐马尔可夫模型HMM 贝叶斯网络自动判定 CNV 状态0/1/2/3/4 拷贝。️ run() 管线全景图22 个步骤速览run()函数定义在 run() 主流程通过up_to_step参数可指定只跑到第 N 步。以下是源码中真实的 22 个步骤按日志输出顺序阶段步骤号日志名称数据准备01incoming data接收输入数据基因过滤02Removing lowly expressed genes归一化03normalization by sequencing depth变换04log transformation of data可选缩放05scaling all expression data参考细胞分组06splitting reference data into clusters亚聚类07computing tumor subclusters减参考08removing average of reference data (before smoothing)阈值09apply max centered expression threshold平滑10Smoothing data per cell by chromosome再中心化11re-centering data across chromosome after smoothing减参考12removing average of reference data (after smoothing)端部修剪13removing genes at chr ends逆变换14invert log2(FC) to FC亚聚类15computing tumor subclusters聚类/去异常值16Clustering samples / Removing outliersHMM17HMM-based CNV prediction贝叶斯网络18Run Bayesian Network Model on HMM predicted CNVs概率过滤19Filter HMM predicted CNVs based on BayesMaxPNormal状态转值20Converting HMM-based CNV states to repr expr vals差异基因掩码21Identify and mask non-DE genes去噪22Denoising 第一阶段基因过滤与数据准备Step 01-05这一步的目标是把信噪比做高。Step 02 基因过滤由cutoff和min_cells_per_gene两个参数控制。表达低于 cutoff 的基因、以及表达该基因的细胞数少于min_cells_per_gene默认 3的基因会被丢弃——低表达基因贡献的几乎全是噪声Step 03 测序深度归一化使用所有细胞测序深度的中位数作为归一化因子消除文库大小差异Step 04 对数变换对数据做 log2 变换让后续的减法在生物学上等价于倍数变化fold changeStep 05 可选缩放scale_dataTRUE时对整个矩阵做 z-score 标准化。 提示cutoff是新手最常调的旋钮。默认值 1 适合大多数数据表达量偏低的数据可以适当降低但设太低会让热图被噪声淹没。 第二阶段参考减法 染色体平滑Step 06-14这是 InferCNV最核心的灵魂也就是标题里说的从基因过滤到染色体平滑。Step 06/07 细胞分组如果cluster_by_groupsTRUE参考细胞按注释分组处理num_ref_groups还能对参考细胞自动聚类。肿瘤细胞则通过 Leiden 社区发现或随机树切割做亚聚类亚聚类实现Step 08 第一次减参考平滑前先减去参考细胞平均表达得到每个基因相对基线的偏差Step 09 中心化阈值max_centered_threshold会截断过大的中心值防止个别异常基因带偏整条染色体Step 10 滑动窗口平滑关键步骤每个细胞沿基因组方向用window_length默认 101 个基因的窗口做平滑。三种方式可选pyramidinal金字塔加权、runmeans移动平均、coordinates按物理坐标。平滑让单个基因的 dropout 缺失被邻近基因补齐是 CNV 信号得以浮现的关键Step 11-12 平滑后再中心化、再减参考两次减参考的差值即为最终 CNV 信号这一步可以校正平滑引入的偏差Step 14 逆变换把 log2(FC) 还原为 FC方便后续 HMM 建模。⚠️ 注意smooth_methodcoordinates与默认 HMM 类型i6不兼容源码会直接报错新手建议保持默认pyramidinal。 第三阶段HMM 与贝叶斯网络自动判 CNVStep 15-20当HMMTRUE时InferCNV 从画热图升级为自动给每个基因位点标注拷贝数Step 17 HMM 预测默认使用i6模型——先用平均-方差模拟sim_methodmeanvar模拟实现为每个拷贝数状态生成表达分布再用隐马尔可夫模型沿染色体做最优路径推断把连续表达值离散为 0/1/2/3/4 拷贝状态Step 18 贝叶斯网络贝叶斯网络实现对 HMM 结果做后验校正结合基因位置先验着丝粒、端粒附近更可能有缺失计算每个位点属于正常拷贝数的概率Step 19 概率过滤BayesMaxPNormal0.5表示只有正常概率 50%的位点才被判为 CNV这是控制假阳率的总闸门Step 20 状态转表达值把离散的 HMM 状态映射回代表性表达值用于最终热图着色。此外 Step 16 的prune_outliers会把超出所有细胞平均边界的离群值裁剪到边界内让热图更干净。 第四阶段去噪与实验性增强Step 21-22Step 21 非差异基因掩码mask_nonDE_genesTRUE时用 Wilcoxon 检验找出肿瘤/正常无显著差异的基因将其置为全数据集均值进一步压低背景噪声Step 22 去噪去噪实现denoiseTRUE时启动noise_filter设定一个 z 分数阈值低于该阈值的基因直接置零noise_logisticFALSE时为完全消除最终热图上只留下清晰可辨的 CNV 条带。⚙️ 实战小贴士让 run() 更好用调用示例可参考 官方示例脚本几个新手最受益的参数up_to_stepN调试时只跑到第 N 步。比如只想看平滑效果跑up_to_step14即可几分钟出结果resume_modeTRUE默认开启每步结果都会存成.rds文件中断或改参数后重跑会自动从已完成的步骤续跑大内存场景下极其省时no_plotTRUE纯计算场景关掉画图速度显著提升num_threads并行步骤的线程数默认 4多核机器可调大cluster_by_groupsFALSEanalysis_modesamples没有明确参考分组时让 InferCNV 自动把最像参考的细胞当作参考实现半监督运行参考 run.use_zscores.R。想深入理解每一步的输入输出建议配合 示例教程 和 测试用例 一起读小样本数据几分钟就能跑通全流程。 总结InferCNV 的run()管线是一条设计精妙的流水线低表达基因过滤 → 测序深度归一化 → log2 变换 → 参考细胞减法 → 滑动窗口染色体平滑 → HMM 贝叶斯网络自动判定 CNV → 去噪输出。22 个步骤中Step 08-12减参考与平滑决定了信号质量Step 17-19HMM 与概率过滤决定了自动判定的准确度。理解了这条数据流你就能针对性地调参把噪声压到最低、把真正的拷贝数变异看得清清楚楚。【免费下载链接】infercnvInferring CNV from Single-Cell RNA-Seq项目地址: https://gitcode.com/gh_mirrors/in/infercnv创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表