Closed Hrovatin closed 3 years ago
Which version of scIB are you using? We also ran into this error and fixed it with this PR:
https://github.com/theislab/scib/pull/161
I think we also raised the standard value of max_iterations
to 26 in more recent versions.
This generally happens when the integration method produces a highly disconnected graph
I am using a bit older version - will try this one out. If I update the version do I need to re-run all evaluations that successfully passed on the older version or are results comparable between older version and this fix?
This fix just sets the kBET score to 0 if it can't find enough neighbors, so it only affects the cases where it failed before. Same goes for raising max_iterations
, so the results are comparable before and after the fix
Thanks.
This generally happens when the integration method produces a highly disconnected graph
All may embedding are very similar on UMAP (output of integration method is latent space), but kBET fails only for some of them, even after increasing max_iterations to 26.
The "kBET fail" here is not really the kBET algorithm itself, but the preprocessing of the data to be input into kBET. We require a minimum of I think 45 neighbors per node (I think it was 45 at least). If we don't have that number, we perform diffusion over the graph (subsetted to a cell identity label, and only on sufficiently large connected components) to find more. If even after 26 iterations we don't get 45 neighbors, then the subsetted knn graph is so sparse and tree-like that we regard this as a bad kBET result anyway. So basically.. there must be differences between your embeddings for particular cell identity labels.
I am trying to run scIB on different integration results of single dataset. For some integrations results I get the below error from kBET. There is a message what to do to get rid of it the error, but scIB offers no parameters to adjust the variables in question.