Subskrypcja JoVE jest wymagana do oglądania tego materiału. Zaloguj się lub rozpocznij bezpłatny okres próbny.

Artykuł metodologiczny

Praktyczny schemat analizy danych z transkryptomiki przestrzennej: od pozyskiwania danych po analizy zaawansowane

363 wyświetleń

⸱

DOI:

10.3791/70188

⸱

21 sierpnia 2026

 ,  ,  ,  ,  ,  ,  ,  , 

W tym artykule

Podsumowanie

Niniejszy protokół przedstawia powtarzalny schemat analizy danych transkryptomiki przestrzennej, prowadząc użytkownika od pozyskania danych publicznych i kontroli jakości w oparciu o pakiet Seurat, poprzez integrację, detekcję cech przestrzennych, dekonwolucję typów komórek, adnotację obszarów zainteresowania, aż po analizę komunikacji międzykomórkowej, z uwzględnieniem praktycznych punktów kontrolnych wspierających przejrzystość wykonania.

Streszczenie

Transkryptomika przestrzenna (ST) profiluje ekspresję genów w całym genomie, zachowując dwuwymiarowy kontekst przestrzenny cząsteczek mRNA w przekrojach tkanek, co umożliwia badania architektury tkanek oraz biologii związanej z mikrośrodowiskiem. Analiza ST pozostaje jednak wyzwaniem, ponieważ import danych, kontrola jakości, integracja, dekonwolucja, statystyka przestrzenna i wizualizacja często wymagają wielu środowisk programistycznych i powtarzalnego doboru parametrów. Niniejszy protokół przedstawia praktyczny przepływ pracy obliczeniowej dla publicznych zbiorów danych ST w języku R, rozpoczynający się od pozyskania danych i konfiguracji oprogramowania, a następnie obejmujący ładowanie danych w pakiecie Seurat, kontrolę jakości, normalizację, integrację wielu próbek, klastrowanie oraz analizę genów zmiennych przestrzennie. Następnie przepływ pracy stosuje uzupełniające strategie dekonwolucji, w tym analizę SPOTlight z prowadzeniem referencyjnym oraz nienadzorowane modelowanie tematów STdeconvolve, a po nich analizę przestrzennej komunikacji międzykomórkowej w pakiecie Giotto oraz interaktywny wybór regionów zainteresowania (ROI) przy użyciu niestandardowej aplikacji Python Dash. Kładąc nacisk na wykonywanie za pomocą skryptów, jawne uzasadnienia parametrów, oczekiwane wyniki i punkty kontrolne rozwiązywania problemów, protokół zapewnia adaptacyjną strukturę dla standardowych zbiorów danych ST opartych na macierzach oraz powiązanych platform po ocenie parametrów specyficznych dla zbioru danych i platformy.

Wprowadzenie

Transkryptomika przestrzenna (ST) to przełomowa rodzina technologii umożliwiająca pomiar ekspresji genów w całym genomie przy jednoczesnym zachowaniu współrzędnych przestrzennych cząsteczek mRNA (messenger RNA) w przekrojach tkanek. Metody ST obejmują podejścia oparte na sekwencjonowaniu, które wykorzystują macierze z kodami kreskowymi określającymi pozycję, oraz podejścia obrazowe in situ, które mapują sygnały transkrypcyjne w nienaruszonych mikrośrodowiskach tkankowych1,2. Dzięki zachowaniu kontekstu przestrzennego ST umożliwia analizę architektury tkanek, organizacji sąsiedztwa komórkowego, komunikacji międzykomórkowej oraz procesów biologicznych związanych z mikrośrodowiskiem, których nie można w pełni rozstrzygnąć po dysocjacji tkanek3.

Szybki wzrost publicznych repozytoriów danych ST stworzył bezprecedensowe możliwości dla wtórnych analiz i rozwoju nowych metod3. Zasoby takie jak baza danych CROST katalogują setki zestawów danych transkryptomicznych o rozdzielczości przestrzennej u wielu gatunków i na różnych platformach technologicznych, podczas gdy specjalistyczne kolekcje, takie jak STOmicsDB, koncentrują się na konkretnych metodologiach, takich jak Stereo-seq4,5. Pomimo tej obfitości danych, analiza obliczeniowa pozostaje wyzwaniem ze względu na złożoność struktur danych przestrzennych, różnorodność narzędzi analitycznych oraz techniczne przeszkody w implementacji powtarzalnych przepływów pracy6,7,8,9,10,11.

Aby rozwiązać ograniczenia wynikające z polegania na jednym środowisku programistycznym, w niniejszym opracowaniu przedstawiono zintegrowany przepływ obliczeniowy wykorzystujący komplementarne narzędzia analityczne. Istniejące kompleksowe ekosystemy analizy ST obejmują przede wszystkim Seurat, Giotto oraz frameworki oparte na języku Python, takie jak Squidpy6,7,12. Chociaż narzędzia oparte na Pythonie, takie jak Squidpy, oferują szerokie funkcjonalności w zakresie analizy grafów przestrzennych, skonsolidowanie głównej ścieżki obliczeniowej w obrębie jednego języka programowania minimalizuje techniczne trudności związane z wymianą danych między językami. W związku z tym główny proces został zaimplementowany głównie w języku R. W ramach tego przepływu pracy opartego na R, Seurat jest wykorzystywany do ładowania danych, kontroli jakości, normalizacji, redukcji wymiarowości, wizualizacji oraz integracji wielu próbek, co odzwierciedla jego powszechne zastosowanie w analizach transkryptomiki jednokomórkowej i przestrzennej. Następnie Giotto jest wykorzystywane do konstrukcji sieci przestrzennych oraz analizy komunikacji międzykomórkowej w oparciu o interakcje ligand-receptor. Tym samym potok ten łączy wstępne przetwarzanie i integrację w Seurat z analizą przestrzenną w Giotto, zapewniając przy tym jawny i powtarzalny transfer danych między oboma zestawami narzędzi.

W ramach tego podejścia zaimplementowano dwie komplementarne strategie dekonwolucji: SPOTlight, metodę z wykorzystaniem referencji, która używa danych scRNA-seq do szacowania proporcji typów komórek, oraz STdeconvolve, nienadzorowaną metodę modelowania tematów, która identyfikuje utajone wzorce transkrypcyjne8,11. Wyniki dostarczają komplementarnych spojrzeń na przestrzenną heterogeniczność komórkową, jednak nie są traktowane jako ilościowa walidacja krzyżowa, chyba że użytkownicy przeprowadzą opcjonalną analizę zgodności opisaną w protokole. Zintegrowano dedykowaną aplikację Python Dash, Select Spatial Spots, służącą do interaktywnej adnotacji obszarów zainteresowania (ROI), która eksportuje standardowe pliki adnotacji oparte na współrzędnych, mogące być wykorzystane w późniejszych analizach downstream.

W odniesieniu do praktycznego zastosowania, niniejszy schemat postępowania jest przeznaczony przede wszystkim dla standardowych danych ST opartych na matrycach (np. Visium o rozdzielczości 55 µm) i może być dostosowany do innych typów tkanek po ewaluacji parametrów. Przed przystąpieniem do analizy należy rozważyć kluczowe ograniczenia. Po pierwsze, moduł dekonwolucji kierowanej referencyjnie zależy od wysokiej jakości referencji scRNA-seq, dopasowanej do danej tkanki. Po drugie, platformy o rozdzielczości subkomórkowej lub zbliżonej do pojedynczej komórki mogą wymagać zmodyfikowanego wstępnego przetwarzania, agregacji binów przestrzennych lub segmentacji komórek na podstawie obrazów przed integracją2. Reprezentatywny zbiór danych z jelita grubego myszy służy jako przykład demonstracyjny, aby pokazać, w jaki sposób schemat postępowania może oceniać domeny przestrzenne i organizację tkanki zdefiniowaną przez markery, a nie jako dowód na uniwersalną kompatybilność platformy.

Dostęp ograniczony. Zaloguj się lub rozpocznij wersję próbną, aby wyświetlić tę treść.

Protokół

Wszystkie zbiory danych biologicznych analizowane w niniejszym protokole są ogólnodostępne i wykorzystane wyłącznie w celach demonstracyjnych. Konkretne numery dostępowe do danych oraz repozytoria źródłowe podano w odpowiednich krokach. Oryginalne zbiory danych zostały wygenerowane przez pierwotnych badaczy zgodnie z instytucjonalnymi wytycznymi etycznymi obowiązującymi dla każdego badania źródłowego. Należy zapoznać się z Tabelą Materiałów, aby zweryfikować wszystkie wymagane wersje oprogramowania i pakietów R.

Wymagania sprzętowe: Pamięć obliczeniowa wymagana dla tego przepływu pracy skaluje się wraz z liczbą analizowanych próbek i punktów. W przypadku typowego zbioru danych transkryptomiki przestrzennej (np. około 3 000 punktów na próbkę dla maksymalnie trzech próbek), standardna stacja robocza z minimum 16 GB pamięci RAM jest wystarczająca do wykonania potoku przetwarzania. Jednakże, w celu zapewnienia optymalnej wydajności i stabilności, szczególnie podczas pamięciożernych etapów obliczeniowych, takich jak normalizacja SCTransform oraz faktoryzacja macierzy podczas dekonwolucji, wysoce zalecane jest 32 GB pamięci RAM lub więcej.

1. Pozyskiwanie danych i przygotowanie struktury katalogów

  1. Pobrać publiczne zbiory danych transkryptomiki przestrzennej (np. numer dostępu GEO GSE169749, data przesłania 26 marca 2021 r. i data ostatniej aktualizacji 6 marca 2022 r.) oraz referencyjne dane scRNA-seq (np. numer dostępu GEO GSE264408, data przesłania 19 kwietnia 2024 r. i data ostatniej aktualizacji 10 grudnia 2024 r.).
  2. Pobrać archiwum z surowymi danymi (np. GSE169749_RAW.tar) z repozytorium i rozpakować archiwum.
    UWAGA: W przypadku reprezentatywnego zbioru danych użytego w niniejszym protokole, rozpakowany katalog zawiera wiele plików dla każdej próbki, a nazwy plików zazwyczaj zawierają numer dostępu do próbki GEO (np. GSM5213483).
  3. Zorganizować pliki w standaryzowanej strukturze katalogów kompatybilnej z funkcją Seurat Load10X_Spatial.
    1. Utworzyć główny katalog danych (np. ./data/).
    2. Utworzyć dedykowany podkatalog dla każdej próbki (np. ./data/sample_A1/).
    3. Przenieść (skopiować lub przenieść) następujące niezbędne pliki dla każdej próbki do odpowiedniego podkatalogu.
      1. Umieścić plik filtered_feature_bc_matrix.h5 w głównym podkatalogu próbki.
      2. Utworzyć podfolder spatial/ w każdym katalogu próbki.
      3. Umieścić następujące pliki w podfolderze spatial/: tissue_positions_list.csv.gz, scalefactors_json.json.gz oraz tissue_hires_image.png.gz.
    4. Rozpakować pliki .gz w folderze spatial/. Upewnić się, że oryginalne nazwy plików pozostały dokładnie takie, jakich wymaga funkcja Load10X_Spatial (np. tissue_positions_list.csv).
      UWAGA: Końcowa, zorganizowana struktura dla sprawnego ładowania musi odpowiadać temu wzorowi, przyjmując próbkę A1 jako przykład:
      ./data/sample_A1/filtered_feature_bc_matrix.h5
      ./data/sample_A1/spatial/tissue_positions_list.csv
      ./data/sample_A1/spatial/scalefactors_json.json
      ./data/sample_A1/spatial/tissue_hires_image.png

2. Konfiguracja środowiska programistycznego

  1. Zainstaluj program R (wersja 4.4.3 lub wyższa).
  2. Pobierz skrypty analityczne (od 1_ReadSpatialData.R do 8_Giotto_Communication.R) z repozytorium GitHub (https://github.com/LeafLight/SpatialTranscriptomicsWorkFlow, suma kontrolna commitu 2d85e18 w celu zapewnienia powtarzalności).
  3. Zainstaluj wymagane pakiety R z CRAN i Bioconductor, uruchamiając skrypt setup.R.
    UWAGA: Pełna lista konkretnych wersji pakietów wykorzystanych w tym przepływie pracy znajduje się w Tabeli Materiałów oraz w pliku session_info.txt w powiązanym repozytorium GitHub (https://github.com/LeafLight/SpatialTranscriptomicsWorkFlow).
  4. Zainstaluj Giotto Suite, wykonując polecenia instalacyjne zawarte w oficjalnej dokumentacji.
    1. Przejdź do oficjalnego adresu URL instalacji, aby pobrać skrypty konfiguracyjne: https://giottosuite.com/articles/installation.html
    2. Zainicjuj wymagane środowisko Python oraz zależności systemowe zgodnie z instrukcjami krok po kroku.
  5. Zainstaluj dodatkowe pakiety w celu ulepszonej wizualizacji.
    1. Wykonaj: install.packages(c("ggprism", "colorBlindness"))
  6. Zainstaluj niestandardowe narzędzie Select Spatial Spots. Upewnij się, że system operacyjny to Windows, macOS lub Linux, a zainstalowana jest wersja języka Python 3.8 lub wyższa. Krok ten jest opcjonalny.
    1. Pobierz narzędzie, przechodząc do repozytorium GitHub (https://github.com/LeafLight/SelectSpatialSpots, suma kontrolna commitu d20946e w celu zapewnienia powtarzalności) i pobierając kod źródłowy.
    2. Przejdź do katalogu narzędzia i zainstaluj zależności Pythona: pip install -r requirements.txt
  7. Zainstaluj pakiet glmGamPoi , wykonując polecenie BiocManager::install("glmGamPoi"), aby przyspieszyć normalizację SCTransform.
    UWAGA: Podstawowy przepływ pracy wymaga jedynie pakietów wymienionych w krokach 2.1–2.3 i 2.6. Pakiet Rfast2 służy do przyspieszenia obliczeń statystyki I Morana. Opcjonalne pakiety z kroku 2.5 służą do generowania wykresów gotowych do publikacji w stylu prism (ggprism) oraz do korzystania z palety kolorów dostosowanej do osób z zaburzeniami rozpoznawania barw (colorBlindness). Narzędzie z kroku 2.6 umożliwia interaktywny wybór punktów (spotów). Wykonaj polecenie sessionInfo() i zapisz pełny wynik konsoli w pliku tekstowym. Dokumentuje to dokładne wersje oprogramowania i zależności pakietów, co jest kluczowe dla zapewnienia długoterminowej powtarzalności.

3. Ładowanie danych przestrzennych i kontrola jakości (1_ReadSpatialData.R, 2_SpatialDataQC.R)

  1. Wczytaj dane przestrzenne do obiektów Seurat.
    1. Użyj Read10X_Image, aby ręcznie wczytać obraz tkanki o wysokiej rozdzielczości, określając image.dir i image.name.
    2. Użyj funkcji Load10X_Spatial z parametrem image ustawionym na obiekt obrazu utworzony w kroku 3.1.1, aby stworzyć obiekt Seurat.
  2. Oblicz wskaźniki kontroli jakości.
    1. Oblicz procent odczytów mitochondrialnych za pomocą funkcji PercentageFeatureSet z wzorcem ^mt-.
  3. Wizualizuj i interpretuj dane na podstawie wskaźników QC.
    1. Wygeneruj wykresy skrzypcowe (violin plots) dla nCount_Spatial, nFeature_Spatial oraz percent.mt za pomocą funkcji VlnPlot.
    2. Utwórz przestrzenne wykresy cech (spatial feature plots) tych wskaźników za pomocą SpatialFeaturePlot, aby zidentyfikować punkty znajdujące się poza obszarem tkanki.
      UWAGA: Punkt kontrolny wizualizacji: Punkty poza obszarem tkanki zazwyczaj wykazują niską liczbę UMI (nCount_Spatial < 500) i niską wykrywalność genów (nFeature_Spatial < 200)
    3. W celach demonstracyjnych zastosuj filtry w celu usunięcia punktów o niskiej jakości (np. subset(seurat_obj, subset = nFeature_Spatial > 200 & nCount_Spatial > 500)). Jest to krok opcjonalny.
      UWAGA: Głównym celem QC w transkryptomice przestrzennej jest identyfikacja i adnotacja artefaktów technicznych, takich jak punkty poza tkanką. W przypadku demonstracyjnych danych Visium z jelita grubego, warunki nFeature_Spatial > 200 i nCount_Spatial > 500 usuwają punkty o niskiej złożoności/tła. W przypadku tkanek o niskiej zawartości RNA lub zdegradowanych przekrojów, sprawdź wykresy skrzypcowe i przestrzenne wykresy cech przed podniesieniem progów; dla tkanek gęstych lub o wysokim poziomie UMI mogą być odpowiednie bardziej rygorystyczne progi. Unikaj filtrowania wyłącznie na podstawie wysokich wartości ekspresji, chyba że widoczne są dublety, fałdy tkanki lub wyraźne artefakty. Filtrowanie jest często niewskazane, ponieważ fizycznie usuwa lokalizacje przestrzenne, co może zakłócić ciągłość struktury tkanki w dalszej analizie przestrzennej.

4. Wstępne przetwarzanie, integracja i klasteryzacja danych (3_IntegrationAndClustering.R)

  1. Znormalizuj i przeprowadź wstępną obróbkę poszczególnych próbek.
    1. Zastosuj normalizację SCTransform do każdej próbki oddzielnie, ustawiając assay = Spatial.
  2. Zintegruj wiele próbek.
    1. Przygotuj listę obiektów znormalizowanych metodą SCT do integracji. Upewnij się, że każdy obiekt posiada assay „RNA”, kopiując assay „Spatial”: spatial_list[[1]][["RNA"]] <- spatial_list[[1]][["Spatial"]]
      ​UWAGA: Kopiowanie assay „Spatial” do standardowego slotu assay „RNA” służy jako niezbędne obejście w celu zapewnienia kompatybilności z funkcjami integracji w dalszych etapach, które zostały pierwotnie zaprojektowane dla obiektów Seurat z danych jednokomórkowych.
    2. Użyj funkcji SelectIntegrationFeatures oraz PrepSCTIntegration, aby zidentyfikować wspólne cechy zmienne.
    3. Znajdź kotwice integracji (integration anchors) za pomocą funkcji FindIntegrationAnchors z parametrem normalization.method = "SCT".
    4. Zintegruj dane za pomocą funkcji IntegrateData z parametrem normalization.method = "SCT".
  3. Przeprowadź redukcję wymiarowości i klasteryzację na zintegrowanym assay.
    1. Uruchom PCA na zintegrowanych danych, korzystając z funkcji RunPCA.
    2. Wyznacz optymalną liczbę głównych składowych (PCs) do dalszych analiz poprzez obliczenie skumulowanej wariancji. Zidentyfikuj programowo punkt przegięcia (np. punkt, w którym wariancja skumulowana przekracza 90%, a przyrost marginalny spada poniżej 0,1%), korzystając z kodu w pliku 3_IntegrationAndClustering.R, linie 36-38. Otrzymaną liczbę PCs określaj dalej jako pc.use.
    3. Uruchom funkcję RunUMAP z parametrem dims = 1:pc.use.
    4. Pogrupuj komórki w klastry, używając funkcji FindNeighbors z parametrem dims = 1:pc.use oraz funkcji FindClusters z parametrem resolution = 0.5. Dostosuj rozdzielczość (resolution) dopiero po sprawdzeniu stabilności klastrów i spójności genów markerowych.
    5. Przeprowadź analizę różnicowej ekspresji między grupami docelowymi (np. „B1_colon_d14” versus „A1_colon_d0”) za pomocą funkcji FindMarkers.
      ​UWAGA: Punkt kontrolny wizualny: Prawidłowa integracja powinna wykazać odpowiednie wymieszanie próbek na wykresie UMAP przy jednoczesnym zachowaniu biologicznie odrębnych klastrów.
  4. Zidentyfikuj geny zmienne przestrzennie.
    1. Dla każdej oryginalnej próbki uruchom funkcję FindSpatiallyVariableFeatures, stosując metodę „moransi” na assay „SCT”, aby obliczyć autokorelację przestrzenną.

5. Przetwarzanie wstępne danych referencyjnych z pojedynczych komórek (4_scDataPreProcessing.R)

  1. Wczytaj macierz zliczeń scRNA-seq za pomocą funkcji Read10X i utwórz obiekt Seurat.
  2. Przeprowadź standardową kontrolę jakości (QC), normalizację i klastrowanie.
    1. Oblicz procent odczytów mitochondrialnych (percent.mt) i odfiltruj komórki (np. nFeature_RNA > 200 & nFeature_RNA < 7500 & percent.mt < 25).
    2. Znormalizuj dane za pomocą funkcji SCTransform, ustawiając vars.to.regress = "percent.mt".
    3. Uruchom PCA, UMAP i przeprowadź klastrowanie komórek, stosując metodę dynamicznego wyboru PC opisaną w kroku 4.3.2.
  3. Wykonaj adnotację typów komórek.
    1. Oblicz wyniki modułów (module scores) dla kanonicznych genów markerowych typów komórek za pomocą funkcji AddModuleScore.
    2. Zadnotuj klastry na podstawie wyników modułów i znanej biologii. Alternatywnie zaimportuj wcześniej obliczone adnotacje z metadanych.

6. Dekonwolucja z wykorzystaniem referencji w programie SPOTlight (5_SPOTlight_Deconv.R)

  1. Przygotowanie danych dla SPOTlight.
    1. Konwersja adnotowanego obiektu Seurat z danych jednokomórkowych oraz obiektu Seurat z danych przestrzennych na obiekty SingleCellExperiment.
    2. Log-normalizacja danych jednokomórkowych przy użyciu logNormCounts.
  2. Uruchomienie dekonwolucji SPOTlight.
    1. Identyfikacja genów hiperzmiennych (HVGs) w danych jednokomórkowych przy użyciu funkcji modelGeneVar i getTopHVGs.
    2. Obliczenie genów markerowych dla typów komórek przy użyciu scoreMarkers i odfiltrowanie markerów wysokiej jakości (np. mean.AUC > 0,8).
    3. Downsampling referencji jednokomórkowej dla każdego typu komórek do zarządzalnej liczby (np. 50 komórek) w celu skrócenia czasu obliczeń.
    4. Wykonanie dekonwolucji przy użyciu funkcji SPOTlight z parametrami weight_id = "mean.AUC", group_id = "cluster" oraz gene_id = "gene".
  3. Wizualizacja i eksport wyników.
    1. Ekstrakcja macierzy wyników dekonwolucji (proporcje typów komórek na spot).
    2. Użycie funkcji plotSpatialScatterpie do wizualizacji składu komórkowego w współrzędnych przestrzennych.
    3. Dodanie wyników dekonwolucji do metadanych przestrzennego obiektu Seurat przy użyciu AddMetaData. Oczekiwany wynik: macierz dekonwolucji z kolumnami proporcji typów komórek dla każdego spotu przestrzennego, wykresy spatial scatterpie pokazujące lokalny skład komórkowy oraz obiekt Seurat zawierający proporcje dekonwolucji w metadanych.

7. Dekonwolucja bezreferencyjna za pomocą STdeconvolve (7_STdeconvolve.R)

  1. Przygotowanie danych przestrzennych.
    1. Wyodrębnij macierz surowych zliczeń z przestrzennego obiektu Seurat, korzystając z funkcji GetAssayData z parametrem slot = "counts".
    2. Usuń niskiej jakości punkty (spots) i geny za pomocą funkcji cleanCounts z pakietu STdeconvolve (np. min.lib.size = 100).
  2. Identyfikacja ukrytych typów komórek.
    1. Dalej filtruj korpus pod kątem genów ekspresjonowanych w minimalnej frakcji punktów, korzystając z funkcji restrictCorpus (np. removeAbove=1.0, removeBelow = 0.05).
    2. Dopasuj model Latent Dirichlet Allocation (LDA) dla zakresu potencjalnych liczb tematów (K) (np. Ks = seq(2, 9, by = 1)), używając funkcji fitLDA.
    3. Wybierz optymalny model na podstawie minimalnej perpleksji, korzystając z funkcji optimalModel z parametrem opt = "min".
  3. Analiza i wizualizacja wyników.
    1. Wyodrębnij proporcje typów komórek (tematów) (theta) oraz profile genów (beta) z optymalnego modelu za pomocą funkcji getBetaTheta.
    2. Aby wspomóc biologiczną interpretację zdekonwolwowanych tematów, zaimportuj adnotacje obszarów zainteresowania (ROI) wygenerowane przez narzędzie „Select Spatial Spots” (patrz krok 9.3.3). Użyj tych adnotacji jako parametru groups w funkcji vizAllTopics, aby rzutować zdekonwolwowane proporcje typów komórek z powrotem na współrzędne przestrzenne i zakodować kolorami punkty według ich ROI. Jest to krok opcjonalny.
      UWAGA: Oczekiwany wynik: STdeconvolve powinno zwrócić wartości theta reprezentujące proporcje tematów na punkt oraz wartości beta reprezentujące profile genów dla każdego tematu. Jeśli użytkownicy chcą ilościowo porównać wyniki nienadzorowanego STdeconvolve z wynikami SPOTlight kierowanymi przez referencje (z Kroku 6), mogą wyeksportować obie macierze proporcji (theta z STdeconvolve oraz macierz SPOTlight) i obliczyć korelacje na poziomie punktów lub metryki zgodności (np. korelację Pearsona lub Spearmana) przy użyciu standardowych funkcji R. Ilościowe porównanie SPOTlight i STdeconvolve jest opcjonalne i nie jest wymagane do wykonania podstawowego przepływu pracy; jednak odpowiednie macierze wyników są dostępne w Krokach 6.3.1 i 7.3.1 dla użytkowników, którzy chcą przeprowadzić taką analizę.

8. Przestrzenna komunikacja międzykomórkowa z wykorzystaniem Giotto(8_Giotto_Communication.R)

  1. Konwertuj obiekt Seurat na obiekt Giotto.
    1. Użyj funkcji createGiottoObject, podając macierz surowych zliczeń oraz współrzędne przestrzenne.
  2. Przeprowadź wstępne przetwarzanie obiektu Giotto i dodaj wyniki dekonwolucji.
    1. Znormalizuj dane za pomocą funkcji normalizeGiotto.
    2. Dodaj adnotacje typów komórek (np. główny typ komórki z dekonwolucji SPOTlight) do metadanych komórkowych za pomocą funkcji addCellMetadata.
  3. Wywnioskuj komunikację międzykomórkową z uwzględnieniem informacji przestrzennych.
    1. Utwórz sieć przestrzenną za pomocą funkcji createSpatialNetwork z parametrami method = "Delaunay" oraz name = "Delaunay_network".
    2. Załaduj bazę danych ligand-receptor do środowiska R. Upewnij się, że załadowany obiekt ma format ramki danych (data frame) z dwiema odrębnymi kolumnami reprezentującymi symbole genów ligandu i receptora (np. wstępnie skompilowana sieć dla myszy z Zenodo: https://zenodo.org/api/records/15168114/files/lr_network_mouse.csv/content, wersja v6, opublikowana 7 kwietnia 2025 r.).
    3. Uruchom funkcję exprCellCellcom z parametrem cluster_column = "celltype_major", aby zidentyfikować istotne interakcje ligand-receptor między typami komórek znajdującymi się w bliskim sąsiedztwie przestrzennym. Oczekiwany wynik: tabela zawierająca pary ligand-receptor, kombinacje typów komórek źródłowych i docelowych, wartości log2 fold-change oraz skorygowane wartości P; zachowaj istotne interakcje (np. p.adj < 0.05) do wizualizacji.

9. Interaktywny wybór obszarów za pomocą funkcji select spatial spots (6_SelectSpatialSpots.R)

  1. Przygotowanie danych do narzędzia interaktywnego.
    1. Wyodrębnienie współrzędnych przestrzennych z obiektu Seurat przy użyciu funkcji GetTissueCoordinates.
  2. Formatowanie i eksport danych.
    1. Sformatowanie ramki danych współrzędnych tak, aby zawierała następujące nagłówki kolumn: CELL_ID, X oraz Y.
    2. Eksport sformatowanej ramki danych do pliku CSV.
  3. Przeprowadzenie analizy obszaru zainteresowania (ROI).
    1. Uruchomienie dedykowanej aplikacji Dash Select Spatial Spots i wczytanie pliku CSV.
    2. Interaktywny wybór punktów na podstawie ich lokalizacji przestrzennej.
    3. Eksport listy wybranych punktów wraz z przypisanymi etykietami grup/ROI do nowego pliku CSV. Oczekiwany wynik: plik CSV z identyfikatorami punktów, współrzędnymi X/Y oraz przypisanymi etykietami grup/ROI, które można powiązać z obiektem Seurat za pomocą CELL_ID.

Dostęp ograniczony. Zaloguj się lub rozpocznij wersję próbną, aby wyświetlić tę treść.

Wyniki

Implementacja przepływu pracy i integracja danych ilustrują główne cechy tkanki

Przepływ obliczeniowy zastosowano do danych z transkryptomiki przestrzennej okrężnicy myszy, aby zilustrować oczekiwane wyniki w poszczególnych etapach analitycznych. Jak przedstawiono na schemacie przepływu (Rysunek 1), potok rozpoczął się od pozyskania danych i kontroli jakości, gdzie wykresy cech przestrzennych wyznaczyły granice tkanki (Rysunek...

Dostęp ograniczony. Zaloguj się lub rozpocznij wersję próbną, aby wyświetlić tę treść.

Dyskusja

Niniejszy protokół przedstawia kompleksowy przepływ pracy obliczeniowej dla analizy danych z transkryptomiki przestrzennej, który równoważy głębię analityczną z praktyczną dostępnością. Podejście krok po kroku prowadzi badaczy przez cały proces analityczny, od początkowego pozyskania danych po zaawansowane analizy przestrzenne, kładąc nacisk na kluczowe punkty decyzyjne oraz potencjalne pułapki.

Kilka etapów protokołu wymaga szczególnej uwagi ze względu na ich wpływ na dalsze wyniki. Progi kon...

Dostęp ograniczony. Zaloguj się lub rozpocznij wersję próbną, aby wyświetlić tę treść.

Oświadczenia

Autorzy nie deklarują żadnych konkurencyjnych interesów finansowych.

Podziękowania

Autorzy dziękują twórcom i opiekunom pakietów Seurat, Giotto oraz SPOTlight za wsparcie i dokumentację. Wyrażamy również wdzięczność za wkład publicznych repozytoriów danych oraz badaczy, którzy bezinteresownie udostępnili swoje zbiory danych.

Dostęp ograniczony. Zaloguj się lub rozpocznij wersję próbną, aby wyświetlić tę treść.

Materiały

Lista materiałów użytych w tym artykule
NazwaFirmaNumer katalogowyKomentarze
ggplot2Posit Software, PBCv4.0.0(CRAN)Zaawansowana wizualizacja danych
GiottoDries Labv4.2.2 (GitHub)Analiza sieci przestrzennych i komunikacji międzykomórkowej
patchwork Thomas Lin Pedersenv1.3.2 (CRAN)Kompozycja i układ wykresów
R software R Foundation for Statistical Computingv4.4.3Podstawowe środowisko wykonawcze (macOS aarch64)
scaterDavis McCarthy et al.v1.34.1 (Bioconductor)Kontrola jakości i wizualizacja danych jednokomórkowych
scranAaron Lun et al.v1.34.0 (Bioconductor)Modelowanie wariancji i detekcja markerów w danych jednokomórkowych
Select Spatial Spots (Własne narzędzie Python)LeafLightv1.0.0 (GitHub)Interaktywny wybór przestrzennych obszarów zainteresowania (ROI) (https://github.com/LeafLight/SelectSpatialSpots)
Seurat Satija Labv5.3.0 (CRAN)Preprocessing, integracja i klasteryzacja danych przestrzennych
SeuratObject Satija Labv5.2.0 (CRAN)Struktury danych dla danych jednokomórkowych i przestrzennych
SingleCellExperimentBioconductor Core Teamv1.28.1 (Bioconductor)Standaryzowany kontener danych dla scRNA-seq
SPOTlightMarc Elosua-Bayes et al.v1.10.0 (Bioconductor)Dekonwolucja przestrzenna z wykorzystaniem referencji
StdeconvolveJean Fan Labv1.3.2 (Bioconductor)Nienadzorowane modelowanie tematów latentnych
tidyversePosit Software, PBCv2.0.0 (CRAN)Podstawowy pakiet narzędzi do manipulacji i formatowania danych

Bibliografia

  1. Ozirmak Lermi N, Molina Ayala M, Hernandez S, et al. Comparison of imaging based single-cell resolution spatial transcriptomics profiling platforms using formalin-fixed paraffin-embedded tumor samples. Nat Commun. 2025;16(1):8499.
  2. Ren P, Zhang R, Wang Y, et al. Systematic benchmarking of high-throughput subcellular spatial transcriptomics platforms across human tumors. Nat Commun. 2025;16(1):9232.
  3. Danishuddin, Khan S, Kim JJ. Spatial transcriptomics data and analytical methods: An updated perspective. Drug Discovery Today. 2024;29(3):103889.
  4. Xu Z, Wang W, Yang T, et al. STOmicsDB: A comprehensive database for spatial transcriptomics data sharing, analysis and visualization. Accessed October 31, 2025. https://dx.doi.org/10.1093/nar/gkad933
  5. Wang G, Wu S, Xiong Z, Qu H, Fang X, Bao Y. CROST: A comprehensive repository of spatial transcriptomics. Nucleic Acids Res. 2024;52(D1):D882-D890.
  6. Chen JG, Chávez-Fuentes JC, O’Brien M, et al. Giotto Suite: a multiscale and technology-agnostic spatial multiomics analysis ecosystem. Nat Methods. 2025;22(10):2052-2064. doi:10.1038/s41592-025-02817-w
  7. Butler A, Hoffman P, Smibert P, Papalexi E, Satija R. Integrating single-cell transcriptomic data across different conditions, technologies, and species. Nat Biotechnol. 2018;36(5):411-420.
  8. Elosua-Bayes M, Nieto P, Mereu E, Gut I, Heyn H. SPOTlight: seeded NMF regression to deconvolute spatial transcriptomics spots with single-cell transcriptomes. Nucleic Acids Res. 2021;49(9):e50-e50.
  9. McCarthy DJ, Campbell KR, Lun ATL, Wills QF. Scater: pre-processing, quality control, normalization and visualization of single-cell RNA-seq data in R. Bioinformatics. 2017;33(8):1179-1186.
  10. Lun ATL, McCarthy DJ, Marioni JC. A step-by-step workflow for low-level analysis of single-cell RNA-seq data with bioconductor. F1000Research. Preprint posted online October 31, 2016. doi:10.12688/f1000research.9501.2
  11. Miller BF, Huang F, Atta L, Sahoo A, Fan J. Reference-free cell type deconvolution of multi-cellular pixel-resolution spatially resolved transcriptomics data. Nat Commun. 2022;13(1):2339.
  12. Palla G, Spitzer H, Klein M, et al. Squidpy: A scalable framework for spatial omics analysis. Nat Methods. 2022;19(2):171-178.
  13. Luecken MD, Büttner M, Chaichoompu K, et al. Benchmarking atlas-level data integration in single-cell genomics. Nat Methods. 2022;19(1):41-50.
  14. Hafemeister C, Satija R. Normalization and variance stabilization of single-cell RNA-seq data using regularized negative binomial regression. Genome Biol. 2019 Dec 23;20(1):296.
  15. Cuevas-Diaz Duran R, Wei H, Wu J. Data normalization for addressing the challenges in the analysis of single-cell transcriptomic datasets. BMC Genomics. 2024;25(1):444.
  16. Sun S, Zhu J, Zhou X. Statistical analysis of spatial expression patterns for spatially resolved transcriptomic studies. Nat Methods. 2020;17(2):193-200.
  17. Jin S, Plikus MV, Nie Q. CellChat for systematic analysis of cell–cell communication from single-cell transcriptomics. Nat Protoc. 2025;20(1):180-219.
  18. Zohora FT, Paliwal D, Flores-Figueroa E, et al. CellNEST reveals cell–cell relay networks using attention mechanisms on spatial transcriptomics. Nat Methods. 2025;22(7):1505-1519.
  19. Wang Q, Zhu H, Deng L, et al. Spatial transcriptomics: Biotechnologies, computational tools, and neuroscience applications. Small Methods. 2025;9(5):2401107.
  20. Chen MM, Gao Q, Ning H, et al. Integrated single-cell and spatial transcriptomics uncover distinct cellular subtypes involved in neural invasion in pancreatic cancer. Cancer Cell. 2025;43(9):1656-1676.e10.
  21. Li H, Guan W, Huang J, et al. A complete model of mouse embryogenesis through organogenesis enabled by chemically induced embryo founder cells. Cell. 2025;188(21):5912-5930.e20.
  22. Loh JW, Lee JY, Lim AH, et al. Spatial transcriptomics reveal topological immune landscapes of asian head and neck angiosarcoma. Commun Biol. 2023;6(1):461.

Dostęp ograniczony. Zaloguj się lub rozpocznij wersję próbną, aby wyświetlić tę treść.

Przedruki i uprawnienia

Przeglądaj więcej artykułów

Profilowanie ekspresji genówarchitektura tkankiintegracja danychkontrola jakościworkflow Seuratdekonwolucja przestrzennaanaliza SPOTlightanaliza komunikacji międzykomórkowejobszar zainteresowania