Futó SCENIC

Ez az oktatóanyag a. Lépésein megy keresztül SCENIC munkafolyamat:

GENIE3 GRNBoost

A génszabályozó hálózat (GRN):

  1. Az együttes kifejezés alapján határozza meg az egyes TF lehetséges célpontjait.
  2. A kifejezésmátrix szűrése és a GENIE3/GRNBoost futtatása.

A célok formázása a GENIE3/GRNBoost-ból ko-expressziós modulokká.

Válassza ki a potenciálisan közvetlenül kötődő célpontokat (regulonokat) a DNS-motívum elemzés alapján (RcisTarget: TF motívumelemzés)

Azonosítani sejtállapotok:

  1. A hálózati aktivitás elemzése az egyes cellákban (AUCell)
  2. Pontszerű regulonok a sejtekben (számítsa ki az AUC-t)

Opcionális: Konvertálja a hálózati tevékenységet ON/OFF-ba (bináris tevékenység-mátrix)

Azonosítsa a stabil sejtállapotokat génszabályozó hálózatuk aktivitása (sejtcsoportosítás) és az eredmények feltárása alapján.

Az oktatóanyag indításához el kell olvasnia a "Bevezetés és beállítás" matricát, és futtatnia kell a telepítési lépéseket (matrica ("SCENIC_Setup")).

A munkafolyamat során több fájlt mentünk. A rendben tartás érdekében javasoljuk, hogy állítsa be a munkakönyvtárat egy új mappába.

Alapértelmezés szerint a közbenső fájlok és ábrák az int mappába kerülnek, számozott előtaggal rendben tartva őket. Ezekkel a fájlokkal ellenőrizheti az egyes lépések részleteit, vagy újra elvégezheti az elemzés részeit különböző beállításokkal. A fő kimenet (pl. Ábrák, HTML jelentések.) A kimeneti mappába kerülnek.

Kifejezési mátrix

Egysejtű RNS-seq expressziós mátrix (génszimbólummal, helynévként, lásd a matricát ("SCENIC_Setup") a részletekért).

Cella információ

A 3-4. Lépésben (az GRN pontozása és a klaszterezés) néhány információt ábrázolhat a cellákról a hőtérképeken vagy a t-SNE-n. Kiválaszthatja, hogy a fenodaták közül mely változókat ábrázolja, és rendeljen hozzájuk egy adott színt (különben automatikusan egyet rendel hozzá):

Annak érdekében, hogy a SCENIC több lépése során a beállítások következetesek legyenek, a SCENIC csomag legtöbb funkciója egy közös objektumot használ, ahol az aktuális futtatás opcióit tárolják. Ez az objektum a legtöbb függvény helyettesíti az "argumentumokat", és egy SCENIC futtatás kezdetekor létre kell hozni az initizeScenic () függvénnyel. .

Az alapértelmezett beállításoknak a legtöbb elemzésre érvényesnek kell lenniük. Az összes futtatáskor meg kell adni azokat a paramétereket: a szervezet (mgi az egérhez, a hgnc az emberhez vagy a dmel a légyhez), és a könyvtár, ahol az RcisTarget adatbázisok vannak tárolva (létrehozhat egy linket az aktuális könyvtárban, ha ez kényelmesebb, pl. linuxban:

A módosítható opciók részleteiért tekintse meg az? InitizeScenic súgóját vagy az adott függvényt, amely bemenetnek veszi.

A SCENIC munkafolyamat első lépése az, hogy az expressziós adatok alapján a lehetséges transzkripciós faktorokat célozza meg. Ehhez a GENIE3-at vagy a GRNBoost-ot használjuk. Ezen eszközök bármelyikének bemenete az expressziós mátrix (szűrt) és a transzkripciós tényezők (potenciális szabályozók) felsorolása. A GENIE3/GRBBoost kimenetét és egy korrelációs mátrixot használunk a ko-expressziós modulok létrehozásához (runSCENIC_1_coexNetwork2modules ()).

Választás a GENIE3/GRNBoost között: Elvileg a ko-expressziós hálózatok következtetésére létező számos módszer alkalmazható ebben a lépésben, feltéve, hogy annak kimenete az egyes TF lehetséges célpontjainak listája (és alkalmazható az scRNS-re is). következõk). Kiválasztottuk GENIE3 (@ huynh2010), mert lehetővé teszi a nemlineáris kapcsolatok azonosítását, még akkor is, ha csak a minták egy részhalmazában vannak jelen, és ez volt a legjobban teljesítő a Network Inference DREAM5 kihívásban (@ marbach2012). A GENIE3 könnyen futtatható az R-en belül.

A GENIE3 azonban nagyon idő- és számításigényes (3-5 k-os cellák adatkészletein több órát vagy napot vesz igénybe). A nagyobb adatkészletek skálázhatóságának lehetővé tétele érdekében hoztunk létre GRNboost (lásd @ aibar2017) és az arboreto keretrendszer. A GRNBoost a GENIE3-hoz hasonló eredményeket nyújt az idő töredéke alatt (publikálás sajtóban), ezért nagyobb adatkészletekhez nagyon ajánljuk.

Almintavételezési cellák: Ha magas az alacsony minőségű cellák aránya, vagy ha a számítási idő problémát jelent, akkor a szabályozó hálózatra sejtek egy részhalmazával is lehet következtetni (pl. Véletlenszerű vagy jó minőségű cellák kiválasztása bemenetként a ko-expressziós elemzés). A sejtek ezen részhalmazára betanított szabályozó hálózat aktivitása az AUCell segítségével értékelhető az adatkészlet összes celláján (3. lépés). Vegye figyelembe, hogy a felbontás elvesztése érdekében a sejtek részhalmazának reprezentatívnak kell lennie az egész adathalmazra (például tartalmaznia kell az összes sejttípus elegendő reprezentációját). Ennek a megközelítésnek a példáit mutatjuk be az @ aibar2017 cikkben (azaz részmintát veszünk az egér agyadatkészletéből, és elemezzük az egér retinájából származó 49 k sejteket).

Génszűrő/szelekció

A GENIE3/GRNBoost futtatásához lágy génszűrő alkalmazását javasoljuk, hogy eltávolítsuk azokat a géneket, amelyek nagyon alacsony szinten vagy túl kevés sejtben expresszálódnak. Itt szűrést alkalmazunk a gén összes számának és a detektált sejtek száma alapján.

Szűrés a génenként az összes olvasás száma. Ez a szűrő azon gének eltávolítására szolgál, amelyek nagy valószínűséggel zajok. Alapértelmezés szerint csak azokat a géneket tartja meg, amelyek legalább r 3 * 0,01 * ncol (exprMat) UMI-vel rendelkeznek, és az összes mintában meg van számlálva (pl. A gén teljes száma, ha 3 értékkel fejezzük ki a sejtek 1% -ában) ). Állítsa be ezt az értéket (minCountsPerGene) az adatkészletnek megfelelően (ez függ az adatkészlet egységeitől, pl. UMI, TPM).

Szűrés a azon sejtek száma, amelyekben a gént kimutatták * (pl.> 0 UMI vagy> 1 log2 (TPM)). Alapértelmezés szerint (minSamples) a sejtek legalább 1% -ában kimutatott géneket megtartják. Ennek a szűrésnek az a célja, hogy eltávolítsa azokat a géneket, amelyek olvasása egy-egy „zajos” sejtből származik (azok a gének, amelyek csak egy, vagy nagyon kevés sejtben expresszálódnak, nagy súlyt kapnak, ha véletlenül egybeesnek egy adott sejtben). A kicsi (de potenciálisan érdekes) sejtpopulációk eltávolításának elkerülése érdekében javasoljuk, hogy állítson be egy alacsonyabb százalékot, mint a legkisebb kimutatható sejtpopuláció.

Végül csak azok a gének, amelyek vannak elérhető az RcisTarget adatbázisokban megmarad. Ez a szűrő többnyire a GENIE3/GRNBoost futási idejének megtakarítására szolgál, mivel az adatbázisokban nem elérhető gének nem lesznek felhasználva a következő lépésekben.

Mielőtt továbblépne a hálózati következtetésre, ellenőrizze, hogy az ismert releváns gének kiszűrődtek-e (ha hiányzik valamelyik releváns gén, ellenőrizze még egyszer, hogy a szűrők megfelelőek-e):

Most már tehetünk szűrje le az expressziós mátrixot hogy csak ezeket az r hosszúságú (genesKept) géneket tartalmazza. Ez a mátrix készen áll a ko-expressziós elemzésre.

A zavart elkerülése érdekében kövesse az alábbi lépéseket:

Korreláció

A GENIE3/GRNBoost pozitív és negatív asszociációkat egyaránt képes detektálni. Annak érdekében, hogy meg lehessen különböztetni a potenciális aktiválást az elnyomástól, a célokat pozitív és negatív korrelációjú célokra osztjuk fel (azaz Spearman-korreláció a TF és a potenciális cél között).

(Ez a lépés futtatható a GENIE3/GRNBoost előtt vagy után, vagy egyidejűleg)

Számítsa ki a korrelációt:

A lehetőség: GENIE3 (R)

A GENIE3 bemenete tipikusan egy expressziós mátrix és a jelölt szabályozók listája. A runGenie3 függvény alapértelmezett beállításokkal futtatja a GENIE3-at, amelyek általában a legtöbb adatkészlet számára megfelelőek, az RcisTarget adatbázisokban rendelkezésre álló átírási tényezőkkel, mint szabályozó jelöltekkel.

Mivel a GENIE3 Random Forest megközelítésen alapul, minden egyes futtatásakor az eredmények kissé eltérnek. Minél nagyobb a felhasznált fák száma (nt fák), annál kisebb a változékonyság. Javasoljuk a set.seed használatát a pontos eredmények többszörös reprodukálásához. További részletekért ellenőrizze a? GENIE3 (GENIE3 súgó) vagy a? RunGenie3 (SCENIC burkoló a GENIE3-hoz).

A GENIE3 futtatása általában több órát (vagy napokat) vesz igénybe. Ha ezt a munkafolyamatot egy RStudio munkameneten futtatja, akkor azt javasoljuk, hogy álljon meg itt, és futtassa a következő kódrészletet egy független R konzolban (azaz a screen/tmux segítségével) vagy egy kiszolgálón/HPC-n (ha van ilyen). A következő kóddarabok a GENIE3 kimenet betöltésével folytatják a munkafolyamatot.

B lehetőség: GRNboost (Python)

A GRNBoost bemenete a szűrt expressziós mátrix (transzponálva) és a jelölt szabályozók listája. exportForGRNBoost exportálja ezeket az objektumokat szövegként, hogy importálja őket a GRNBoost-ból:

Most készen állunk a GRNBoost futtatására. Az oktatóanyag néhány példával megtalálható a https://arboreto.readthedocs.io/en/latest/examples.html oldalon. Miután befejezte a futtatást, a következőket importálhatja a GRNBoost kimenetéből az R-be:

Miután elkészültek a GENIE3/GRNBoost eredményei (és a korreláció), a SCENIC többi lépése futtatható.

A legegyszerűbb/leggyorsabb módszer a következő burkoló funkciók használata, amelyek mindegyike megfelel a SCENIC munkafolyamat egyik fő lépésének:

A génszabályozó hálózat kiépítése:

    Töltse le a társ-kifejezés modulokat

Szerezzen szabályokat (r Biocpkg-val ("RcisTarget")): TF motívum elemzés)

Cellaállapotok meghatározása:

  • Pontszám GRN (regulonok) a sejtekben (r Biocpkg-val ("AUCell"))
  • Fürtsejtek a GRN aktivitás szerint
  • A lépések munkafolyamatának áttekintését a @ aibar2017 ismerteti. Ezen funkciók belső kódját ismertető részletes oktatóanyagok/jegyzetfüzetek is rendelkezésre állnak (lásd matrica (csomag = "SCENIC")). Ezek hasznosak lehetnek azoknak a felhasználóknak, akik szeretnék megismerni a megvalósítás részleteit, vagy csak a munkafolyamat néhány lépését módosítani vagy futtatni.

    Szükség esetén töltse be újra a kifejezésmátrixot:

    Futtassa a többi lépést a burkoló funkciók segítségével:

    Opcionális: t-SNE-k létrehozása/összehasonlítása

    A sejtek az AUC alapján csoportosíthatók (a részletekért lásd a "Felfedezés> Cellaállapotok" című részt). Mivel a t-SNE-t vizualizációként használjuk, az állapotok stabilitásának értékeléséhez ajánlott különböző fürtözés/t-SNE beállításokat kipróbálni.

    Ezzel a funkcióval több t-SNE futtatható különböző beállításokkal. Minden kombinációt létrehoz a kiválasztott "PC-k száma" és "zavartság" között (várható futási idő: néhány perc vagy óra, a cellák számától függően):

    és megtekinteni/összehasonlítani őket.

    A kiválasztott t-SNE ezután alapértelmezés szerint elmenthető a plotokhoz (lehet "bináris" is, lásd alább):

    Opcionális: Binarizálja a hálózati tevékenységet (szabályozás be/ki)

    A GRN kiépítése és aktivitásának pontozása AUCell-ben gyakran elég a nagyon világos sejttípusú adatkészletekhez. Sok esetben azonban hasznos az aktivitási pontszám binarizálása "be/ki" -re; vagy a könnyebb értelmezés érdekében, vagy a sejttípusok közötti különbségek maximalizálása érdekében. Ez különösen hasznos a technikai torzítások (pl. A kimutatott gének száma, a kötegelt hatások) csökkentésére, vagy a származási minta szerinti csoportosításra a rákos adathalmazokban (lásd @ aibar2017).

    Annak meghatározásához, hogy az egyes regulonok mely sejtekben aktívak, AUC küszöböt használunk. Az AUCell automatikusan kiszámítja a binarizálás lehetséges küszöbértékeit, de ezek gyakran túl konzervatívak. Javasoljuk, hogy manuálisan ellenőrizze ezeket a küszöböket, mielőtt folytatná a binarizálást. Ez egy iteratív folyamat lehet, ahol a küszöbértékeket egy kezdeti feltárás után újra ki lehet igazítani. A végső küszöbértékek kiválasztása után a sejt-regulon aktivitás egy bináris aktivitási mátrixba kerül összefoglalásra, amelyben az oszlopok a sejteket, a sorok pedig a regulonokat képviselik. A mátrix koordinátái, amelyek megfelelnek az adott sejt aktív regulonjainak, "1" értéket, és az összes többi "0" értéket tartalmaznak.

    Az előző lépés kimenetén láthatja a kiválasztott küszöbértékeket [file: output/Step3_3.2_AUCtSNEs.html (Ha Rstudio programot használ, előfordulhat, hogy le kell töltenie a fájlt és a hozzá tartozó mappát)], és ezeket az AUCell segítségével állíthatja be Fényes alkalmazás:

    A küszöbértékek optimalizálása után futtassa a runSCENIC_4_aucell_binarize alkalmazást az AUC binarizálásához, és hozzon létre néhány további számot és fürtöt:

    A t-SNE-ket a bináris aktivitási mátrix segítségével is létrehozhatjuk (ugyanúgy, ahogy azt a "T-SNE-k létrehozása/összehasonlítása" részben megadjuk), csak állítsuk be helyettük a tsneAUC-t.

    A kimeneti mappa több fájlt tartalmaz, amelyek áttekintést nyújtanak az egyes lépések eredményeiről. Ezek az eredmények részletesebben felfedezhetők a köztes fájlokon keresztül (az int mappába mentve, amelyek a loadInt (scenicOptions) alkalmazással listázhatók).

    Néhány példa az eredmények feltárására:

    Sejtállapotok

    Az AUCell biztosítja a regulonok aktivitását a sejteken keresztül. A sejtek ezen regulonaktivitás alapján történő klaszterezésével (akár a folytonos, akár a bináris AUC-mátrix) láthatjuk, hogy vannak-e olyan sejtcsoportok, amelyekben általában ugyanazok a regulonok aktívak, és feltárhatjuk azokat a hálózati állapotokat, amelyek több sejtben is visszatérnek. Ezek az állapotok egyenértékűek lennének a hálózat vonzóállamaival. Kombinálva ezeket a klasztereket különböző megjelenítési módszerekkel, felfedezhetjük a sejtállapotok társulása specifikus regulonokkal.

    A SCENIC néhány burkoló funkciót biztosít a gyors áttekintéshez. Például az AUC és TF kifejezés vetítése t-SNE-kre és az AUC mint hőtérképek megjelenítése, de nyugodtan fedezzen fel alternatív fürtözési és vizualizációs eszközöket.

    Vetítse az AUC-t és a TF-expressziót a t-SNE-kre

    Röviden: a t-SNE a sejtek 2D-s vetülete, ahol a sejtek (pontok) közel vannak egymáshoz, ha hasonló bemeneti profilokkal rendelkeznek (esetünkben a regulon aktivitás). A t-SNE általában lehetővé teszi az adatkészlet cellaállapotainak gyors és egyszerű áttekintését. Megjegyezzük azonban, hogy a t-SNE jól működik a különálló osztályok azonosításában, de nem megfelelő dinamikus/folyamatos folyamatokhoz (pl. Pálya-szerű vizualizációk).

    Az AUCell interaktív alkalmazása (az SCope esetében lásd: „Exportálás szövőszékre/SCope-hoz” szakasz):

    AUCell_plotTSNE () statikus ábrák mentéséhez:

    Sűrűségdiagram a legvalószínűbb stabil állapotok detektálására (nagyobb sűrűségű területek a t-SNE-ben):

    Több regulont mutat egyszerre:

    GRN: Regulon céljai és motívumai

    A regulonokba tartozó gének:

    Ne feledje, hogy az AUCell segítségével csak a 10 vagy annál több gént tartalmazó regulonok kapnak pontot:

    Részletek a TF-cél linkekről: Minden TF-cél párra vonatkozóan a közbenső lépések statisztikáit a loadInt (scenicOptions, "regulonTargetsInfo") összegzi (szövegként mentve: getOutName (scenicOptions, "s2_regulonTargetsInfo"): r getOutName ( scenicOptions, "s2_regulonTargetsInfo")). Ez a táblázat felhasználható az egyes linkek támogatásának feltárására. Mivel általában több ezer sort fog tartalmazni (ebben a futtatásban: r nrow (loadInt (scenicOptions, "regulonTargetsInfo"))), a legtöbb esetben célszerű alcsoportba állítani, mielőtt HTML-be exportálnák.

    A teljes lista TF motívumok a regulonok alátámasztása a restuloktól látható Az RcisTarget motívumdúsítás eredményei (a ko-expressziós modulokhoz). Ezeket a motívumEnrichment_selfMotifs_wGenes menti. Ezen eredmények előnézete HTML formátumban kerül exportálásra az r getOutName (scenicOptions, "s2_motifEnrichmentHtml") fájlba (és szövegként a következőbe: r getOutName (scenicOptions, "s2_motifEnrichment")).

    Alternatív táblák, amelyek több vagy kevesebb sort/oszlopot mutatnak, létrehozhatók a kód módosításával:

    A SCENIC eredményei a http://scope.aertslab.org webhelyen is felfedezhetők (@ davie2018).

    A .loom fájl az export2scope () függvénnyel hozható létre. Ez a funkció a SCENIC adatokat egy .loom fájlba menti.