seurat對象中細胞identity的獲取、設(shè)置與操縱

前兩天遇到了一個小問題:初步注釋細胞發(fā)現(xiàn),使用RenameIdents后細胞類型的levels與我想要的排序不符。例如,我實際得到的level為: cancer_cell1 T_cells cancer_cell2 cancer_cell3 B_cells.但是我想要把cancer_cell cluster與免疫細胞的排列成:cancer_cell1 cancer_cell2 cancer_cell3 T_cells B_cells。搜所了一下,結(jié)果方法很簡單。


# Reorder identity classes

levels(x = pbmc_small)

#> [1] "B" "A" "C"

levels(x = pbmc_small) <- c('C', 'A', 'B')

levels(x = pbmc_small)

#> [1] "C" "A" "B"

seurat處理identity的函數(shù)有


Idents(object, ...)

Idents(object, ...) <- value

RenameIdents(object, ...)

ReorderIdent(object, var, ...)

SetIdent(object, ...)

StashIdent(object, save.name, ...)

# S3 method for Seurat

Idents(object, ...)

# S3 method for Seurat

Idents(object, cells = NULL, drop = FALSE, ...) <- value

# S3 method for Seurat

ReorderIdent(

  object,

  var,

  reverse = FALSE,

  afxn = mean,

  reorder.numeric = FALSE,

  ...

)

# S3 method for Seurat

RenameIdents(object, ...)

# S3 method for Seurat

SetIdent(object, cells = NULL, value, ...)

# S3 method for Seurat

StashIdent(object, save.name = "orig.ident", ...)

# S3 method for Seurat

droplevels(x, ...)

# S3 method for Seurat

levels(x)

# S3 method for Seurat

levels(x) <- value


# 獲取細胞identy

Idents(pbmc_small)

# 設(shè)置細胞identy

# 可以用來指定某些細胞為新的名稱

#例如將前4個細胞的identity修改為a,其余不變

Idents(pbmc_small, cells = 1:4) <- 'a'

head(Idents(pbmc_small))

# 使用matadata來設(shè)置identity

colnames(pbmc_small[[]])

Idents(pbmc_small) <- 'RNA_snn_res.1'

levels(pbmc_small)

# 修改細胞identity的名字

# 可以提供任意數(shù)量,例如,原始的level有20,修改2個,剩余的18個保持不變

levels(pbmc_small)

pbmc_small <- RenameIdents(pbmc_small, '0' = 'A', '2' = 'C')

levels(pbmc_small)

# 這里也可以寫成

identityMapping <- c('0' = 'A', '2' = 'C')

pbmc_small <- RenameIdents(pbmc_small, identityMapping )

# 使用SetIdent設(shè)置細胞的identity

cells.use <- WhichCells(pbmc_small, idents = '1')

pbmc_small <- SetIdent(pbmc_small, cells = cells.use, value = 'B')

#將細胞的identity加到matadata上

head(pbmc_small[[]])

pbmc_small <- StashIdent(pbmc_small, save.name = 'idents')

head(pbmc_small[[]])

# 獲取seurat對象的細胞identity的水平

levels(x = pbmc_small)

# 調(diào)整細胞identity的水平

levels(x = pbmc_small)

levels(x = pbmc_small) <- c('C', 'A', 'B')

levels(x = pbmc_small)

感覺上面的函數(shù)基本上涵蓋了操縱identity的所有需求。

如有錯誤,可以在評論初指正。

參考

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容