作者,Evil Genius
inferCNV示例教程:https://github.com/broadinstitute/inferCNV/wiki
copyCAT示例教程:https://github.com/navinlabcode/copykat,文章在Delineating copy number and clonal substructure in human tumors from single-cell transcriptomes(nature biotechnology)
infercnvpy教程:https://infercnvpy.readthedocs.io/en/latest/
之前总结过一次,文章在10X单细胞个性化分析之CNV篇
基础分析过程大家自己跑就可以了,我们这里要总结分析中的注意事项。详细的内容我们课上详细讲解。
首先是inferCNV,inferCNV算法的详细步骤涉及以下内容:
- 过滤基因:从计数矩阵中删除那些表达少于“每基因最小细胞”的基因。用于测序深度的归一化(总和归一化):每个细胞的reads数被缩放到总和到细胞间总reads数的中位数。值不是每百万计数(cpm)这样的度量,而是每中位数和的计数。
- 对数变换:将单个矩阵值(x)变换为log(x 1)
- center by normal gene expression:从所有细胞中减去对应基因的平均值。由于此减法是在对数空间中执行的因此有效地导致相对于正常细胞的平均值的log-fold-change values。
- log-fold-change values的阈值动态范围。abs(log(x 1))超过'max_centered threshold'(默认值=3)的任何值都被限制在该值上。
- chromosome-level smoothing:对于每个细胞,沿着每条染色体排列的基因的表达强度使用加权运行平均平滑化。默认情况下,这是一个包含101个基因的金字塔加权方案的窗口。
- 中心细胞:假设大多数基因不在CNV区域,每个细胞都处于中心状态,其中位表达强度为零。
- 相对于正常细胞的调整:正常值的平均值再次从肿瘤细胞中减去。这进一步补偿了平滑过程后累积的差异。
- the log transformation is reverted。这使得放大或删除的证据围绕均值更加对称。(注意, with loss or gain of one copy,相应的值0.5和1.5在对数空间中是不对称的。相反,0.5和2在对数空间中是对称的。因此,invert the log transformation以更好地反映gain和loss的对称性)。
inferCNV的HMM模型:
- i3 HMM:表示缺失、normal和扩增状态的三态CNV模型。
- i6 HMM
- state 1 : 0x = complete loss
- state 2 : 0.5x = loss of one copy
- state 3 : 1x = neutral
- state 4 : 1.5x = addition of one copy
- state 5 : 2x = addition of two copies
- state 6 : 3x = essentially a placeholder for >2x copies but modeled as 3x.
结果示例
代码语言:javascript复制cell_group_name cnv_name state chr start end
malignant_MGH36.malignant_MGH36_s1 chr1-region_2 2 chr1 3696784 144612683
malignant_MGH36.malignant_MGH36_s1 chr1-region_4 4 chr1 151336778 156213123
malignant_MGH36.malignant_MGH36_s1 chr3-region_7 4 chr3 3168600 10285427
malignant_MGH36.malignant_MGH36_s1 chr3-region_9 4 chr3 45429998 49460186
malignant_MGH36.malignant_MGH36_s1 chr4-region_11 2 chr4 53179 187134610
malignant_MGH36.malignant_MGH36_s1 chr5-region_13 4 chr5 134181370 177037348
肿瘤异质性分析(层次聚类)
默认情况下,推断CNV在整个样本水平上运行,例如从单个患者中提取的某种细胞类型的所有细胞。这是推断CNV的最快方法,但往往不是最优方法,因为给定的肿瘤样本可能有具有不同CNV模式的亚群。 通过设置infercnv::run(analysis mode='subclusters"),infercnv将尝试将细胞分成具有一致的CNV模式的组。CNV预测(通过HMM)然后将在子聚类而不是整个样本的水平上执行。
其中还有CNV进化树的内容
copyCAT部分
改进部分:检测染色体断点,inferCNV等方法是为分析来自第一代单细胞转录组技术数据而设计的,第一代单细胞转录组技术具有较高的测序深度。但是,这些方法并不适用于新开发的高通量单细胞转录组技术平台的数据分析(如10X Genomics),因为高通量单细胞转录组技术仅对mRNA的3 '或5 '端进行较低深度的测序。
改进部分:自动识别normal细胞
CopyKAT算法概述
在统计学上,CopyKAT将贝叶斯方法与层次聚类相结合,计算单个细胞的基因组拷贝数分布,并从高通量单细胞转录组数据中定义克隆子结构。
首先,单细胞转录组数据的Unique Molecular Identifier(UMI)的基因表达矩阵作为CopyKAT的输入,通过它们的基因组坐标对它们进行排序,并对基因的排列进行注释。之后,用Freeman-Tukey变换来稳定方差,然后采用多项式动态线性建模矫正单细胞UMI计数矩阵中的异常值。
下一步是建立一个高可信度的正常二倍体细胞子集,用来推测正常二倍体细胞的拷贝数基线值。为此,研究人员将所有单细胞集中到几个小的亚群分类中,并使用高斯混合模型估算每个分类的方差。通过严格的分类标准,具有最小估计方差的聚类被定义为“标准的二倍体细胞”。
为了检测染色体断点,他们整合泊松-伽玛模型和马尔可夫链蒙特卡罗迭代生成每个基因窗口的后验均值,然后应用Kolmogorov-Smirnov检验对均值无显著差异的相邻窗口进行合并,然后计算每个窗口的最终拷贝数值,以此作为跨越每个细胞中相邻染色体断点的所有基因的后验平均值。
然后对单细胞拷贝数数据进行分层聚类,以确定非整倍体肿瘤细胞和二倍体基质细胞之间的最大距离。最后,根据聚类信息识别克隆亚群,并计算代表亚克隆基因型的共表达谱,进一步分析其基因表达的差异。
方法局限性
并非所有癌症类型都具有可用于区分正常细胞和肿瘤细胞的非整倍体拷贝数事件。