Currently, when a sample group has expression/variance filters applied, the filtered expression data is stored as a blob.
Instead, a gene set should be made containing the genes which were retained by the filters.
(This gene set should be "anonymous" and not appear in the user's list of gene sets.)
When the filtered sample group is downloaded or used as a background for outlier analysis etc, the expression data is to be retrieved & filtered on-the-fly by the gene set.
This may result in slower download speed.
Benefits are ability to change sample names, large storage savings, and general adherence to principle of storing info in database rather than monolithic blobs.
Note that this will not affect outlier analysis performance (after the first one for a sample group) as this relies on separate blobs that will continue to be created and stored.