Running SCTransform on my seurat object produces the warning:

Warning in theta.ml(y = y, mu = fit$fitted) : iteration limit reached

What does this warning mean? Can I trust the output?

SCTransform runs through the data producing this warning until the progress bar reaches 100%. The resulting seurat object does have an SCT assay and I have successfully done downstream analysis with it. I am concerned that my SCTransform has not successfully done what it is supposed to do. Is there a way to cross-check?


1 Answer 1


The explanation can be found in link posted by ATpoint in his comment:

I get at least 10 posts on GitHub, GitMemory and Biostars just on the top page.

The first author of the SCTransform paper, Christoph Hafemeister had posted this answer in a similar query on the satijalab GitHub page https://github.com/satijalab/seurat/issues/1378

"These warnings are related to the estimation of the theta parameter of the Negative Binomial regression model used to describe the molecule count distribution of each gene. When a gene has very few non-zero observations estimation of that parameter is not reliable and that's what the message indicates. This is not a problem, since the estimated theta parameters are not used directly for normalization but are regularized (sharing information across genes and thus lowering uncertainty)."


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.