介紹
文章對已知的多種細胞系混合后進行單細胞10X RNA測序,研究多克隆之間的互作模式。我們這里介紹里面的單細胞測序基因表達細胞分類操作。不過文章選用的是已知固有SNP進行分類,基因表達分類用於和SNP分類進行比較。
代碼講解
讀入QC后的seurat obj,過濾代碼見之前的博客http://www.thecodesearch.com/2021/01/28/%e5%8d%95%e7%bb%86%e8%83%9erna%e6%b5%8b%e5%ba%8fqc%e5%b7%b2%e7%9f%a5%e6%a0%b7%e6%9c%acsnp/
根據測序的細胞系個數設定參數, n_pcs是主成分分析時主成分個數, clust_res是運行FindCluster函數的resolution參數
n_cls <- nlevels(seuObj)
n_pcs <- 2*n_cls
if(n_cls > 25-param_range & n_cls < 25+param_range) {
clust_res <- 1
} else if(n_cls > 50-param_range & n_cls < 50+param_range) {
clust_res <- 2
} else if(n_cls > 100-param_range & n_cls < 100+param_range) {
clust_res <- 4
} else {
stop('Not implemented')
}
根據之前QC時的標記,選擇過質控的細胞
#use just good singlets
cq <- Seurat::FetchData(seuObj, vars = c('cell_quality'))
seuObj <- seuObj[, which(cq$cell_quality == 'normal')]
進行細胞分類
seuObj <- Seurat::ScaleData(object = seuObj, vars.to.regress = vtr)
seuObj <- Seurat::FindVariableFeatures(object = seuObj,
nfeatures = 1e5,
selection.method = 'vst')
seuObj <- Seurat::RunPCA(object = seuObj,
features = Seurat::VariableFeatures(seuObj),
seed.use = 1,
npcs = n_pcs,
verbose = FALSE)
seuObj <- Seurat::RunTSNE(object = seuObj,
dims = 1:n_pcs,
check_duplicates = FALSE,
seed.use = 1,
perplexity = 30,
verbose = FALSE)
#cluster cells
seuObj <- Seurat::FindNeighbors(seuObj, reduction = 'pca',
dims = 1:n_pcs,
k.param = 10,
force.recalc = TRUE,
verbose = FALSE)
seuObj <- Seurat::FindClusters(seuObj, resolution = clust_res, verbose = FALSE)