In my experiment I have a number of clusters of cells from an unsupervised clustering. Each cluster represents a cell type, and can be seen as random samples from a large pool of possible cell types that could have ended up in the experiment. The clusters are very different in size, say between 10 and 10000 cells. The total number of cells is maybe 50000 and the number of clusters 20. For each cell I have a measurement of a gene X. I would like to know if the expression of gene X is significantly different in cluster Y compared to all other clusters. The clustering can be seen as independent of the expression level of X. For technical reasons the variances in the clusters are very different. The number of cells in each cluster is irrelevant and can be seen as a technical effect, but clusters with many cells would of course have better estimates of their means.
For simplicity we can assume that the expression values are normally distributed within each cluster.
The simplest approach would be to pool all the cells in the non-Y clusters and then do, say, a t-test. However, that would weigh clusters with many cells more heavily and that's something I'd like to avoid. A group should be considered the experimental unit, not the cell.
Any hints would be welcome! Thanks!