一、亚群注释
明确细胞类型。
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"))
可以观察到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,手动移除相关文件夹。
暂无评论内容