Clustering code is both in the pipeline and the worker, completely duplicated (tests included).
Currently, the first time clustering is calculated it is done in the pipeline, and that is what is shown to users. If a user changes a clustering parameter, a work request is triggered. And from then on, clustering is always performed in the worker.
Background
Clustering code is both in the pipeline and the worker, completely duplicated (tests included).
Currently, the first time clustering is calculated it is done in the pipeline, and that is what is shown to users. If a user changes a clustering parameter, a work request is triggered. And from then on, clustering is always performed in the worker.
@kafkasl has implemented a mechanism to trigger a work request for the UMAP and marker heatmap automatically after the pipeline finishes. This could be extended to clustering, removing the need for duplicated code (and a lot simpler than previously proposed solutions, like an R package with code for clustering to be imported by both the pipeline and worker).
goal