Labtutorials.org

ChIP-seq_anal.sh

In bioinfo, bioinformatics, bioinformatika on June 9, 2018 at 4:08 pm

Szerző: Bojcsuk Dóra

Az újgenerációs szekvenálás (NGS) lényege, hogy több tízmillió (vagy akár százmillió), viszonylag rövid (50-200 nukleotid hosszú) DNS szekvenciát határozunk meg véletlenszerűen, és utólag rakjuk össze, mi rajzolódik ki belőlük. Ennek megvalósítására a mai napig fejlesztenek módszereket, így nem meglepő, hogy nincs egységes „pipeline” (csővezeték) az elemzésekre.

A funkcionális genomikai módszereket három nagyobb csoportra oszthatjuk az elemzés szempontjából: mRNS szekvenálás esetén az intronok kivágódásának köszönhetően a leolvasott szekvenciák többsége az egymást követő exonokra – akár három-négy exonra is – esik, így csak az exon-intron határok felismerésével történhet meg a szekvenciák referencia genomra illesztése. A kromatin 3D szerkezetének megismerését célzó módszerek esetében a meghatározott DNS fragmentumok – ideális esetben – többnyire két távoli genomi régióra esnek, amely e régiók fizikai közelségét jelenti, és amely egy teljesen másfajta technikai megközelítést igényel. A legegyszerűbb eset, amely a funkcionális genomikai módszerek többségére érvényes, hogy a meghatározott DNS szakaszok egy az egyben illeszkednek a referencia genom bizonyos szakaszaira. Ilyen módszerek például a kromatin nyitottságát vizsgáló DNase-, FAIRE-, Sono- és ATAC-seq, a különböző fehérjék ellenanyagát felhasználó ChIP-seq és az újonnan képződött RNS molekulák feltérképezésére szolgáló GRO-seq is. Az e módszerek alkalmazása során kapott szekvenciák feldolgozása tehát hasonlóképpen hajtható végre, és a szekvencia-feldúsulások jellegének megfelelően csak a végső lépésekben szükséges különbséget tenni az eredmények között.

A ChIP-seq_anal pipeline-unk (Barta, EMBnet.journal, 2011) az előbbieknek megfelelően nemcsak a kromatin csúcsszerű és szélesebb fehérjefeldúsulásait képes feltérképezni, hanem bármely olyan módszer szekvenciáinak a feldolgozására is alkalmas, amely a genomhoz viszonyítva folytonos leolvasásokat eredményez. Egy további nagy előnye, hogy ha megadjuk az ftp elérést, az NCBI újgenerációs szekvencia adatbázisából (SRA, Sequence Read Archive) közvetlenül letölti helyettünk a szekvenciafájlokat.

A legnagyobb előnye talán a teljes automatizáltság: ha létrehozunk egy-egy könyvtárat az ideiglenes (pl. FQ/fastq) és a feldolgozott fájloknak (pl. analysis), és megadunk egy listát arról, hogy mit és milyen néven szeretnénk elemezni, már indíthatjuk is a programot, minták számának függvényében pedig néhány nap alatt meg is kapjuk az eredményeket.

Hogyan kell kinéznie tehát egy ilyen listafájlnak?

Capture

A vi szövegszerkesztőt megnyitva, majd szerkesztési módba lépve, a fenti séma szerint kell elkészítenünk a listafájlunkat (samples.lst). A szövegfájl első oszlopa minden esetben tartalmazza a minta nevét, ahol fontos, hogy a genomok megkülönböztetése érdekében a mintanevek elején ’mm_’ ill. ’hs_’ karakterekkel kell a fajt megadni. Abban az esetben, ha a minta SRA adatbázisból történő letöltésére az elemzés során kerül sor, a beírt név a leendő mintanevet jelöli, ha viszont a FASTQ fájl már a szerverünkön, a fájljaink között található, az elemzésre váró minta pontos nevét kell feltüntetnünk. A második oszlop hivatkozik a minták SRA adatbázisban lévő elérhetőségére, az utolsó oszlop pedig a minta jellegétől függően felveheti az ‘input‘, ‘factor‘, ‘histone‘ vagy ‘groseq‘ címkéket. Ennek jelentőségéről részletesebben néhány bekezdéssel alább olvashattok. Fontos, hogy az oszlopok tartalmát egy-egy tabulátor választja el.

Ha párhuzamosan több listafájlt használunk, a fent említett futási idő a töredékére csökkenhet. Saját, vagy már letöltött adatok esetén nyilván nincs szükség az ftp cím megadására, csak a mintanevekre és a típusokra (ez esetben a listafájlban az ftp elérést egy plusz tabulátor helyettesíti). Ehhez azonban a szekvenciafájlt (FASTQ) vagy szimbolikus linkjét létre kell hozni a megfelelő könyvtárban (FQ/fastq).

 

A FASTQ szekvenciafájlok szekvenciánként 4 – tehát összesen n*4 – sorból állnak (ahol n a szekvenciák száma): egy ’@’ karakterrel kezdődő azonosító sorból, magából a szekvenciából, egy mindenképp ’+’ karakterrel kezdődő, opcionális „leírás” sorból és a szekvencia bázisonkénti minőségi mutatóinak sorából állnak. Az SRA-ban e hatalmas szövegfájlok tömörített verzióját, az ún. sra-lite fájlokat tárolják, amely a fastq-dump nevű programmal alakítható vissza szekvenciafájllá – természetesen ez is be van építve a pipeline-ba. UNIX parancssorban az ilyen mértetű fájlokat általában gzip-pel tömörítjük, amely zcat paranccsal gyorsan kibontható (a memóriába). A szekvenciák mm10 vagy hg19 referencia genomra illesztését a BWA programmal végezzük, amely végső soron egy olyan szövegfájlt hoz létre, amely mind a szekvencia adatokat, mind pedig a genomi koordinátákat tartalmazza (sequence/alignment map azaz SAM formátum), tárolásra ennek a binárisan tömörített (BAM) változatát használjuk, amely a SAMtools csomaggal hozható létre és indexelhető az adatok könnyebb elérése (pl. megjelenítése) érdekében.

Eddig a pontig nagyjából bármilyen szekvenciafájllal ugyanaz történik (kivéve persze az mRNS vagy 3D kromatin adatokat, amelyeknél már az illesztés is eltér), ezután lesz jelentősége a minta jellegének, amit a listafájlban kell definiálni. ChIP-seq esetén pl. a transzkripciós faktorokra jellemző a csúcsszerű feldúsulás az általuk kötött szabályozó hely körül, míg a különbözőképpen módosított hiszton fehérjék zöme szélesebb régiót fed le, és a szabályozó helyek pont kimaradnak, mert ott a hisztonokat más fehérjék váltják fel.

A polimeráz fehérje döntően géneket fed le, bár ez esetben is elkülöníthetőek csúcsok és szélesebb feldúsulások – a csúcsok a promóterek és enhanszerek környékén, az egyenletes lefedettség a gének testén jellemző. A kromatin nyitottságára specifikus módszerek is csúcsokat adnak, tehát hasonlóképpen kezelhetőek a faktor ChIP-seq adatokhoz. Az előbbiek szerint a ’factor’ és ’histone’ címkékkel lehet ellátni a mintákat, és az elemzés ennek megfelelően fog tovább folytatódni.

Ezek mellett kontroll mintákat is meg lehet adni – a listafájl(ok) elején ’control’ címkével, pl. aspecifikus IgG antitest esetében, vagy input minta esetében, amelyeknél nem várunk semmilyen feldúsulást, így alkalmasak a különböző minták hátterének és feldúsulásainak elkülönítésére. A GRO-seq, jellegénél fogva külön ’groseq’ címkét kapott, mivel szálspecifikusan az átíródó gének és enhanszerek határozhatóak meg vele, melyek pontos körülhatárolása és elkülönítése egy teljesen más kihívást jelent.

 

A szekvencia feldúsulások meghatározására a HOMER és MACS2 programcsomagokat használjuk. Ezek alkalmasak azoknak a régióknak a megtalálására, ahol a háttér lefedettségénél jelentősen több leolvasás található; ezek a régiók BED fájl formájában tárolódnak és tartalmazzák a csúcsok vagy szélesebb régiók genomi koordinátáit, de a teljes genom „domborzatát” is végigböngészhetjük ugyanakkor a HOMER és a MACS2 által létrehozott lefedettség (BEDGRAPH) fájlok segítségével. A HOMER alkalmas továbbá kiválasztott genomi régiók lefedettségének a kigyűjtésére – hisztogram vagy hőtérkép formájában –, valamint a csúcsok alatti szekvenciák feldúsulásainak a meghatározására és az így talált szekvenciamotívumok visszatérképezésére, nem mellesleg egyéb annotálási feladatok elvégzésére is…

…ezekről részleteiben viszont a további bejegyzésekben lesz szó.

 

Végezetül: milyen könyvtárakat kell definiálnunk a ChIP-seq pipeline indításakor és milyen sorrendben?

nohup sh <ChIP-seq_anal-v1_9mm10_fast.sh> <ChIP-seq/lists/samples.lst> <ChIP-seq/FQ/fastq> > <ChIP-seq/logs/samples.log> 2> <ChIP-seq/logs/samples.err> &

nohup: azért szükséges, hogy az elemzés a terminál bezárását követően is folytatódjon;

sh: parancs, amely jelzi, hogy egy shell szkriptet szeretnénk futtatni;

ChIP-seq_anal-v1_9mm10_fast.sh: ez maga a pipeline;

ChIP-seq/lists/samples.lst: a fent részletesen taglalt listafájl és elérési útja;

ChIP-seq/FQ/fastq: azt a mappát jelöli, amelyben a FASTQ fájlok megtalálhatóak, vagy ahová az SRA adatbázisból letöltést követően kerülni fognak;

a > jelöli a kimeneti fájlt, ebben az esetben egy log fájlt, amelynek kiterjesztése .log;

a 2> szintén egy kimeneti fájlt jelöl, viszont minden esetben hibafájlt, melynek kiterjesztése .err;

az & jellel a háttérbe küldjük a feladatot, így az éppen futó programok nem írják ki a képernyőnkre az aktuálisan futó vagy épp befejezett lépések automatikus üzeneteit, hanem azokat a *.log és/vagy *.err fájlokba gyűjti össze.

A fenti parancssort érdemes a ChIP-seq/analysis mappában indítani, így a pipeline a kimenetet az aktuális, analysis mappában fogja létrehozni.

 

EEM (1)

 Az Emberi Erőforrások Minisztériuma ÚNKP-17-3-IV-DE-140 kódszámú Új Nemzeti Kiválóság Programjának támogatásával készült.

 

 

%d bloggers like this: