国产午夜精品无码一区二区,国产成人无码网站,日本少妇xxxx做受,欧美视频二区欧美影视,女人被躁到高潮嗷嗷叫游戏

首頁> 關于我們 >新聞中心>技術分享>新聞詳情

論如何繪制CNS級別的單細胞高分美圖(附代碼版本)(十):星云圖

2025-06-23

星云圖是單(dan)細胞(bao)(bao)轉(zhuan)錄組研(yan)究中一種(zhong)獨(du)特(te)的可視化方法(fa),它通(tong)過(guo)將(jiang)不同細胞(bao)(bao)類(lei)型的空間(jian)分布與基因(yin)(yin)(yin)表達(da)模(mo)式(shi)相結合,形成多樣 “星(xing)云(yun)”,展現(xian)基因(yin)(yin)(yin)表達(da)異質(zhi)性、聚類(lei)狀態及細胞(bao)(bao)類(lei)型間(jian)差異關聯。相較(jiao)常規(gui)單(dan)細胞(bao)(bao)測序細胞(bao)(bao)類(lei)型可視化,它能更突出細胞(bao)(bao)類(lei)型間(jian)基因(yin)(yin)(yin)表達(da)整體差異,依基因(yin)(yin)(yin)表達(da)譜和(he)聚類(lei)信息繪制,借 “星(xing)云(yun)” 特(te)征(zheng)觀(guan)察聚類(lei)、識別模(mo)式(shi),助力挖掘(jue)分子特(te)征(zheng)與細胞(bao)(bao)分化關聯 。

這是單細(xi)(xi)胞(bao)(bao)(bao)轉錄組(zu)測序數據分析(xi)里的(de)(de)單細(xi)(xi)胞(bao)(bao)(bao)轉錄測序星云(yun)圖(tu),把不同細(xi)(xi)胞(bao)(bao)(bao)類型(像圖(tu)里的(de)(de) B 細(xi)(xi)胞(bao)(bao)(bao)、T 細(xi)(xi)胞(bao)(bao)(bao) 、肝細(xi)(xi)胞(bao)(bao)(bao)等(deng) )的(de)(de)基因(yin)表達信(xin)息,以(yi)類似 “星云(yun)” 的(de)(de)可視(shi)化形態呈現。不同色彩、形態的(de)(de) “星云(yun)” 區(qu)域,對應(ying)特定細(xi)(xi)胞(bao)(bao)(bao)類型(如(ru)標(biao)注(zhu)的(de)(de)各類細(xi)(xi)胞(bao)(bao)(bao)),能直觀(guan)展現細(xi)(xi)胞(bao)(bao)(bao)群(qun)體在(zai)基因(yin)表達層(ceng)面的(de)(de)異質(zhi)性,想自己動(dong)手(shou)繪制?安排!

1、數據準備

library(Seurat)

library(ggplot2)

Obj <- readRDS(‘你的SeuratObject.rds’)

group.by <- ‘celltype’ #細胞按什么(me)分類(lei)

Reduction <- ‘umap’#細(xi)胞(bao)用什么降維方法展示

df &lt;- data.frame(dim1=Obj[[reduction]]@cell.embeddings[,1],

dim2=Obj[[reduction]]@cell.embeddings[,2],

cluster=Obj@meta.data[[group.by]])

2、繪(hui)制(zhi)”云圖”

p <- ggplot(df, aes(x = dim1, y = dim2)) +

stat_density_2d(

geom = "raster",

aes(fill = after_stat(density)),

contour = FALSE, n = 200

) +

viridis::scale_fill_viridis(option = "magma", direction = 1)+

coord_cartesian(expand = F) +

theme_void()

p

p

3、繪制”星(xing)圖”

p <- p+ geom_point(color = "#FFFFFFAA", size = 0.005, alpha = 0.2)+

theme(legend.position = "none")

p

4、添(tian)加細(xi)胞分類框(kuang)

remove_outlier <- function(x,y,proportion=0.9){

stopifnot(length(x)==length(y))

distance_to_centroid = (x-mean(x))^2 + (y-mean(y))^2

kept_site <- order(distance_to_centroid)[1:ceiling(length(x)*proportion)]

return(kept_site)

}

df2 <- lapply(unique(df$cluster),function(x){

new_df <- df[df$cluster==x,,drop=F]

return(new_df[remove_outlier(new_df$dim1,new_df$dim2),,drop=F])

}) |> dplyr::bind_rows()

p <- p + ggforce::geom_mark_hull(data=df2,

aes(x=dim1,y=dim2, group = cluster,label = cluster),

linewidth=0.8,

concavity = 5,

color='white',

con.colour='white',

con.type='straight',

label.fontsize=12,

label.colour='white',

label.fill='black',

expand=unit(3, "mm"),

linetype='f8')

p

這樣,細胞密度星云圖(tu)就(jiu)畫完了,是(shi)不(bu)是(shi)比(bi)普(pu)通的(de)Umap散點圖(tu)漂(piao)亮呢(ni)?但(dan)是(shi)要注意(yi)只有細胞分類在降(jiang)維圖(tu)上的(de)邊界很(hen)清晰星云圖(tu)才好看,不(bu)然的(de)話可是(shi)會(hui)丑(chou)哭的(de)呦~