xCellx詳細(xì)使用方法及結(jié)果分析

理論知識:

組織是由不同譜系和亞型的細(xì)胞類型組成的復(fù)雜環(huán)境,每種細(xì)胞都有自己獨(dú)特的轉(zhuǎn)錄組。因此,批量轉(zhuǎn)錄組分析是細(xì)胞類型特異性基因表達(dá)的總和加權(quán)的細(xì)胞類型比例在給定的樣本。去卷積的基因表達(dá)譜允許重建組織的細(xì)胞組成。Xcell 是一個強(qiáng)大的計(jì)算方法,轉(zhuǎn)換基因表達(dá)譜為豐富分?jǐn)?shù)的64免疫和基質(zhì)細(xì)胞類型跨樣本。
不同受試者細(xì)胞類型組成的差異可以確定疾病的細(xì)胞靶點(diǎn),并提出新的治療策略。此外,調(diào)整這些變異可以檢測真正的基因表達(dá)差異,并提高解釋下游分析。

1.安裝xCell

Xcell 是在 r 中開發(fā)的,用于運(yùn)行 xcell 的 r 包可以作為 github 存儲庫中的開源代碼使用 (https://github.com/dviraran/xCell)
安裝 r 是一個先決條件(https://www.r-project.org/) ,rstudio 是運(yùn)行 r 腳本的推薦環(huán)境(https://www.rstudio.com/)。
要安裝 xcell r 包,下面的所有命令都應(yīng)該在 r 環(huán)境中輸入:
如果 devtools 包以前沒有安裝,首先安裝它:

install.packages('devtools')

從 github 安裝當(dāng)前的 xcell 版本:

devtools::install_github('dviraran/xCell')

Xcell 包裝依賴于以下包裝: 生物導(dǎo)體包裝ーGSVA,GSEABase。

if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install(c("GSVA","GSEABase"), version = "3.8")

CRAN packages—pracma, utils, stats, MASS, digest, curl,
quadprog.

install.packages('pracma', 'utils', ' stats', 'MASS',
'digest', 'curl', 'quadprog')

以上為xCell說明文檔的安裝說明,以下為網(wǎng)絡(luò)上的方法(用以下即可)。

install.packages('Rcpp')                     #########安裝各類程序包
devtools::install_github('dviraran/xCell')
library(xCell)

2.輸入文件

文件格式:Xcell 的輸入是來自人類混合樣本的基因表達(dá)矩陣。應(yīng)該在運(yùn)行 xcell 函數(shù)之前讀取它。矩陣應(yīng)該是基因作為行名,列是樣本。如果基因表達(dá)式是一個標(biāo)簽分隔的文件,可以使用下面的調(diào)用來讀取它:

expr = read.table(file.name, header=TRUE, row.names=1, as.is=TRUE, sep='\t')

如果基因表達(dá)數(shù)據(jù)來自微陣列,就不需要標(biāo)準(zhǔn)化。如果基因表達(dá)數(shù)據(jù)來自一個測序平臺,數(shù)值必須被歸一化為基因長度(例如,rpkm,tpm,fpkm)。Xcell 使用表達(dá)式級別排序,而不使用實(shí)際值,因此進(jìn)一步的規(guī)范化不會產(chǎn)生影響。

3.xCell Pipeline

Xcell 管道由三個步驟組成,它們在 r 包中也表示為函數(shù):

1. rawEnrichmentAnalysis
xCell.data$genes

作為最低要求,輸入基因表達(dá)矩陣至少需要5000個基因,但共用基因數(shù)目太少可能會影響結(jié)果的準(zhǔn)確性。
Xcell 為每種單元格類型使用多個簽名??偣灿?89個特征符合64種細(xì)胞類型。完整的簽名列表可在以下網(wǎng)址找到:

xCell.data$signatures

得分計(jì)算使用單樣本基因集富集分析(ssGSVA)。對于每個單元格類型,計(jì)算來自多個相應(yīng)簽名的多個得分的平均值。最后,平均分?jǐn)?shù)被移動,使得每個單元格類型的最小分?jǐn)?shù)為零。

scores = rawEnrichmentAnalysis(expr, signatures,
genes, file.name, parallel.sz, parallel.type = "SOCK")
2. transformScores

這個函數(shù)用于將得分從原始濃縮得分轉(zhuǎn)換為類似百分比的線性尺度,xcell 使用預(yù)先計(jì)算的校準(zhǔn)參數(shù)進(jìn)行轉(zhuǎn)換。Xcell 使用不同的參數(shù)設(shè)置基于序列的基因表達(dá)值和基于微陣列的值(有關(guān)調(diào)整校準(zhǔn)參數(shù)的信息,請參閱注3)。基于序列的值的參數(shù)可以在下面找到:

xCell.data$spill$fv

對于基于微陣列的數(shù)據(jù):

xCell.data$spill.array$fv

函數(shù)的用法如下:

tscores = transformScores(scores, fit.vals, scale, fn)

‘scores’是 rawenrichmentanalysis 的輸出; ‘ fit.vals’是上面描述的校準(zhǔn)參數(shù); 如果符合邏輯,則是否按比例縮放轉(zhuǎn)換后的分?jǐn)?shù)(默認(rèn)值為 true 并推薦使用)。

3. spillOver
spillOver(transformedScores, K, alpha = 0.5, file.name = NULL)

usage

xCellAnalysis(expr, signatures = NULL, genes = NULL, spill= NULL, rnaseq = TRUE, file.name = NULL, scale = TRUE, alpha =0.5, save.raw = FALSE, parallel.sz = 4, parallel.type = "SOCK",cell.types.use =NULL)

可簡化為

exprMatrix = read.table("expr",header=TRUE,row.names=1, as.is=TRUE)

4.實(shí)例

1)輸入樣本

https://github.com/dviraran/xCell/tree/master/vignettes

sdy = readRDS('sdy420.rds')

sdy有兩種數(shù)據(jù),一種是表達(dá)譜,另一種是細(xì)胞分?jǐn)?shù)。


sdy數(shù)據(jù).png

expr.png

fcs.png
raw.scores = rawEnrichmentAnalysis(as.matrix(sdy$expr),
  xCell.data$signatures,
  xCell.data$genes) #首先生成原始分?jǐn)?shù)

下一步是轉(zhuǎn)換原始分?jǐn)?shù),并應(yīng)用溢出補(bǔ)償。為了獲得最佳的結(jié)果,最好只對相關(guān)的細(xì)胞類型進(jìn)行溢出補(bǔ)償(例如,如果我們知道混合物中沒有巨噬細(xì)胞,最好將它們從分析中去除)。因此,我們將分?jǐn)?shù)矩陣子集為僅在CyTOF數(shù)據(jù)集中也被測量的單元格類型:

cell.types.use = intersect(colnames(xCell.data$spill$K),
                           rownames(sdy$fcs))

最后一步是補(bǔ)償溢出效果的分?jǐn)?shù):

scores = spillOver(transformed.scores,xCell.data$spill.array$K)

請注意,我們在這里使用xCell.data$spill.array數(shù)據(jù),因?yàn)楸磉_(dá)式數(shù)據(jù)是用微陣列生成的。上面詳細(xì)介紹的管道也可以使用xCell分析包裝器功能同樣執(zhí)行:

scores = xCellAnalysis(sdy$expr, rnaseq=F,cell.types.use = cell.types.use)

使用這些分?jǐn)?shù),我們現(xiàn)在可以找到細(xì)胞分?jǐn)?shù)和細(xì)胞類型分?jǐn)?shù)之間的相關(guān)性:

library(psych)
library(ggplot2)
fcs = sdy$fcs[rownames(scores),colnames(scores)]
res = corr.test(t(scores),t(fcs),adjust='none')
qplot(x=rownames(res$r),y=diag(res$r),
     fill=diag(res$p)<0.05,geom='col',
     main = 'SDY420 asspciation with immunoprofiling',
     ylab = 'Pearson R')+labs(fill="p-value<0.05")+
     theme_classic()+
     theme(axis.text.x = element_text(angle = 45,hjust = 1))

該代碼生成一個條形圖(圖1a),用于顯示xCell分?jǐn)?shù)與免疫分析的預(yù)期分?jǐn)?shù)的相關(guān)性。我們發(fā)現(xiàn)18種細(xì)胞類型中的13種存在顯著相關(guān)性(p值<0.05),7種細(xì)胞類型中存在高相關(guān)性(R>0.5)。需要注意的是,xCell產(chǎn)生的是富集分?jǐn)?shù),而不是細(xì)胞類型的比例,因此不期望分?jǐn)?shù)會與CyTOF比例相似,只是測量值之間將存在線性相關(guān)。


圖1a

在上面的分析中,我們使用一個細(xì)胞子集運(yùn)行了xCell,而不是所有64種細(xì)胞類型。在某些情況下,這可能會提高準(zhǔn)確性,因?yàn)橐绯鲅a(bǔ)償程序可能會進(jìn)行過度補(bǔ)償。因此,我們可以對所有細(xì)胞類型進(jìn)行相同的分析,并與免疫圖譜分析進(jìn)行關(guān)聯(lián):

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

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

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