infercnv 三回首:深入理解infercnv为何能发nature

大家好,不知你是否还记得,前两次关于infercnv的介绍。请看这里:

肿瘤单细胞转录组拷贝数分析结果解读和应用

单细胞拷贝数变异 infercnv再回首


如果下载了示例数据,并且你已经跑了上述代码,不难得到这张图:

图片

高考作文问你对这张图的理解

01

图片


关于我对infercnv的理解:其实结果是哪种图真的不重要,重点是对图形的解读。比如本文中出现的第一张图,里面有个绿色圈圈,可以看到柱子里深灰和浅灰部分(就是我标注的A 和B部分)的突变图景肉眼几乎不可分辨,但是却被分属于两群不同的细胞群。

图片

这就说明:通过肉眼观察,从A和B的突变图景上来看,A和B的突变图景是一致的,那么我们就可以把A亚群细胞与B亚群细胞合并,把他们当作恶性细胞。

但是 柱子里所有的深灰和浅灰  所对应的组别别是seurat分群里面的2群和4群

图片

这就提示我们本文中的seurat分群结果并不一定能把恶性细胞单纯分出来
(也许我们在seurat里可以把所有分辨率都试一下,理论上应该可以分出恶性细胞)。所以我们要对seurat的分群结果进行重新命名,2群和4群中我画出来的A和B是恶性细胞,但是2群和4群中剩下的其他部分细胞不是。


其实,你仔细去看这张图的话,最左边还有一根柱子,这个柱子不同的颜色对应着infercnv突变图景的聚类结果。你会发现最左边的柱子上存在A1 和B1部分(用红字标出来的部分)正好对应着A1和B1部分的细胞。这里的A1 和B1的聚类结果就是我们想要定义的恶性细胞。我们可以通过代码获取A1和B1部分细胞id(这是一个思考题,如何获取细胞id见文末),进而命名为恶性细胞。

图片


就本数据集而言,通过这样的分析,大家能明白为啥我们要做cnvscore了吗:因为单纯通过seruat分群,只能找出2群和4群为恶性细胞。但实际上只有2群和4群中的A部分和B部分为恶性细胞。    所以说infercnv备受CNS青睐,是因为它精准的预测恶性细胞的能力,而这种能力是普通的降维聚类分群所达不到的(感兴趣的同学可以在seurat中把分辨率调大一点再试试)。

致敬!

Anoop P. Patel, Itay Tirosh, et al. Single-cell RNA-seq highlights intratumoral heterogeneity in primary glioblastoma. Science. 2014 Jun 20: 1396-1401

Tirosh I et al. Dissecting the multicellular ecosystem of metastatic melanoma by single-cell RNA-seq. Science. 2016 Apr 8;352(6282):189-96

Tirosh I et al. Single-cell RNA-seq supports a developmental hierarchy in human oligodendroglioma. Nature. 2016 Nov 10;539(7628):309-313. PubMed PMID: 27806376; PubMed Central PMCID: PMC5465819.

Venteicher AS, Tirosh I, et al. Decoupling genetics, lineages, and microenvironment in IDH-mutant gliomas by single-cell RNA-seq. Science. 2017 Mar 31;355(6332).PubMed PMID: 28360267; PubMed Central PMCID: PMC5519096.

Puram SV, Tirosh I, et al. Single-Cell Transcriptomic Analysis of Primary and Metastatic Tumor Ecosystems in Head and Neck Cancer. Cell. 2017 Dec 14;171(7):1611-1624.e24. PubMed PMID: 29198524; PubMed Central PMCID: PMC5878932.


02

图片

ok,我这里只是稍带了一下infercnv的厉害之处,下面我们进入第二个问题,你知道为什么为什么有的文章会使用另外一种图吗?:

图片


大家可以看到最左边的柱子,本文第一个图是多色的,而这个只有靛青色。你知道这分别代表什么意思吗?欢迎来稿,说出你的见解,下期见分晓~。

2.5

图片

有的时候还会出现下面这种图,看着就很诡异:

图片

但是真不用害怕,这些图都是正常的,这是由于参数的原因!你要学会找到你到底需要哪一张图。

出现各种奇怪的图,基本就两个原因:1.参数原因(cluster_by_groups和leiden_resolution参数特别重要)  2.细胞数量原因 。详情见官方链接https://www.youtube.com/watch?v=-qOcHAavZT8


03

图片

下面列举七种不同参数出的不同结果

当然你可以在每个代码里面都加上 denoise=T参数 进行降噪处理


接下来就展示一下不同的代码参数,所获得的突变图景,稍有差别。

0

如果没有cluster_by_groups=T参数的话,图形丑且不能用。

  # cutoff=1 works well for Smart-seq2, and cutoff=0.1 works well for 10x Genomics  infercnv_obj2 = infercnv::run(infercnv_obj,                                cutoff=0.1, # cutoff=1 works well for Smart-seq2, and cutoff=0.1 works well for 10x Genomics                                out_dir= "infercnv_output_noclusterbygroup",  # dir is auto-created for storing outputs                               # cluster_by_groups=T ,   # cluster                                hclust_method="ward.D2", plot_steps=F)

图片

图片


后面都加上这个参数:

1

 # cutoff=1 works well for Smart-seq2, and cutoff=0.1 works well for 10x Genomics  infercnv_obj2 = infercnv::run(infercnv_obj,                                cutoff=0.1, # cutoff=1 works well for Smart-seq2, and cutoff=0.1 works well for 10x Genomics                                out_dir= "infercnv_output",  # dir is auto-created for storing outputs                                cluster_by_groups=T ,   # cluster                                hclust_method="ward.D2", plot_steps=F)  

图片

图片

2

 infercnv_obj2 = infercnv::run(infercnv_obj,                                cutoff=0.1, # cutoff=1 works well for Smart-seq2, and cutoff=0.1 works well for 10x Genomics                                out_dir= "infercnv_output2",  # dir is auto-created for storing outputs                                cluster_by_groups=T ,   # cluster                                leiden_resolution = 0.01,                                hclust_method="ward.D2", plot_steps=F)

infercnv_obj2 = infercnv::run(infercnv_obj,

                                cutoff=0.1, # cutoff=1 works well for Smart-seq2, and cutoff=0.1 works well for 10x Genomics                                out_dir= "infercnv_outputres0.6",  # dir is auto-created for storing outputs                                cluster_by_groups=T ,   # cluster                                leiden_resolution = 0.6,                                hclust_method="ward.D2", plot_steps=F)  

图片

4

​​​

  infercnv_obj2 = infercnv::run(infercnv_obj,                                cutoff=0.1, # cutoff=1 works well for Smart-seq2, and cutoff=0.1 works well for 10x Genomics                                out_dir= "infercnv_outputres0.01",  # dir is auto-created for storing outputs                                cluster_by_groups=T ,   # cluster                                leiden_resolution = 0.01,                                HMM = TRUE,                                 plot_steps=F)                                #subcluster

图片

图片

5

  infercnv_obj2 = infercnv::run(infercnv_obj,                                cutoff=0.1,  # use 1 for smart-seq, 0.1 for 10x-genomics                                out_dir="infercnv_output_mycodes",  # dir is auto-created for storing outputs                                analysis_mode="subclusters", # 更好方法,按照 cnv 亚群进行预测,而不是样本。能更好的区分肿瘤异质性。                                cluster_by_groups=T,  # 根据细胞类型对肿瘤细胞执行单独的聚类,如 cell annotations 文件中定义的那样                                denoise=T,  # 去噪处理                                num_threads=18, # 设置线程数, 多线程运行,加快计算速度                                HMM=T,                              #  hclust_method="ward.D2",                                 plot_steps=F                                )  

图片

图片

6

    infercnv_obj2 = infercnv::run(infercnv_obj,                                cutoff=0.1, # cutoff=1 works well for Smart-seq2, and cutoff=0.1 works well for 10x Genomics                                out_dir= "infercnv_outputres0.1",  # dir is auto-created for storing outputs                                cluster_by_groups=T ,   # cluster                                leiden_resolution = 0.1,                                #hclust_method="HMM",                               plot_steps=F)  

图片

图片

7

 infercnv_obj2 = infercnv::run(infercnv_obj,                                cutoff=0.1, # cutoff=1 works well for Smart-seq2, and cutoff=0.1 works well for 10x Genomics                                out_dir= "infercnv_outputres0.2",  # dir is auto-created for storing outputs                                cluster_by_groups=T ,   # cluster                                leiden_resolution = 0.2,                                HMM = TRUE, plot_steps=F)

图片

图片


04

图片

题外话:如果超过5k个细胞,不建议用r跑程序。如果超过1w个恶性细胞,普通电脑(我的OMEN游戏本)根本带不起来哈。2w个恶性细胞的话,普通服务器带不起来哈,得用高性能计算。当然你可以设置HMM=F,这样内存消耗会小很多,然后再试试。

如果使用python的话,应该会快很多,可能内存要求不那么高,我目前还没有试验~。哪天来个超大数据集,说不定会逼得我用python。

本文中的思考题,提示:如果想获取A1和B1部分细胞id,你可以检查以下圈出来的这两个文件,可以根据里面的行名获取A1和B1部分细胞id。欢迎来稿,使用详细代码写出如何获取这些恶性细胞的id。

图片

收录于合集 #月更—单细胞

 5个

上一篇infercnv官方全流程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/171070.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于Java GUI模拟银行自动取款机

一、课题描述 编写一个程序,模拟银行自动取款机的工作流程。主要功能如下所述: 当输入给定的卡号和密码(初始卡号为888888和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行: 查询余额:初始余额为50000元 ATM取款:每次…

【LeetCode】每日一题 2023_11_21 美化数组的最少删除数(贪心/模拟)

文章目录 刷题前唠嗑题目:美化数组的最少删除数题目描述代码与解题思路 结语 刷题前唠嗑 LeetCode? 启动!!! 原本今天早上要上体育课,没那么早刷每日一题的,本周是体测周,所以体育课取消了&am…

二百零七、Flume——Flume实时采集5分钟频率的Kafka数据直接写入ODS层表的HDFS文件路径下

一、目的 在离线数仓中,需要用Flume去采集Kafka中的数据,然后写入HDFS中。 由于每种数据类型的频率、数据大小、数据规模不同,因此每种数据的采集需要不同的Flume配置文件。玩了几天Flume,感觉Flume的使用难点就是配置文件 二、…

Lightsail VPS 实例在哪些方面胜过 EC2 实例?

文章作者:Libai 引言 Lightsail VPS 实例和 EC2 实例是云计算领域中两种受欢迎的技术。虽然两者都提供虚拟服务器解决方案,但了解 Lightsail VPS 实例在哪些方面胜过 EC2 实例非常重要。在本文中,我们将探讨这两种技术之间的关键区别&#x…

FastReport在线设计器新版2024.1,新增多元素填充,条码元素拖放~

2024.1 版本中对报表设计器进行了更新!我们特别关注内部架构产品的变化,并提高了报告的视觉易用性。我们还添加了新的对象填充和渐变。 FastReport Online Designer下载(qun:585577353)https://www.evget.com/product/…

【深度学习】python调用超分Real-ESRGAN

Real-ESRGAN是超分自然场景图和动漫图,视频也可以,项目地址:https://github.com/xinntao/Real-ESRGAN/tree/master 安装python包: basicsr>1.4.2 facexlib>0.2.5 gfpgan>1.3.5 numpy opencv-python Pillow torch>1.…

姿态估计 手势动作实时识别项目(基于mediapipe、keras进行实现)

姿态估计 手势动作实时识别项目(基于mediapipe、keras进行实现) 0、功能展示1、项目原理介绍2、数据集采集脚本3、将采集到的动作数据集利用mediapipe库检测手部关键点信息,转换成数据信息保存到本地4、训练一个效果一般的随机森林分类器5、使用Kreas训练一个效果好点的全连…

软件产品生命周期(SDLC)四个阶段

软件产品生命周期:指软件产品研发全部过程、活动和任务的结构框架。 产品的生命周期一般包括四个阶段:引入期、成长期、成熟期和衰退期,在不同的阶段中,市场对产品的反应不同,其销售特点不同,因而产品管理的…

【linux】安装telnet

1 安装telnet-server yum -y install telnet-server 安装telnet yum -y install telnet 启动telnet服务 service xinetd restart 报错了: Redirecting to /bin/systemctl restart xinetd.service Failed to restart xinetd.service: Unit not found. 正在重定…

Dirac‘s BRA and KET notation

from kets to bras expansions the operater matrix elements adjoint of a linear operator Hermitian and Uniraty Operators Hermitian operator defination:

最前端|低代码平台轻松设计可视化图表【内含网站资源】

在前端设计中,我们经常需要使用可视化图表来呈现数据和信息。然而,每次都要自己从头开始设计图表未免太过繁琐。为了解决这个问题,我们调研了low code平台上的可视化图表功能。 本篇文章为大家带来以下问题的解答: (1&…

基于SSM的课程辅助教学平台的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

MKRTOS MCU上的微内核操作系统

MKRTOS 全称是 Micro-Kernel Real-Time Operating System,中文名字是微内核实时操作系统。MKRTOS 是首款在开源的支持MCU的微内核操作系统。未来还将在MCU上支持虚拟化!!下载地址:https://gitee.com/IsYourGod/mkrtos-realMKRTOS被…

YOLOV5 人员检测项目【学习笔记(十一)】

这篇博客为修改过后的转载,因为没有转载链接,所以选了原创 文章目录 一、安装Pytorch 及 YOLO v51.1 安装GPU版 pytorch1.2 安装YOLO v5所需依赖 二、YOLO v5训练自定义数据2.1 标注数据2.1.1 安装labelImg2.1.2 标注 2.2 准备数据集2.2.1 组织目录结构…

全国各区县地区生产总值数据,含shp和xlsx格式!

​根据国家统计局公布的数据,全国各区县地区生产总值数据是衡量一个地区经济发展水平的重要指标。 今天我们来分享全国各区县地区生产总值数据~ 本文提供的数据是shpexcel格式的,已经经过清洗加工,目前为面的几何类型,时间版本为…

2024年最新FLStudio21破解版注册机百度网盘免费下载安装激活教程

高考完啦,你也迎来了人生中最长的暑假,现在你总不能以没时间为借口了,是时候学点属于自己的才艺了。还有3个月,你就会迎来开学迎新晚会这个校园中最受瞩目的活动。在这个特殊的时刻,如果你想以独特的方式展现自己&…

肉豆蔻酰六肽-16——让皮肤更加光滑、更加柔软

肉豆蔻酰六肽-16 一种合成的脂肪酸连接肽,已知可提高皮肤的弹性,明显镇静,并帮助皮肤看起来和感觉更光滑、更柔软。它是由肉豆蔻酸与六肽 16 结合而成。肉豆蔻酰六肽 16 被归类为蛋白质刺激肽,这意味着它可以帮助皮肤表面&#x…

Android AIDL中使用Surface问题

1.构建ITest.aidl文件 package com.xxx.xxxx;import android.view.Surface;interface IMonitorService {boolean addSurface(in Surface surface);boolean removeSurface(in Surface surface); } 2.构建时报错 3.Surface源码分析 android.view.Surface中包含两个Surface类&am…

【外汇天眼】投资之道:成功背后的频繁交易陷阱

成功的投资需要超越人性的短板,其中之一就是频繁交易。巴菲特曾明言,如果商学院的毕业生在毕业后拿一张卡片,每买一支股票就打一个洞,那么这张卡片最终会被打得最少的人将成为巨富。“钱在这里从活跃的投资者流向有耐心的投资者。…

品尝葡萄酒要注意的重点事项有哪些?

给自己倒一杯葡萄酒,抿一口,这很容易就知道这是不是你喜欢的了。通过一些练习和微调可以加深你对葡萄酒特性的理解,并在品尝时挖掘出葡萄酒中所有的味道。任何品酒师在分析新酒时都会遵循一系列步骤和规则,从外观到香气、味道和特…