pertpy
pertpy copied to clipboard
Implement MCP methods
A reimplementation of https://github.com/livnatje/DIALOGUE could be awesome.
Then we could also talk to @davidsebfischer et al. to see how far their MCP method is.
TODO list
- [x] Implement DIALOGUE 2
- [x] Add DIALOGUE 3
- [ ] Separate load and calculate_multifactor_PMD calculation -> have two separate function calls for these; load should store stuff in the AnnData object already
- [x] Rename the MCPs to something better and not just 0, 1, ...
- [ ] Rewrite the MCP concatenation to ensure that we're not returning an AnnData object but modifying inplace
- [ ] Write tests for the functions
- [ ] Solve TODOs
- [x] Add plotting functions from DIALOGUE R
- [ ] Think about factoring all DIALOGUE 1, DIALOGUE 2 and DIALOGUE 3 steps into their own Python files aka create a private
_dialoguemodule - [ ] remove
new_mcp_scoresfrommultilevel_modelingand exposecalculate_cca_sig - [ ] ensure
calculate_cca_sigandmultilevel_modelingcan be called separately - [ ] Store the most used parameters in the DIALOGUE object -> e.g. sample etc
- [ ] hierarchical modeling only returns results for 1 cell type -> why?!? Is the result being overwritten?
- [ ] results from hierarchical modeling should not return sig_genes per cell type pair but rather per cell type
- [ ] make sure user is aware that
n_UMIneeds to be logged if.Xis logged - [ ]
multilevel_modelingdoes not allow for confounder to be None -> code breaks (ignore type hints)