单细胞亚群降维聚类分群

单细胞亚群降维聚类分群

大家好,这里是想做生信大恐龙🦖的生信小白,今天的暗杀目标是一个叫做‘降维聚类分析’的小boss,看完记得一键三连(点赞收藏+评论)。文章参考微信公众号“生信技能树”,也学生信的小伙伴可以关注哦!



前言

在单细胞和多细胞生物中,单个细胞之间的差异可以产生较大的功能影响。单细胞RNA测序方法揭示了组织组成、转录动态和基因之间的调控关系方面的新的生物学。不但如此,单细胞RNA测序可以指导细胞分类,更精确地确定细胞种类。


一、数据准备

1.打开 https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE173087网站。

2. 下载17.4Mb的http文件,保存至一个没有中文名称的路径。

二、实现分类(过程记录)

1.引入相关库

引入相关库代码如下:

library(Seurat) #引入单细胞数据的质量控制和分析包
library(data.table) #引入data.frame包的拓展

如果没有下载这些包的小伙伴,可以使用下列代码下载相关的R包:

install.packages('Seurat')
install.packages('data.frame')

下载好相关包之后,运行出现了版本不兼容的警告。
在这里插入图片描述
使用下列代码更新R语言版本:

install.package('installr') #最好RGui中操作
library(installr)
updateR()

更新之后,紧接着出现了报错了
在这里插入图片描述
大概的意思是要我们使用install.packages(‘R.utils’)安装’R.utils’。按照它的要求进行。运行下列代码即可进行:

install.package('R.utils')

在这里插入图片描述

2.数据处理

接下来对数据进行处理,运行下列代码

library(Seurat) #引入单细胞数据的质量控制和分析包
library(data.table) #data.frame包的拓展类型
# 读入文件
ct=fread( 'C:/Users/86184/Desktop/exp/bioinf_student/single_data/GSE173087_Maize_rootsc_counts.txt.gz',data.table = F)
ct[1:4,1:4]
rownames(ct)=ct[,1]
ct=ct[,-1] 
#使用原始数据初始化Seurat对象
maize <- CreateSeuratObject(counts = ct, 
                            project = "maize", 
                            min.cells = 3, 
                            min.features = 200)
maize 
#得到规范的数据
maize <- NormalizeData(maize, normalization.method = "LogNormalize", 
                       scale.factor = 10000)

maize <- NormalizeData(maize)

#识别2000个高度变异的基因
maize <- FindVariableFeatures(maize, selection.method = "vst", nfeatures = 2000)

## 此外,缩放数据
all.genes <- rownames(maize)
maize <- ScaleData(maize, features = all.genes)

maize <- RunPCA(maize, features = VariableFeatures(object = maize), 
                verbose = FALSE)
maize <- FindNeighbors(maize, dims = 1:10, verbose = FALSE)
maize <- FindClusters(maize, resolution = 0.5, verbose = FALSE)
maize <- RunUMAP(maize, dims = 1:10, umap.method = "uwot", metric = "cosine")
table(maize$seurat_clusters)
phe=maize@meta.data
save(phe,file = 'phe-by-basic-seurat.Rdata')

# maize.markers <- FindAllMarkers(maize, only.pos = TRUE, min.pct = 0.25,  logfc.threshold = 0.25, verbose = FALSE)
DimPlot(maize, reduction = "umap", group.by = 'seurat_clusters',
        label = TRUE, pt.size = 0.5) 

结果如下图:

在这里插入图片描述
可以看到2000个单细胞被分成了十八类。虽然对于Seurat原理我还不是很理解,但是对于R中的这个库的使用还是理解了一点。

总结

以上就是本次的内容,本文记录了学习“生信技能树”公众号的学徒任务中的单细胞降维聚类分群,大家有相关的想法可以评论交流,尤其是关于生物上的和语言上的,🦖都很感兴趣的。最后看到这里的小伙伴不妨一键三连啊(点赞评论+关注)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bio大恐龙

您的打赏是我前进的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值