SciBet:一個軟件解決單細胞注釋所有煩惱

說在前面

對于單細胞數(shù)據(jù)分析流程來說,其中最重要的一步就是對各種細胞亞群進行準(zhǔn)確的注釋,因為后續(xù)的分析全部在這個基礎(chǔ)上進行,一步出錯步步錯;而且注釋出的細胞類型還會影響后續(xù)進行的相關(guān)功能分析。生信寶庫在之前的推文:一文解決單細胞亞群注釋的所有問題中,已經(jīng)介紹了解決單細胞注釋常見問題的一些方法,并且給出了Immugent基于多年單細胞分析經(jīng)驗的各種細胞marker genes。

但是時代在進步,主要依靠人力的時代已經(jīng)過去,各個領(lǐng)域都在開發(fā)出替代人工來進行工作的工具,當(dāng)然單細胞注釋也不例外。目前基于監(jiān)督和半監(jiān)督的單細胞注釋軟件已經(jīng)有很多了,比較有名的就是singleR,Cell Blast等。但是這些軟件要么不準(zhǔn)確,要么太耗時,而且不能根據(jù)需要制定特殊的參考數(shù)據(jù)。

那么今天,Immgent就來介紹一款真正的實現(xiàn)輕便,靈活的單細胞注釋工具:SciBet。這款工具由張澤民老師課題組在2021年開發(fā)出來,發(fā)表在Nature communications雜志上,篇名為“SciBet as a portable and fast single cell type identifier”。

廢話不多說,下面開始進行代碼展示...


代碼實現(xiàn)

1.安裝和引用SciBet包

install.packages("Rcpp")
install.packages("RcppEigen")
install.packages("ggsci")
install.packages("viridis")
install.packages("tidyverse")
if (!requireNamespace("devtools", quietly = TRUE)) install.packages("devtools")
devtools::install_github("PaulingLiu/scibet")

suppressMessages(library(ggplot2))
suppressMessages(library(tidyverse))
suppressMessages(library(scibet))
suppressMessages(library(viridis))
suppressMessages(library(ggsci))

2.使用E-test挑選特征基因

path_da <- "~/test.rds.gz"
expr <- readr::read_rds(path = path_da) 
expr[1:10, 1:10]

etest_gene <- SelectGene(expr, k = 50)
etest_gene

#作圖
Marker_heatmap(expr, etest_gene)
image.png

3.使用Entropy Test鑒定單細胞亞群

tibble(  ID = 1:nrow(expr),
  label = expr$label) %>%
  dplyr::sample_frac(0.7) %>%
  dplyr::pull(ID) -> ID

train_set <- expr[ID,]      #construct reference set
test_set <- expr[-ID,]      #construct query set

prd <- SciBet(train_set, test_set[,-ncol(test_set)])

Confusion_heatmap(test_set$label, prd)
image.png

4.假陽性檢測

由于scRNA-seq參考數(shù)據(jù)收集的不完全性,從參考數(shù)據(jù)集中排除的細胞類型可能被錯誤地預(yù)測為已知的細胞類型。通過應(yīng)用一個空數(shù)據(jù)集作為背景,SciBet控制了潛在的假陽性,同時對參考數(shù)據(jù)集覆蓋的類型(陽性細胞)的細胞保持較高的預(yù)測精度。

null <- readr::read_rds('~/null.rds.gz')
reference <- readr::read_rds('~/reference.rds.gz')
query <- readr::read_rds('~/query.rds.gz')

ori_label <- query$label
table(ori_label)
query <- query[,-ncol(query)]
c_score <- conf_score(ref = reference, query = query, null_expr = null, gene_num = 500)

tibble(ori = ori_label,
  prd = SciBet(reference, query),
  c_score = c_score) -> res

Confusion_heatmap_negctrl(res, cutoff = 0.45)
image.png

SciBet包目前已經(jīng)訓(xùn)練出很多經(jīng)典的單細胞模型中的參考數(shù)據(jù)集,使用者可以根據(jù)需要進行個性化設(shè)定。而且相比于其它同類型軟件,SciBet不僅運算速度非???,而且每一種細胞亞群中的假陽性率低。


小結(jié)

在單細胞領(lǐng)域,只要是張澤民老師實驗室出品的工具,那必屬精品。為了方便那些不懂編程的科研工作者使用這個軟件,SciBet還開發(fā)出了網(wǎng)頁版的工具(http://scibet.cancer-pku.cn),你是需要把自己的數(shù)據(jù)準(zhǔn)備成相應(yīng)的表格,即可進行單細胞亞群注釋。

好啦,本次分享到這就結(jié)束了,下一期我們將會解讀同樣是張老師課題組開發(fā)的對單細胞數(shù)據(jù)進行整合的工具:iMAP,敬請期待!

?著作權(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)容