Kérdés:
Miben különböznek a MACS2 keskeny és széles csúcs algoritmusai?
Ian Sudbery
2017-05-20 05:21:09 UTC
view on stackexchange narkive permalink

A MACS2 csúcshívó eszköz csúcsokat hívhat akár keskeny csúcs módban (fókuszált jelek esetén, mint például a ChIPseq átírási faktor), akár széles csúcs módban (több hatástalanító jel esetén, például bizonyos hiszton módosítások esetén).

A keskeny csúcshívás algoritmusát a MACS publikáció jól leírja. De nem sok dokumentációt találok arról, hogy a csúcshívások hogyan különböznek a széles csúcs módban. A kézikönyv csak a következőket tartalmazza:

--broad

Ha ez a jelző be van kapcsolva, a MACS megpróbálja széles régiókat összefogni BED12-ben (génmodell-szerű formátum ) azáltal, hogy a közeli erősen dúsított régiókat laza elválasztással széles régióba helyezi A széles régiót egy másik - a határon átnyúló - elvágás vezérli. A széles régió hosszúságának maximális hossza a MACS d-jének négyszerese.

De ez nem igazán írja le, hogy ez pontosan hogyan történik.

Tehát milyen algoritmust használ a MACS a széles csúcsok hívására?

Megtaláltam az [algoritmust] (https://github.com/taoliu/MACS/blob/24a1eab9fe7e885c27a37dbac2efb99d6da8dc74/MACS2/IO/BedGraph.pyx#L594), de őszintén szólva nem igazán tudtam megszerezni a próbát / kivéve a 629-es vonal építését. ..
Egy válasz:
Daniel Kim
2017-05-21 02:38:55 UTC
view on stackexchange narkive permalink

A legfontosabb funkció a call_broadpeaks :

A függvényhez mellékelt leírás a következőket mondja:

Ez a függvény próbáljon olyan gazdagított régiókat találni, amelyeken belül a pontszámok folyamatosan magasabbak, mint az 1. szint adott cutoffja, és kapcsolja össze őket a 2. szint cutoff feletti rés használatával, maximális hossza lvl2_max_gap.

scoring_function_s: függvények szimbólumai pontszám kiszámítása. 'p' a pscore-hoz, 'q' a qscore-hoz, 'f' a hajtás változásához, 's' a kivonáshoz. például: ['p', 'q']

lvl1_cutoff_s: a határértékek a nagyon gazdag területeken, a pontozási függvényeknek megfelelően. , amely a pontozási függvényeknek felel meg.

min_length: minimális csúcshossz, alapértelmezett 200.

lvl1_max_gap: maximális rés a közeli gazdagított csúcsok egyesítéséhez, alapértelmezett 50.

lvl2_max_gap : a kapcsolási régiók maximális hossza, alapértelmezés szerint 400.

Visszaadja az általános PeakIO objektumot a nagyon gazdag területek és a hiányos tág régiók számára a BroadPeakIO-ban.

Néhány alapvető magyarázat megadásához az algoritmus (röviden) a következőnek tűnik:

  1. Két különálló csúcsszintet hívunk meg, az 1. szintet (egy magasabb pval, azaz jelentősebbet) és a 2. szintet (egy alacsonyabb pval-t). ). Az 1. szintet a -p , a 2. szintet pedig a --broad-cutoff vezérli. Amikor minden csúcsot meghívunk, azonnal összekapcsoljuk őket az egyes halmazok maximális résparaméterével.

  2. Ezután feltételezve, hogy az összes 1. szintű csúcsnak a 2. szintű csúcson belül kell lennie (ez az MACS2 kifejezett feltételezése), az algoritmus az 1. szintű csúcsokat a 2. szintű csúcsokon belül csoportosítja, hogy széles csúcsot adjon ki.

...

Ez néhány következmény:

  1. A széles csúcshívások valóban csak a 2. szintű csúcsokból származnak (+ összekapcsolás). Az 1. szintű csúcshívások lehetővé teszik az alcsúcsok megkülönböztetését (hogy hiányos csúcsok legyenek).

  2. Az összekapcsolástól eltekintve a széles csúcshívások megegyeznek a keskeny csúcshívásokkal, ha mindkettőt ugyanazzal a pval küszöbértékkel hívta meg (például ha a --broad-cutoff 0.1 széles csúcs módban, a -p 0.1 pedig keskeny csúcs üzemmódban)

Tudná tisztázni a válaszában, hogy a "magasabb pval" valójában "alacsonyabb" vagy "jelentősebb" p érték, és hogy az "alacsonyabb pval" valójában "magasabb" vagy "kevésbé jelentős" p érték? Előre látom, hogy valaki megzavarodik a megfogalmazás miatt.
Pontosítással egészítettük ki - köszönöm a fogást!


Ezt a kérdést és választ automatikusan lefordították angol nyelvről.Az eredeti tartalom elérhető a stackexchange oldalon, amelyet köszönünk az cc by-sa 3.0 licencért, amely alatt terjesztik.
Loading...