ColData and ERROR: rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest
1
0
Entering edit mode
LorManj • 0
@8cb9912e
Last seen 22 months ago
Portugal

Hi

I wonder to know if It is necessary that the row.names of the colData matrix match with the col.names of the countData matrix. If the names in first column from colData (colData [,1]) match with the col.names of the countData matrix but the row.names don't, will there be errors in the analysis?

On the other hand, after using the DESeq function, I got the following warning: "5 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest". How could I identify those rows?

I have tried the solutions from DESeq2 Error: rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest and maxit parameter cannot be changed in DESeq function but they didn't work.

Thank you so much

    dds <- DESeqDataSetFromMatrix(countData = countData,
                                          colData = colData,
                                          design = ~ Type+Sample+Type:Sample
    dds <- estimateSizeFactors(dds)
    nc <- counts(dds, normalized=TRUE)
    filter <- rowSums(nc >= 10) >= 2
    dds <- dds[filter,]
    dds <- estimateSizeFactors(dds)
    dds <- estimateDispersions(dds)
    dds <- nbinomWaldTest(dds, maxit=10000)

#or
dds <- DESeqDataSetFromMatrix(countData = countData,
                              colData = colData,
                              design = ~ Type+Sample+Type:Sample
dds <- DESeq(dds)
ddsClean <- dds[which(mcols(dds)$betaConv),]
results(ddsClean, list (c("Sample_Tp_vs_Ti)
DESeq2 • 1.3k views
ADD COMMENT
0
Entering edit mode
@mikelove
Last seen 14 hours ago
United States

Yes, definitely make sure the row names of colData match the col names of countData.

This is the same as saying you make sure that the labels of the samples are not swapped. Otherwise the analysis will be entirely wrong.

The rows are these:

which(mcols(object)$betaConv)

Often they have very low counts and can be filtered out at the beginning of the analysis with:

keep <- rowSums(counts(dds) >= 10) >= X
dds <- dds[keep,]
# then the rest of your code...
dds <- DESeq(dds, ...)

Here you can put X as the sample size of one of your groups.

ADD COMMENT

Login before adding your answer.

Traffic: 569 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