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 2.5 years 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 • 2.2k views
ADD COMMENT
0
Entering edit mode
@mikelove
Last seen 6 days 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
0
Entering edit mode

Hello,

I am running into a similar issue. After setting the design, at the beginning of the analysis I filter rows with low counts.

dds <- DESeqDataSetFromMatrix(countData = countdata, 
                                    colData = colData, 
                                    design = ~Species + Site + Fate_Outcome)

# Filter out columns with an average number of counts less than 10. 
dds <- dds[rowMeans(counts(dds)) > 10, ] 
test <- DESeq(dds)

However, after running DESeq, I get the following error:

#19 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest

When I use :

which(mcols(test)$betaConv)

I get a list of thousands of rows, not 19. I am confused on how to proceed. Any help will be extremely appreciated!

1
Entering edit mode

That is the rows that did converge.

ADD REPLY

Login before adding your answer.

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