Interactive quality filtering functionality
Hi,
This PR adds functionality to:
- Automatically create thresholds for data via gaussian mixture models (qc_filter.automatic_thresholds)
- Plot and interactively change QC thresholds via matplotlib notebook sliders (qc_filter.quality_violin)
- Filter adata based on the estimated and adjusted QC thresholds (qc_filter.apply_qc_thresholds)
One of the main differences from before is that the thresholds are given in a dictionary of the form:
{
"column_name": {"group1": {"min": 0, "max":10},
"group2": {"min": 1, "max":10}},
"another_column": {"group1": {"min": (...)},
(...)}
}
Which should make it easier to validate the format and use these for both obs and var interchangeably. I integrated it into the notebook, so I would be grateful for review
Edited by Mette Bentsen