InferCNV 是一个专门设计用于鉴定肿瘤样本中拷贝数变异(Copy Number Variations, CNVs)的R包,特别是在单细胞RNA测序(scRNA-seq)数据分析领域。它通过比较肿瘤细胞与正常细胞(或参照细胞)的基因表达水平,推断出肿瘤细胞中的染色体拷贝数变化,如扩增或缺失,进而帮助识别恶性细胞的特征。
什么是拷贝数变异
拷贝数变异 (copy number variation,CNV)指的是基因组DNA的变异导致细胞 DNA 拷贝数异常的情况,是基因组结构变异(SV)的重要组成部分,已被确定为肿瘤及发育异常的原因。图1展示了正常细胞(WT)拷贝数变异的情况:正常细胞原本有2份 DNA 拷贝(CN=2),但是在肿瘤细胞中,由于错误的删除/扩增导致 DNA 拷贝数不再是2(CN=0/1/3/4),这种情况就被称作基因CNV。
原理
- 相对表达分析:InferCNV 通过计算肿瘤细胞中基因的表达量与一个或多个参考正常细胞或细胞群体的平均表达量的比率,来推断拷贝数状态。这种方法基于肿瘤细胞中基因表达与其基因拷贝数直接相关的假设。
- 滑窗策略:为了提高准确性,InferCNV 使用滑动窗口方法,对基因组上的相邻基因进行分组,计算每个窗口内的相对表达均值,从而减少噪声影响,更好地捕捉大片段的拷贝数变化。
- 贝叶斯统计模型:该包采用贝叶斯统计框架,通过JAGS(Just Another Gibbs Sampler)进行马尔科夫链蒙特卡洛(MCMC)模拟,以推断出每个细胞的拷贝数状态。这允许对不确定性进行量化,并提供拷贝数改变的概率分布。
细胞纯度校正:考虑到肿瘤样本中通常含有不同比例的正常细胞(即污染),InferCNV 还能够估计肿瘤细胞的纯度,即恶性细胞的比例,这对于准确推断拷贝数变异至关重要。
文献中使用实例
- Single cell RNA-seq reveals the CCL5/SDC1 receptor-ligand interaction between T cells and tumor cells in pancreatic cancer
作者把导管细胞分为8群(图A),再使用infercnv计算这8群细胞相对于T细胞、巨噬细胞和内皮细胞(无CNV事件的对照)的拷贝数变异情况聚类热图(图C),并绘制了8个群的CNV分数(图C)。综合以上结果,作者判断2、3、5和6为恶性导管细胞。
- ScRNA-seq revealed an immunosuppression state and tumor microenvironment heterogeneity related to lymph node metastasis in prostate cancer
作者把管腔细胞分为7个亚群,1和5,以及3和7的所有细胞被聚集在一起,其CNAs程度远高于其他聚类,因此被认为是恶性细胞。此外,值得注意的是,管腔亚群1和5仅出现在转移性病变中,暗示这两大亚群中可能包含了具有转移潜能的恶性细胞。
- Constructing heterogeneous single-cell landscape and identifying microenvironment molecular characteristics of primary and lymphatic metastatic head and neck squamous cell carcinoma
作者把上皮细胞分为7个亚群,3、4、7的CNV事件较少被视为正常上皮细胞,其他亚群都为恶性细胞。在总共1097个上皮细胞中,作者鉴别出了1038个癌细胞,表明在HNSCC中,高达94%的上皮细胞可能转化为癌细胞。
剩余50%内容见公粽号
Reference
https://github.com/broadinstitute/inferCNV/wiki/Running-InferCNV
https://rdrr.io/github/broadinstitute/inferCNV/man/run.html
https://zhuanlan.zhihu.com/p/687041660
https://zhuanlan.zhihu.com/p/625589597
https://cloud.tencent.com/developer/article/1737241
https://mp.weixin.qq.com/s/mKeUQ8e8uqPPocQYQ74dcA
https://www.jianshu.com/p/38280bda882a
https://www.sohu.com/a/657743820_121123706
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。