How estimateDisp, glmQLFit and glmQLFTest process my TMM normalized read count matrix?
1
0
Entering edit mode
Giuseppe • 0
@giuseppe-25187
Last seen 4 months ago
Salerno

Dear all, I'm using edgeR for differential analysis of ChIPseq data between two group (3 samples for each group). All is fine up to TMM normalization (I have understand how the norm factor are calculated) but starting from this point my nightmare start.

I can't understand how my count matrix are used by estimateDisp, glmQLFit and glmQLFTest functions.

Can some of you explain in the easier way as possible (showing a matrix and showing how to calculate dispersion gene by gene) in order to better understand these steps?? Also tutorials where matrix and how to use it are shown could be helpful User guide is well written but I can't understand how 3 mentioned functions works.

Lot of beer for who will stop my nightmare

Thanks a lot

edgeR glmQLFTest glmQLFit estimateDisp • 1.0k views
ADD COMMENT
0
Entering edit mode
ATpoint ★ 4.0k
@atpoint-13662
Last seen 4 hours ago
Germany

At which point of the manual did you get stuck?

https://www.bioconductor.org/packages/release/bioc/vignettes/edgeR/inst/doc/edgeRUsersGuide.pdf

ADD COMMENT
0
Entering edit mode

Hi ATpoint, thanks for your reply... I'm using Csaw for this project but i think don't matter since my doubt are about edgeR steps

After count the reads in windows and estimate the background I have filtered the data

fstats <- filterWindowsGlobal(count, background)
min.fc <- 3
keep <- fstats$filter > log2(min.fc)
filtered.data <- count[keep,]

and perform a TMM normalization

filtered.data <- normFactors(background, se.out=filtered.data)

Then, I have make a matrix

celltype <- file$Diet
celltype[grep("Cntl", celltype)] <- "Cntl"
celltype[grep("Treat", celltype)] <- "Treat"

celltype <- factor(celltype)
design <- model.matrix(~0+celltype)
colnames(design) <- levels(celltype)
y <- asDGEList(filtered.data)

and from here my nightmare start. I would like to know how from my count matrix I'll obtain fold change and Pvalue (how this is done step by step across the three functions reported below (estimateDisp, glmQLFit and glmQLFTest)

y <- estimateDisp(y, design)
fit <- glmQLFit(y, design, robust=TRUE)
contrast <- makeContrasts(YD-RD, levels=design)
res <- glmQLFTest(fit, contrast=contrast)
head(res$table)

I'm able to carry out the analysis, but how it is done is not really clear. Thanks in advance for you time

ADD REPLY
1
Entering edit mode

The link ATpoint provided was to edgeR, not csaw, so you should follow the link and read the User's Guide. This support site is intended to help people with specific technical issues with the software rather than providing tutorial services. The vignettes are intended to provide that sort of information, and the edgeR User's Guide is better than most at doing so.

If you read the User's Guide and have specific questions, please feel free to ask.

ADD REPLY

Login before adding your answer.

Traffic: 806 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6