单细胞测序(三):寻找细胞标记

一、亚群注释

明确细胞类型。

1.识别每个类群的所有标记物;

2.识别每个类群的保留标记;

3.特定类群的标记识别。

1. 总体代码

markers <- FindAllMarkers(object = scRNA_harmony, test.use="wilcox" ,
                          only.pos = TRUE,
                          logfc.threshold = 0.25)   

all_markers <- markers %>% dplyr::select(gene, everything()) %>% subset(p_val<0.05)
top10 = all_markers %>% group_by(cluster) %>% top_n(n = 10, wt = avg_log2FC)
scRNA_harmony <- RenameIdents(scRNA_harmony, "12" = "Macrophage","0"="Macrophage","2"="MSc")
DimPlot(scRNA_harmony,label = T,group.by = "seurat_clusters")

2. select()

使用select()函数选择列

select(数据框名称,筛选的列)

(1)选择命中的列;(2)选择两者之间的所有列;(3)选择两者之外的所有列

(4)搭配使用函数

  • start_with("xxx") 匹配出列名称开头是xxx的列
  • ends_with("xxx") 匹配出列名称末尾是xxx的列
  • contains("xxx") 匹配出列中包含xxx的列
  • matches(""(.)\1")") 匹配出列名称中有重复字符的变量
  • num_range("xxx")
  • everything() 将选中的列移动到数据框开头几列

Tidyverse 选择实现了 R 的一种方言,其中的运算符可以方便地选择变量:

: 用于选择一系列连续变量。

! 用于取一组变量的补集。

& 和 | 用于选择两组变量的交集或联合。

c() 用于合并选择。

3. top_n

top_n() 已被 slice_min()/slice_max() 所取代。虽然在不久的将来它不会被弃用,但它的退役意味着我们将只执行关键的错误修复,因此建议使用较新的替代方案。top_n()之所以被取代,是因为它的名称容易引起混淆,因为它返回的是你有理由认为是最底层的行。此外,wt 变量的名称和默认值(数据帧的最后一列)也令人困惑。遗憾的是,开发者无法在不破坏现有代码的情况下修复现有的 top_n()函数,因此我们创建了一个新的替代函数。

top_n(x, n, wt)

4.group_by()

group_by()函数属于R编程语言中的dplyr包,它对数据帧进行分组。Group_by()函数本身不会产生任何输出。

进行group_by操作之后,整个数据表就处于一种分组的状态,所有的操作都是基于分组进行,也就是会分别对组内的数据操作。进行分组运算以后,需要对数据进行重新分组,或者就可以直接取消分组做其他操作了,使用ungroup()函数。

二、FIndConservedMarkers

install.packages('BiocManager')
BiocManager::install('multtest')
install.packages('metap')

ncolnames(scRNA_harmony@meta.data)
table(scRNA_harmony@meta.data$orig.ident)
?FindConservedMarkers
marker_conserved = FindConservedMarkers(scRNA_harmony,
                              ident.1 = 'Macrophage',
                              grouping.var = "orig.ident",
                              only.pos = TRUE,
                              min.diff.pct = 0.25,
                              min.pct = 0.25,
                              logfc.threshold = 0.25)

DotPlot(scRNA_harmony, features = c("PECAM1","VWF"))
DimPlot(scRNA_harmony,label = T,group.by = "celltype")

三、Dotplot法

DotPlot(scRNA_harmony, features = c("PECAM1","VWF"))

图片[1]-单细胞测序(三):寻找细胞标记-吃了吃了

可以观察到Cluster 6两基因表达较高,结合文献,可确定Cluster 6为内皮细胞。

四、报错解决

安装metap时,提示:

fatal error: fftw3.h: No such file or directory 10 | #include <fftw3.h>

表明系统中所需依赖缺失,在terminal中运行以下命令

sudo apt-get install libfftw3-dev

安装singleR时,提示

ERROR: failed to lock directory ‘/home/drqux/R/x86_64-pc-linux-gnu-library/4.3’ for modifying
Try removing ‘/home/drqux/R/x86_64-pc-linux-gnu-library/4.3/00LOCK-rsvd’

表明R包所安装文件夹中存在临时文件夹00LOCK-rsvd,手动移除相关文件夹。

© 版权声明
THE END
喜欢就发表一下看法吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容