Currently, there are several different dataset objects specialized for each task and model (e.g., CellTypeDataset, ClusteringDataset), each of them takes a variety of specialized arguments that are not directly related to the underlying data, e.g., save path, processing scheme, choice of tissue. This complexity makes it quite hard to maintain the code base and implement new methods/datasets.
To improve this situation, we need to isolate raw dataset objects from transformation/processing methods.
- Base data object
- Take
AnnData as an input and save it as a private attribute (read-only?).
- Construct data loaders that load g, x, y, etc., to be passed to the model for training/evaluation.
- Dataset object
- Download option
- Transformation option
- Dataset from paper (preprocessed) -> used to benchmark the reproducibility of the reimplemented model
- Transformation
- Leverage functionalities from
scanpy (recall that now the base data object store an AnnData object as a (private) attribute
To fix
Single modality
Spatial
Multi modality
Currently, there are several different dataset objects specialized for each task and model (e.g.,
CellTypeDataset,ClusteringDataset), each of them takes a variety of specialized arguments that are not directly related to the underlying data, e.g., save path, processing scheme, choice of tissue. This complexity makes it quite hard to maintain the code base and implement new methods/datasets.To improve this situation, we need to isolate raw dataset objects from transformation/processing methods.
AnnDataas an input and save it as a private attribute (read-only?).scanpy(recall that now the base data object store anAnnDataobject as a (private) attributeTo fix
Single modality
Spatial
Multi modality