Spørsmål:
Hvordan er MACS2s smale topp- og brede toppalgoritmer forskjellige?
Ian Sudbery
2017-05-20 05:21:09 UTC
view on stackexchange narkive permalink

Toppanropsverktøyet MACS2 kan ringe topper i enten smal toppmodus (for fokuserte signaler som transkripsjonsfaktor ChIPseq) eller bred toppmodus (for flere defuse-signaler, som visse histonmodifikasjoner).

Algoritmen for smal toppkalling er godt beskrevet i MACS-publikasjonen. Men jeg finner ikke mye dokumentasjon for hvordan peak calling er forskjellig i bred peak-modus. Manualen inneholder bare følgende:

--broad

Når dette flagget er på, vil MACS prøve å sammensette brede regioner i BED12 (et genmodellignende format ) ved å plassere nærliggende høyt berikede regioner i en bred region med løs avskjæring. Den brede regionen styres av en annen avskjæring - bredbåndsavskjæring. Maksimal lengde for bred regionlengde er 4 ganger d fra MACS

Men dette beskriver egentlig ikke nøyaktig hvordan dette utføres.

Så hva er algoritmen MACS bruker for å kalle brede topper?

Jeg fant [algoritmen] (https://github.com/taoliu/MACS/blob/24a1eab9fe7e885c27a37dbac2efb99d6da8dc74/MACS2/IO/BedGraph.pyx#L594), men ærlig talt kunne jeg ikke virkelig få prøve / unntatt konstruksjon på linje 629. ..
En svar:
Daniel Kim
2017-05-21 02:38:55 UTC
view on stackexchange narkive permalink

Nøkkelfunksjonen er call_broadpeaks :

Beskrivelsen som er knyttet til funksjonen sier:

Denne funksjonen prøv å finne berikede regioner der poengene er kontinuerlig høyere enn en gitt cutoff for nivå 1, og koble dem ved å bruke gapet over nivå 2 cutoff med en maksimal lengde på lvl2_max_gap.

scoring_function_s: symboler for funksjoner til beregne poengsum. 'p' for pscore, 'q' for qscore, 'f' for foldendring, 's' for subtraksjon. for eksempel: ['p', 'q']

lvl1_cutoff_s: liste over cutoffs i høyt berikede regioner, tilsvarende scoringsfunksjoner.

lvl2_cutoff_s: liste over cutoffs i mindre berikede regioner , tilsvarer poengfunksjoner.

min_lengde: minimum topplengde, standard 200.

lvl1_max_gap: maksimal gap for å slå sammen berikede topper i nærheten, standard 50.

lvl2_max_gap : maksimal lengde på koblingsregioner, standard 400.

Returner både det generelle PeakIO-objektet for høyt berikede regioner og gapped brede regioner i BroadPeakIO.

For å gi noen grunnleggende forklaringer, algoritmen (kort) ser ut til å være som følger:

  1. To separate nivåer av topper kalles, nivå 1 (en høyere pval, dvs. mer signifikant) og nivå 2 (en lavere pval ). Nivå 1 styres av -p og nivå 2 styres av - broad-cutoff . Når hvert toppsett kalles, blir de umiddelbart koblet av parameteren maks gap for hvert sett.

  2. Deretter antar vi at alle nivå 1-toppene skal være innenfor nivå 2-toppene (dette er en eksplisitt antagelse fra MACS2), grupperer algoritmen nivå 1 topper innenfor nivå 2 topper for å sende ut en bred topp.

...

Dette har noen få implikasjoner:

  1. De brede peak-samtalene kommer virkelig fra nivå 2-toppene alene (+ linking). Nivå 1-toppsamtalene lar deg skille mellom topper (slik at du kan ha gappede topper).

  2. Bortsett fra koblingen, vil de brede peak-samtalene være de samme som smale peak-samtaler, hvis du ringte begge med samme pval-terskel (for eksempel hvis du angir - bred-cutoff 0,1 i bred toppmodus, og -p 0.1 for smal toppmodus)

Kan du avklare i svaret ditt at "høyere pval" faktisk er "lavere" eller "mer signifikant" p-verdi, og at "lavere pval" faktisk er "høyere" eller "mindre signifikant" p-verdi? Jeg ser for meg at noen blir forvirret av ordlyden.
Lagt til en avklaring - takk for fangsten!


Denne spørsmålet ble automatisk oversatt fra engelsk.Det opprinnelige innholdet er tilgjengelig på stackexchange, som vi takker for cc by-sa 3.0-lisensen den distribueres under.
Loading...