lilab-bcb / harmony-pytorch

BSD 3-Clause "New" or "Revised" License
47 stars 9 forks source link

About correction level #5

Closed EBGU closed 2 years ago

EBGU commented 3 years ago

Hi!

I am using your package and it is really helpful! However, the default parameter could not correct my dataset perfectly. Some clusters were corrected, but a large cell type with diverse subtypes could not match its counterpart. I wonder how should I set the parameter to make the correction stronger?

Thanks a lot!

yihming commented 3 years ago

Hi @EBGU ,

Sorry for the delay!

By default, harmonize function executes 10 iterations. If the on-screen log did not show that the correction on your data had reached convergence, then a direct adjustment could be to increase the max_iter_harmony parameter.

If that doesn't help much, you may want to play with other parameters in harmonize function. You can check them by help(harmonize) or directly see the source code. The details and discussion on these parameters' effects can be seen from the Methods section of Harmony paper, which is listed in the README of this repo.

For example, theta is for the weight of diversity penalty term in the objective function that Harmony uses for correction. Increasing it may lead to more diverse clusters after correction.