单细胞转录组

利用 dbscan 检测UMAP图中的Outliers

2024-06-17  本文已影响0人  Norahd
# 使用DBSCAN算法检测离群点,,离群点通常位于低密度区域。
umap_data <- FetchData(signac_obj_integ_flt,vars = c('umap_1','umap_2','cytpe'))
lapply(unique(umap_data $cytpe), function(x){
    data <- umap_data %>% filter(cytpe== x)
    ### 关键参数: eps[检测范围];minPts[当前范围内最少应包含的细胞数量]
    dbscanResult <- dbscan::dbscan(as.matrix(data[,1:2]), eps= 0.3, minPts= 60)$cluster
    return({
        rownames(data)[dbscanResult > 0]
    })
}) %>% unlist -> inlier_Cells

options(repr.plot.width = 12, repr.plot.height = 9)
umap_data[inlier_Cells,] %>% ggplot(aes(x = umap_1, y = umap_2, color = cytpe)) + geom_point(size = 0.1)
上一篇 下一篇

猜你喜欢

热点阅读