关于表达矩阵
data.count = Read10X(data.dir = "...")
data = CreateSeuratObject(counts = data.count, min.cells = 3, min.features = 200)
data = NormalizeData(object = data)
data = FindVariableFeatures(object = data)
data = ScaleData(object = data)
data = RunPCA(object = data)
data = FindNeighbors(object = data)
data = FindClusters(object = data, resolution = 0.8)
其中,
data@assays$RNA@counts
表示的是raw counts,是cellranger或者其他计数软件得到的原始count文件;
data@assays$RNA@data
这一步得到的是经过文库标准化并且经过log transformed data的数据;
data@assays$RNA@scale.data
这个是经过文库标准化并且经过log transformed data后,挑选出来的高变基因(HVG),这个高变基因的数量可以自己选择,通过FindVariableFeatures()函数的nfeatures参数来选择高变基因数量
data = FindVariableFeatures(object = data,nfeatures = 3000)
关于降维聚类
data@active.ident
这里表示的是降维聚类后,每一类所拥有的细胞,或者说是每一类各对应哪些细胞
#pca降维
data@reductions$pca@cell.embeddings
#umap降维
data@reductions$umap@cell.embeddings
对于 pca 来说:
pca这里表示每个细胞对应的pca主成分,那么如果要降维可视化的话,那么就可以挑选其中的贡献最大的几个PC向量
而 feature.loadings 则是代表一种降维的权重
# pca降维
data@reductions$pca@feature.loadings
data@reductions$pca@feature.loadings
对于 umap 来说:
umapumap降维后,取了两维,umap聚类图的坐标就是根据每个细胞对应的umap1(横坐标)和umap2(纵坐标)来绘制的;而umap是没有 feature.loadings 这个属性的
关于细胞分群
而如果我们想看看每个细胞经过tSNE或者UMAP降维后,每一类细胞到底被划分到哪一类了
data@active.ident
如上图,行名表示不同的细胞,而第一列所对应的是每个细胞所被划分到的 “类” ,这里一共有17类,用0-16来分别表示这17个类
网友评论