Dimred datasets preprocessing - #289
Conversation
* Performs basic pre-processing using the standard scanpy workflow * Normalise by total counts * Log transform * Calculate (max) 1000 HVGs * Calculate 50 PCs * Add this function to the existing dataset loaders
Methods should now assume there is a adata.obsm['X_input'] slot which should be the input for (most) methods
|
Thinking about this a bit more I'm actually wondering if it is better to do this on the methods level rather than the datasets level? We could still have a CONS: Pre-processing would be run multiple times (maybe bad if there are many methods), more work to add methods The results at the end should be the same so I guess it depends which the core members would prefer and is most consistent with what is being done for other tasks. |
This is what I was referring to with "... we just put the preprocessing in each method version as sqrt_umap, log1p_umap, etc." in #279. I guess it depends on how costly this step will be. I am not sure if talking about parallelization makes sense (I haven't used AWS). |
|
So far we have converged on preprocessing as part of methods if possible in openproblems. |
|
Based on @LuckyMD's comments in a couple of places it seems like moving the pre-processing to the method layer would be more consistent with other tasks. I will close this now, move some things around and start a new PR. |
Submission type
This submission modifies the dimensionality reduction (2D) task to include pre-processing steps in the data loaders (See #279). These should store a higher dimensional embedding in
adata.obsm['X_input']which is then used as the input for (most) methods.preprocessing.pyfunction that has pre-processing functions (one currently)PHATEis an exception, wasn't sure if that was appropriate so skipped for now but should probably discuss before mergingTesting
Submission guidelines