YosefLab / scib-metrics

Accelerated, Python-only, single-cell integration benchmarking metrics
https://scib-metrics.readthedocs.io/
BSD 3-Clause "New" or "Revised" License
45 stars 11 forks source link

KBET (without labels) to BatchCorrection #150

Open lebelm opened 6 months ago

lebelm commented 6 months ago

Description of feature

Hello,

I was wondering if it would be possible to add KBET to the list of metrics that can be selected in the BatchCorrection object ? Or maybe it is already possible and I didn't figure out how.

I saw that the function scib_metrics.kbet() is present in the API list and I would be interested in running it as it is label-free, though it would make sense to have it off by default. Currently, it can be run it by itself but this is not as practical as it takes a NeighborsResults as input.

scib_metrics.benchmark.BatchCorrection(silhouette_batch=True, ilisi_knn=True, kbet_per_label=True, graph_connectivity=True, pcr_comparison=True)

Thank you for the nice package in any case !

QqQss commented 5 months ago

Similar question here. I'm wondering if there's a function that can automatically convert the graph in adata (adatar.obsp['connectivities'] and adata.obsp['distances']) to NeighborsResults?