这个新专辑有以下几点希冀:
而我在将自己的学习笔记排版成推文时也会遵循以下行文特点:
上期推文我们根据单细胞初探(seurat基础流程)(2021公开课配套笔记)学习并搭建了基本的单细胞转录组下游分析流程,其中很重要的一个知识点就是Seurat对象,熟悉Seurat对象内部结构对我们掌握各个分析究竟是在进行什么样的处理很有帮助。
其实细心的同学可以发现,我们上期推文中对Seurat对象的操作基本上都是直接赋值,并没有拷贝变量,在单细胞初探(seurat基础流程)(2021公开课配套笔记) 中提到:
R语言中同一变量重复赋值,则会覆盖,而创建的Seruat对象pbmc则不会。查阅资料才知道Seruat对象是S4结构,会记录所执行的计算及其信息。在此献上周运来老师总结的一幅Seruat对象结构图。
参考:Seurat对象数据结构(https://www.jianshu.com/p/238976158dcc)
“标准流程里面的过滤三步骤,也可以用 SCTransform 代替” 我还不清楚SCTransform如何使用
Seurat 每一步处理类似流水线传送带上的容器(Container),每个函数会依次进行处理。每个函数输入一种数据都会输出另外一个数据,并且把输出数据也存放在这个容器中。 需要时可以提取某一步骤的数据。还有一类函数,不参与数据转换,类似质检员(Inspector),在每一个数据转换后,查看容器中的内容,帮助判断质量、评估处理后的效果。
在Seurat对象后面加个@ 可以查看Seurat对象的内容
Seruat对象是S4结构,会记录所执行的计算及其信息
一个Seurat对象可以包括多个assay对象,但是在某个时刻,只有一个assay对象是默认激活的。可以通过函数 active.assay 查询当前默认激活的是哪个assay对象。也可以用 DefaultAssay 来设置默认的 assay。
后面我们多分组拆分数据去批次再整合时会遇到
目前默认都是“RNA”
保存的是未经处理的原始数据,适合存放稀疏矩阵
原始数据经过标准化后,会存放在@data中,和counts 一样也是一个特殊的 Matrix 对象
当数据进行scale后,存放在名为scale.data中
标准化了,很明显有正负
var.features : 是一个普通的向量,里面存放的是高表达变异的基因名。可以用函数VaribleFeatures来获得这个向量。
每个active对象都有一个key值,可以用fetch函数来获取
Seurat对象中的meta.data 是对所有细胞做注释的数据框。而在assay对象中,meta.features 是对每个 features 做的注释。 如果要对 features 的功能进行注释、打分、筛选都需要用到meta.features。对于不同的assay来说,每个features的含义是不同的。
联系前面
Seurat对象中的meta.data 是一个用来对所有细胞做注释的数据框。每一行代表一个细胞,每一列代表细胞的属性。当需要根据细胞的属性和类型对细胞进行筛选的时候,经常会用到meta.data。当然也可以把新分析得到的结果,添加到meta.data中。
可以理解为细胞的类型,在Seurat对象中,细胞可能有好几种不同方法注释的类型(如不同的分辨率降维分组,联系小鼠的5个样品的10x技术单细胞转录组上游定量(文末赠送全套代码)),但是在某一时刻,只有一种细胞类型是默认激活的。可以用active.ident来查询当前默认的细胞类型是什么。
当前激活的分组细胞类型是分辨率为0.1
在本文中,可以发现,当前(一般流程结束后)分组是根据自定义的亚型来的
和assay一样,reduction返回的也是一个列表。里面包含的是一个或多个 DimReduc object 对象。每个DimReduc object 对象对应的是 assay 对象进行某种降维分析后得到的结果。降维也就是PCA 、tsen 、umap 三种
创建这个对象时,所使用的Seurat版本
一个列表,里面保存的是workflow中每个步骤所使用的命令和参数,还有命令执行的日期和时间