Teichlab / bbknn

Batch balanced KNN

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Does bbknn really work?

HelloWorldLTY opened this issue · comments

I have tried bbknn based on the scanpy tutorial, but the running time is very quick, and the result is very similar to the original data(in fact, same)
I just use:
bbknn.bbknn(adata,batch_key='batch')

Anything wrong here? Thanks.

I'm not sure what it is exactly that you're doing. As such, I'll try to provide broad feedback.

If slotting BBKNN into the scanpy workflow, you should run it once you have your PCA coordinates, as an alternative to sc.pp.neighbors(). Both functions produce a neighbour graph, which can then be used for downstream analysis such as creating a UMAP manifold, Leiden clustering or pseudotime inference. However, the neighbour graph by itself is not something you can easily look at, hence you need to run sc.tl.umap() afterwards.

This is shown in the demo notebook. In[3] has a UMAP based on regular neighbour calling, while In[4] has a UMAP based on BBKNN. The run time being quick is a feature, not a bug.

Thanks, I found that I ignored the fact that bbknn could not modify the original count matrix. Thanks.

Mystery resolved then :)

There's a recent tool called RISC which offers count space correction. Maybe this will be of some use?

hh, thanks. In fact, currently, I am developing a novel batch correction model, and I am looking for benchmark models.