Seurat對(duì)象敞临、SingleCellExperiment對(duì)象和scanpy對(duì)象的轉(zhuǎn)化

Seurat官網(wǎng):https://satijalab.org/seurat/articles/conversion_vignette.html

Seurat objects, SingleCellExperiment objects和anndata objects之間的轉(zhuǎn)換集漾。

library(scater)
library(Seurat)
library(SeuratData)
#remotes::install_github("mojaveazure/seurat-disk")
library(SeuratDisk)
library(patchwork)

1. Converting to/from SingleCellExperiment

  • 從Seurat對(duì)象轉(zhuǎn)換為SingleCellExperiment對(duì)象
# 數(shù)據(jù)下載自satija lab 
#下載地址:https://www.dropbox.com/s/kwd3kcxkmpzqg6w/pbmc3k_final.rds?dl=0
pbmc <- readRDS(file = "../data/pbmc3k_final.rds")
pbmc.sce <- as.SingleCellExperiment(pbmc)
p1 <- plotExpression(pbmc.sce, features = "MS4A1", x = "ident") + theme(axis.text.x = element_text(angle = 45,hjust = 1))
p2 <- plotPCA(pbmc.sce, colour_by = "ident")
p1 + p2
  • 從SingleCellExperiment對(duì)象轉(zhuǎn)換為Seurat對(duì)象
# 演示數(shù)據(jù)下載自hemberg lab
# 下載地址:https://scrnaseq-public-datasets.s3.amazonaws.com/scater-objects/manno_human.rds
manno <- readRDS(file = "../data/manno_human.rds")
manno <- runPCA(manno)
manno.seurat <- as.Seurat(manno, counts = "counts", data = "logcounts")
# gives the same results; but omits defaults provided in the last line
manno.seurat <- as.Seurat(manno)
Idents(manno.seurat) <- "cell_type1"
p1 <- DimPlot(manno.seurat, reduction = "PCA", group.by = "Source") + NoLegend()
p2 <- RidgePlot(manno.seurat, features = "ACTB", group.by = "Source")
p1 + p2

2. Converting to/from loom

  • 從Seurat對(duì)象轉(zhuǎn)換為loom對(duì)象
pbmc.loom <- as.loom(pbmc, filename = "../pbmc3k.loom", verbose = FALSE)
pbmc.loom
# Always remember to close loom files when done
pbmc.loom$close_all()
  • 從loom對(duì)象轉(zhuǎn)換為Seurat對(duì)象
# 數(shù)據(jù)下載自linnarsson lab
# 下載地址:https://storage.googleapis.com/linnarsson-lab-loom/l6_r1_immune_cells.loom
l6.immune <- Connect(filename = "../data/l6_r1_immune_cells.loom", mode = "r")
l6.immune
l6.seurat <- as.Seurat(l6.immune)
Idents(l6.seurat) <- "ClusterName"
VlnPlot(l6.seurat, features = c("Sparc", "Ftl1", "Junb", "Ccl4"), ncol = 2)
# Always remember to close loom files when done
l6.immune$close_all()

更多l(xiāng)oom和Seurat之間的相互轉(zhuǎn)換缓屠,見(jiàn):https://github.com/mojaveazure/loomR

3. Converting to/from AnnData

AnnDataScanpy包的數(shù)據(jù)存儲(chǔ)格式唉韭, Seurat對(duì)象和AnnData之間的轉(zhuǎn)換由SeuratDisk完成。
參考 :https://mojaveazure.github.io/seurat-disk/articles/convert-anndata.html

  • 從Seurat對(duì)象轉(zhuǎn)換到AnnData(使用h5Seurat)
pbmc3k <- readRDS("pbmc.rds")
pbmc3k.final
#> An object of class Seurat 
#> 13714 features across 2638 samples within 1 assay 
#> Active assay: RNA (13714 features, 2000 variable features)
#>  2 dimensional reductions calculated: pca, umap

將Seurat對(duì)象轉(zhuǎn)換為AnnData file需要兩步内列。
1. 將Seurat對(duì)象保存為h5Seurat文件。
2. 將h5Seurat文件轉(zhuǎn)換成Scanpy的AnnData文件背率。

SaveH5Seurat(pbmc3k.final, filename = "pbmc3k.h5Seurat")
Convert("pbmc3k.h5Seurat", dest = "h5ad")

運(yùn)行完后话瞧,工作目錄下的到2個(gè)文件

隨后就可以使用Scanpy的read_h5ad功能查看AnnData文件。

python3
import scanpy
adata = scanpy.read_h5ad("pbmc3k.h5ad")
adata
#> AnnData object with n_obs × n_vars = 2638 × 13714
#>     obs: 'orig.ident', 'nCount_RNA', 'nFeature_RNA', 'percent.mt', 'RNA_snn_res.0.5', 'seurat_clusters', 'cell_type'
#>     var: 'vst.mean', 'vst.variance', 'vst.variance.expected', 'vst.variance.standardized', 'vst.variable'
#>     uns: 'neighbors'
#>     obsm: 'X_pca', 'X_umap'
#>     varm: 'PCs'
#>     obsp: 'distances'
  • 從AnnData轉(zhuǎn)換到Seurat對(duì)象(使用h5Seurat)
url <- "https://seurat.nygenome.org/pbmc3k_final.h5ad"
curl::curl_download(url, basename(url))
Convert("pbmc3k_final.h5ad", dest = "h5seurat", overwrite = TRUE)
pbmc3k <- LoadH5Seurat("pbmc3k_final.h5seurat")
pbmc3k
#> An object of class Seurat 
#> 13714 features across 2638 samples within 1 assay 
#> Active assay: RNA (13714 features, 0 variable features)
#>  2 dimensional reductions calculated: pca, umap
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
禁止轉(zhuǎn)載寝姿,如需轉(zhuǎn)載請(qǐng)通過(guò)簡(jiǎn)信或評(píng)論聯(lián)系作者交排。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市饵筑,隨后出現(xiàn)的幾起案子埃篓,更是在濱河造成了極大的恐慌,老刑警劉巖根资,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件架专,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡玄帕,警方通過(guò)查閱死者的電腦和手機(jī)部脚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)裤纹,“玉大人委刘,你說(shuō)我怎么就攤上這事。” “怎么了锡移?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵呕童,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我淆珊,道長(zhǎng)夺饲,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任施符,我火速辦了婚禮往声,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘操刀。我一直安慰自己烁挟,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開白布骨坑。 她就那樣靜靜地躺著撼嗓,像睡著了一般。 火紅的嫁衣襯著肌膚如雪欢唾。 梳的紋絲不亂的頭發(fā)上且警,一...
    開封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音礁遣,去河邊找鬼斑芜。 笑死,一個(gè)胖子當(dāng)著我的面吹牛祟霍,可吹牛的內(nèi)容都是我干的杏头。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼沸呐,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼醇王!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起崭添,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤寓娩,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后呼渣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體棘伴,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年屁置,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了焊夸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡缰犁,死狀恐怖淳地,靈堂內(nèi)的尸體忽然破棺而出怖糊,到底是詐尸還是另有隱情帅容,我是刑警寧澤颇象,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布,位于F島的核電站并徘,受9級(jí)特大地震影響遣钳,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜麦乞,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一蕴茴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧姐直,春花似錦倦淀、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至插龄,卻和暖如春愿棋,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背均牢。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工糠雨, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人徘跪。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓甘邀,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親垮庐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子松邪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容