交响曲-24-3-单细胞CNV分析及聚类

ops/2025/1/12 14:02:01/

CNV概述

 小于1kb是常见的插入、移位、缺失等的变异

人体内包含<10% 的正常CNV,我们的染色体数是两倍体,正常情况下,只有一条染色体表达,另一条沉默,当表达的那条染色体发生CNV之后,表达数量就会成倍增加,如果是人体内正常的CNV,人体会自动调节使其恢复至正常水平,但是体细胞CNV变异会导致肿瘤的发生,这就是单细胞分析的基础,CNV表达数量的增多,导致基因表达数量成倍增加或成倍缺失。

CNV变异种类

CNV的临床应用

1. 产前诊断

2. 靶向用药

3. 肿瘤早筛

单细胞检测CNV

对1的解释:🥑低质量和双细胞对CNV的影响非常大,因为CNV是基于基因表达水平的变化,一旦存在双细胞或者低质量的细胞,就会对CNV的判断产生非常大的干扰。

🍑发生肿瘤细胞一般是上皮细胞,免疫细胞几乎不发生癌变,但是也有B淋巴细胞发生癌变的现象,成纤维细胞一般也不会发生癌变

🍐对2的解释:reference就是基线的参考,单细胞判断是否发生CNV是源于其基因的表达量多少,在跑inferCNV的时候,如果不指定参考,就把样本的表达值平均做参考🚦这样做误差会非常大,正常的做法是:上皮细胞发生癌变,我们选择正常的上皮细胞做reference,以此判断癌变的上皮细胞发生了哪些CNV事件。但困难是我们判断不出正常的及癌变的上皮细胞,因为单细胞已经失去了空间信息。备选项:选用免疫细胞/成纤维作为reference,如果只选择免疫细胞作为参考来判断上皮细胞是否发生癌变,但是不准确,因为两类细胞本身就不一样,会产生假阳性。最好的方法:采用多种细胞(上皮、内皮、成纤维)求平均值的原则。

☕第三:并不是说ref表达100,数据表达120就是高了,CNV是大片段的缺失,而不是单个基因,若窗口大小=50,那么一个基因的位置表达情况是由它上游50个基因,下游50个基因以及其自身的共同平均表达情况决定,这个数据再与ref进行比较。

Reference的选择

文献应用

 🌺上面图片讲解:图片上半部分颜色很浅,是对应的ref(E8)红框圈出来的部分。如果指定的好的话,是不会有CNV事件的出现,如果指定不合适,就会和下面一样有CNV事件的出现。下面的图,黄框的部分,证明是正常的细胞类型,绿框部分是说明这种细胞类型可能含有CNV,但也有一部分不含有CNV,绿框分上下两部分,上面明显的CNV,下面没有,这是因为,某些上皮细胞在癌变的过程中会有过渡态,通过CNV判断过渡态的时候,就会出现这种情况,在单细胞中说明这类细胞是过渡态,在空间中,这类细胞一部分在肿瘤内,一部分在正常区域,这就是值得关注的细胞类型💃

 算法原理

上述的7,8条是在矫正噪音

三种CNV信号识别原则

1. 硬阈值策略(公司常用)

2.动态阈值推荐使用

3.软阈值,文章中不常用

HMMs预测模型

有i3和i6两种模型,i6是公司常用的模型,这种比i3好一些,划分更细

文献运用

 

cnv事件是逐步积累的事件,一开始是小的CNV,慢慢积累之后,CNV事件越来越严重,就会产生轨迹上的推动,拥有CNV事件越多,说明这个CNV发生的越早,先有了这个CNV事件,后面才有其他的CNV事件,先有的这个细胞数量会最多,后面的细胞数量会减少,但是细胞恶性程度会变高。在进行CNV识别聚类之后,为了识别CNV的进化方向,可以使用UPhyloplot2,这个软件的上限是只能识别8个分支

轨迹分析的文献应用(下游分析)

copyKAT这个软件有个缺点就是,它在识别正常细胞的时候容易发生误判,用的不多。肿瘤细胞克隆亚型分析:CNV聚类:恶性程度高的聚成一类,中性的聚成一类,低的聚成一类。

问题:

如果是单肿瘤样本,就没有ref可以指定?分析不了CNV吗?

如果里面有正常细胞,就指定正常细胞作为ref,如果没有正常细胞,就指定其他样本的正常细胞作为ref

CNV分析中,一般都是多样本联合分析

代码

inferCNV非常耗资源,跑这个的时候不要把单细胞的样本都放进来,把怀疑是肿瘤细胞的放进来,免疫细胞不要放


http://www.ppmy.cn/ops/149470.html

相关文章

【UE5 C++课程系列笔记】27——多线程基础——ControlFlow插件的基本使用

目录 步骤 一、搭建基本同步框架 二、添加委托 三、添加蓝图互动框架 四、修改为异步框架 完整代码 通过一个游戏初始化流程的示例来介绍“ControlFlows”的基本使用。 步骤 一、搭建基本同步框架 1. 勾选“ControlFlows”插件 2. 新建一个空白C类&#xff0c;这里…

<C++学习>C++ Boost 与 std 的对比

Boost 与 std 的对比 Boost 和 std(C++ 标准库)是 C++ 开发中两个重要的工具集,它们在设计理念、功能范围和使用方式上存在一些差异。以下是详细的比较和分析: 1. 定义与背景 Boost 来源:Boost 是一个开源的 C++ 库集合,由志愿者开发,首次发布于 1998 年。目标:提供高…

JavaScript系列(20)-- Generator应用详解

JavaScript Generator应用详解 &#x1f31f; 今天&#xff0c;让我们深入探讨JavaScript中Generator的应用。Generator是ES6引入的强大特性&#xff0c;它为异步编程和迭代提供了优雅的解决方案。 Generator基础回顾 &#x1f3af; &#x1f4a1; 小知识&#xff1a;Generat…

JavaEE之定时器及自我实现

在生活当中&#xff0c;有很多事情&#xff0c;我们不是立马就去做&#xff0c;而是在规定了时间之后&#xff0c;在到该时间时&#xff0c;再去执行&#xff0c;比如&#xff1a;闹钟、定时关机等等&#xff0c;在程序的世界中&#xff0c;有些代码也不是立刻执行&#xff0c;…

Linux文件系统的安全保障---Overlayroot!

overlayroot 是一种使用 OverlayFS 实现的功能&#xff0c;可将根文件系统挂载为只读&#xff0c;并通过一个临时的写层实现对文件系统的修改。这种方法非常适合嵌入式设备或需要保持系统文件完整性和安全性的场景。下文以 RK3568 平台为例&#xff0c;介绍制作 overlayroot 的…

python学opencv|读取图像(三十一)缩放图像的三种方法

【1】引言 前序学习进程中&#xff0c;我们至少掌握了两种方法&#xff0c;可以实现对图像实现缩放。 第一种方法是调用cv2.resize()函数实现&#xff0c;相关学习链接为&#xff1a; python学opencv|读取图像&#xff08;三&#xff09;放大和缩小图像_python opencv 读取图…

Jaeger UI使用、采集应用API排除特定路径

Jaeger使用 注&#xff1a; Jaeger服务端版本为&#xff1a;jaegertracing/all-in-one-1.6.0 OpenTracing版本为&#xff1a;0.33.0&#xff0c;最后一个版本&#xff0c;停留在May 06, 2019。最好升级到OpenTelemetry。 Jaeger客户端版本为&#xff1a;jaeger-client-1.3.2。…

国产编辑器EverEdit - 扩展脚本:在当前文件目录下新建同类型文件

1 扩展脚本&#xff1a;在当前文件目录下新建同类型文件 1.1 应用场景 用户在进行编程语言学习时&#xff0c;比如&#xff1a;Python&#xff0c;经常做完一个小练习后&#xff0c;又需要新建一个文件&#xff0c;在新建文件的时候&#xff0c;不但要选择文件类型&#xff0c…