Dmitry Kobak
Dmitry Kobak
@jlause @LuckyMD Okay, so I am on board with `sc.pp.highly_variable_genes(adata, flavor='pearson_residuals')` and with `sc.pp.normalize_pearson_residuals(adata)` that normalizes all genes and does not change the dimensions (and does not allow it even...
I would use something like ``` adata_for_pca = adata[:,adata.var.highly_variable] sc.pp.normalize_pca_pearson_residuals(adata_for_pca) sc.pp.pca(adata_for_pca, n_comps=n_pc) adata['pca'] = adata_for_pca['pca'] ``` in either bundle.
> Thus, I assume most people that use this recipe would also perform the HVG selection before I think we should make `highly_variable_genes(flavor='pearson_residuals')` as well as `normalize_pearson_residuals()` check if the...
@AdrianoCLeao would you be able to fix this PR? As described above, you need to fix the message and revert the condition to what it was.
Looks good to me now!
Thanks @ogrisel, this looks really good. Apologies for not implementing these things myself, and thanks for improving my tests! I don't have much experience with setting up unit tests.
Well, you use `whiten=True` but your `X` is low-rank. What behaviour do you expect?
Pinging @antoinebaker for a review :-) I have been doing some updates to this PR but am now finished with it.
> Could you maybe use this PR to implement ClassicalMDS only, and do the enhancements of MDS in a separate / follow up PR ? It will ease the reviewing...
Hi @antoinebaker. I think the `INIT_PARAMS` dictionary is only needed to provide non-default params (like a small number of iterations), which for `ClassicalMDS` is not needed. An estimator does not...