兜兜转转,小编做单细胞转眼又是半年过去了,单细胞注释真的是一到玄学,一查资料很多自动化单细胞注释的工具横空出世,可是小编试了很多很多,发现还是手动注释更加准确,但是手动如何注释呢?
这里我们需要先找到细胞的marker基因,这里以NKT细胞为例,我们知道NKT有三个经典的marker(CD45,CD3,CD56),我们单个marker注释看看
这里的sce就是我们前面使用seurat创建的对象

FeaturePlot(sce,features = c('PTPRC','CD3D', 'CD3E', 'CD3G', 'NCAM1'),pt.size = 0.1,reduction = 'tsne',ncol = 5)


从上面的图中可以看出,右上角为T细胞,NKT细胞在哪里呢,我们需要看一下交集的地方

同样是这几个marker,我们使用该包自带的AddModuleScore进行计算,同时绘制多个marker的TSNE图

NKT_gene_list <- list(c('PTPRC','CD3D', 'CD3E', 'CD3G', 'NCAM1'))
sce <- AddModuleScore(object = sce, features = NKT_gene_list, name = "cell")
FeaturePlot(object = sce, features = "cell1",reduction='tsne',cols = c('grey','red'))+ggtitle('NKT cell \n CD45(PTPRC), CD3(CD3D, CD3E,CD3G), CD56(NCAM1)')


这里指定的NKT在右上角

看到这里突然不知道说啥了,小编查 了一下AddModuleScore的原理,原来AddModuleScore是通过特定的方法通过这几个marker计算的评分,(其实就是这几个基因的平均表达值)对于Bulk RNA-seq的数据当然没有什么问题,但是对于单细胞来说,他是一个很大的稀疏矩阵,包含了大量的0,在取平均的时候,将高表达的细胞反而缩小了,低表达的细胞整体拉大了,加上每一个marker在细胞注释的时候占的权重不一样。
我们要确定NKT,就需要先看CD45是否表达(免疫细胞),再看CD3(T细胞),最后看CD56(NKT),但是通过AddModuleScore的方法认为这些marker的一样重要的,所以才会造成现在的情况。
换言之,除非能得到一种算法,就像流式手动圈门一样,从大类开始注释,直到小类结束,不然我们又该如何去衡量这个marker的权重呢?
玄学一般的单细胞注释,不一样的注释不一样的结果,我曾经使用garnett包进行分析,区分单个细胞,并进行注释(因为小编一直觉得不管怎么聚类,cluster都是杂的,不可能纯),可是结果总是差强人意。直到现在才明白,为什么garnett会失败,其实和AddModuleScore的一样的,还是那句话,marker权重不同,他们不知道哪个marker对于亚群权重更高,所以,面对这些只有一个方法,有交集的基因不要放,亚群之间一定要找独有的marker,但是这个又如何容易呢?大亚群可以,小亚群呢?先注释大亚群后注释小亚群吗?

单细胞注释之坑-通过AddModuleScore注释细胞相关推荐

  1. 单细胞测序学习笔记(二)——细胞注释

    1.细胞鉴别  在上一步对各类细胞进行featureblot后,可以根据文献或者在线数据库来对细胞进行鉴别.此处我使用的是CellMarker网站. 对照起来进行鉴别,但是有些细胞簇有两个marker ...

  2. 精选推文 | 基于三代转录组的基因注释踩坑经历以及GSAman使用

    邀请并收到一位「GSAman」用户的稿件,非常详尽且实在.相信这份推文可以为一些做功能基因组方面工作的朋友,提供实用参考. – CJ-陈程杰 前言 随着测序技术的进步和普及,现如今已经步入到" ...

  3. mybatis的xml里的sql如何使用注释,以及使用 `--` 进行注释的巨坑

    mybatis的xml里的sql如何使用注释,以及使用 -- 进行注释的巨坑 结论:使用 <!-- 注释 -->,千万别用 --(pgsql) 或者 #(mysql) 之类的,有巨大的坑! ...

  4. 基因组注释3.基因的功能注释Prokka

    基因组注释的前两篇为大家讲解了关于基因组组成成分分析(包括重复序列的识别.非编码基因和编码基因预测等)的内容,今天,将重点介绍如何进行基因的功能注释. 基因的功能注释 获得基因结构信息后,我们希望能够 ...

  5. vim插件的安装方式 -- vim注释插件和doxygen函数注释生成插件-ctrlp插件-tabular等号对齐 插件...

    使用unzip的时候 指定 -d选项, 是说明解压到的 目标地址. 这个参数还是比较方便的, 比直接unzip到当前目录, 然后在去拷贝到目标目录, 然后再删除当前目录中的解压文件夹, 方便多了. 使 ...

  6. c++ doxygen 注释规范_C语言代码注释参考

    简述 该参考是基于Doxygen注释规范进行简单归纳,可以适当根据自己的需求进行约定. Doxygen可以从一套归档源文件开始,生成HTML格式的在线类浏览器,或离线的LATEX.RTF参考手册.简单 ...

  7. 接口方法javadoc注释_继承Javadoc方法注释

    接口方法javadoc注释 尽管用于javadoc工具的JDK工具和实用程序页面通过实现和继承方法来描述Javadoc方法注释重用的规则,但是当实际上不需要使用{@inheritDoc}时,很容易不必 ...

  8. java注释类型_Java 8类型注释

    java注释类型 Lambda表达式是迄今为止Java 8讨论最多和最受促进的功能.虽然我同意Lambda是一个很大的改进,但我认为其他一些Java 8功能由于Lambda的炒作而有所欠缺. 在这篇文 ...

  9. html注释引用公共头部_HTML注释和引用

    html注释引用公共头部 HTML注释 (HTML Comments) To insert a comment in an HTML document, the comment tags are us ...

最新文章

  1. Linux运维工程师可是很吃香的
  2. 打开Excel文件并插入图片
  3. 黄了。Google中国版搜索
  4. 《算法竞赛入门经典》 习题4-1(象棋 Xiangqi ACM ICPC Fuzhou 2011,UVa1589)——仅提供大体方法
  5. frida 安装特定版本
  6. [渝粤教育] 中国地质大学 大学英语(1) 复习题
  7. 在LaTex中引用图片失败,出现(??)怎么办
  8. 理论物理-从规范对称的意义说下去
  9. 如何使用intellij搭建spark开发环境(下)
  10. html如何实现页面懒加载,浏览器HTML自带懒加载技术
  11. linux中公钥和私钥的区别以及关系
  12. HTTP长连接和短连接原理浅析
  13. 非参数统计的Python实现—— Cox-Staut 趋势存在性检验
  14. 圆形插件html,jQuery简单实用的圆形进度条插件
  15. 利用obs技术进行推流直播
  16. 当物流行业遇见MongoDB
  17. 51单片机ADC模数转换
  18. 深度学习100问-13:深度学习如何制作个人数据集?
  19. 干货!一文搞定无头浏览器的概念以及在selenium中的应用
  20. MPLS-VPN实验

热门文章

  1. 通过师育学大了解专业线上教育网站
  2. 基于Flot的折线图
  3. 时间序列分析part3严格平稳与弱平稳
  4. 网易蜂巢邀请您免费体验!
  5. 前端小白入门必学:HTML/CSS/JS编码规范
  6. 关于字符转换byte、char、string
  7. 【电脑操作技巧】重装系统之后的常用数据恢复方式和基础环境搭建
  8. 【数据分享】12.5米分辨率DEM地形数据(分省)
  9. html修改角弧度,CSS新手入门:border-radius绘制圆角应用
  10. 区间gcd (带修) 线段树