一行代碼合并多個(gè)空間轉(zhuǎn)錄組數(shù)據(jù)

寫了個(gè)簡(jiǎn)單的程序用于空間轉(zhuǎn)錄組數(shù)據(jù)的和整合勿锅,包含的合并方法有以下幾種:
1.CCA(基于Seurat)
2.Harmony
3.FastMNN(基于batchelor)
4.scVI
5.基于 feature anchoring
要使用這個(gè)函數(shù)闸婴,您需要安裝以下R包:Seurat个绍、batchelor、reticulate世囊,要是用scVI整合需要以下Python包:scanpy、anndata、scvi-tools萍丐。

使用方法非常簡(jiǎn)單,您只需要提供包含所有spaceranger輸出數(shù)據(jù)的目錄路徑放典,函數(shù)將自動(dòng)讀取數(shù)據(jù)并將它們整合逝变。使此函數(shù)正常工作基茵,數(shù)據(jù)需要以下目錄結(jié)構(gòu)組織好spaceranger處理后的數(shù)據(jù):

Result
├── Sample1
│   ├── outs
│   │   ├── analysis
│   │   ├── filtered_feature_bc_matrix
│   │   ├── raw_feature_bc_matrix
│   │   ├── spatial
│   │       ├── tissue_positions.csv
│   │       ├── scalefactors_json.json
│   │       ├── image.tif
│   │       ├── tissue_hires_image.png
│   │       ├── tissue_lowres_image.png
│   │       ├── aligned_fiducials.jpg
│   │       ├── detected_tissue_image.jpg
│   │       ├── spatial_enrichment.csv
├── Sample2
├── Sample3
│--- Sample4
│--- Sample5
│--- Sample6
│--- Sample7
│--- Sample8
│

按照這種方式組織您的數(shù)據(jù),即將所有的spaceranger 結(jié)果放到一個(gè)result 目錄下壳影,并提供Result目錄的路徑拱层,函數(shù)將自動(dòng)讀取數(shù)據(jù)并進(jìn)行整合。

scVI:

要使用此方法宴咧,您需要為scVI設(shè)置一個(gè)工作的conda環(huán)境根灯,請(qǐng)?jiān)O(shè)置conda_env=您環(huán)境的路徑,例如conda_env="/home/USER/miniconda3/envs/scvi"掺栅, 此處USER是你的用戶名

要在R終端加載此函數(shù)并運(yùn)行:

加載代碼:

source(url('https://raw.githubusercontent.com/Polligator/Integrated-Visium-Spatial-transcriptomics-data/main/integration.r'))

運(yùn)行程序整合:

inetgrated_ST<-ST_Data_Integration(visium_dir = visium_dir, method = "SCVI", conda_env = "/miniconda3/envs/scvi",epochs = 100)

visium_dir是您目錄的路徑烙肺,其中應(yīng)包含所有單個(gè)spaceranger數(shù)據(jù)文件夾。

整合結(jié)果可視化:

DimPlot(inetgrated_ST, reduction = "umap.integrated", group.by = c("integrated_clusters", "orig.ident"), pt.size = 3) 

FastMNN:

此方法使用batchelor包整合ST數(shù)據(jù):https://bioconductor.org/packages/release/bioc/html/batchelor.html氧卧,此方法有兩個(gè)選項(xiàng):FastMNN_all和FastNMF_variable桃笙。FastMNN_all使用所有樣本中存在的所有公共基因來整合數(shù)據(jù),F(xiàn)astNMF_variable僅使用由Seurat函數(shù)VariableFeatures()識(shí)別的可變特征來整合數(shù)據(jù)假抄。

inetgrated_ST <- ST_Data_Integration(visium_dir = visium_dir, method = "FastNMF_variable") inetgrated_ST <- ST_Data_Integration(visium_dir = visium_dir, method = "FastNMF_all")

可視化:

DimPlot(inetgrated_ST, reduction = "umap.NMF", group.by = c("integrated_clusters", "orig.ident"), pt.size = 3)

CCA或Harmony

CCA
inetgrated_ST <- ST_Data_Integration(visium_dir = visium_dir, method = "CCA") 
Harmony
inetgrated_ST <- ST_Data_Integration(visium_dir = visium_dir, method = "Harmony") 

可視化:

DimPlot(inetgrated_ST, reduction = "umap.integrated", group.by = c("integrated_clusters", "orig.ident"), pt.size = 3)

FeatureAnchoring

此方法基于Seurat包怎栽,它使用特征錨定函數(shù)來整合數(shù)據(jù),該函數(shù)將自動(dòng)選擇最大數(shù)量的可變特征來整合數(shù)據(jù)宿饱⊙椋基本上,它是Seurat函數(shù)FindIntegrationAnchors和IntegrateData包裝后的結(jié)果谬以,即下面的函數(shù)打包后的結(jié)果

int.anchors <- FindIntegrationAnchors(object.list = st.list, normalization.method = "SCT", verbose = FALSE, anchor.features = st.features) 
integrated <- IntegrateData(anchorset = int.anchors, normalization.method = "SCT", verbose = FALSE) 

要使用此FeatureAnchoring方法

inetgrated_ST <- ST_Data_Integration(visium_dir = visium_dir, method = "FeatureAnchoring")

結(jié)果可視化:

DimPlot(inetgrated_ST, reduction = "umap", group.by = c("ident", "orig.ident"))
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末强饮,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子为黎,更是在濱河造成了極大的恐慌邮丰,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件铭乾,死亡現(xiàn)場(chǎng)離奇詭異剪廉,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)炕檩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門斗蒋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人笛质,你說我怎么就攤上這事泉沾。” “怎么了妇押?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵跷究,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我敲霍,道長(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)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼阳柔!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蚓峦,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤舌剂,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(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
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽虏两。三九已至,卻和暖如春世剖,著一層夾襖步出監(jiān)牢的瞬間定罢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來泰國(guó)打工旁瘫, 沒想到剛下飛機(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)容