# Classifying samples based on marker gene expression

I have a few sets of marker genes that I can classify RNA-seq samples using semi-supervised clustering. I would like to automate the process, however, I am struggling to find the ideal algorithm that could generate some kind of score for marker gene set from a given sample.

I presume that this is a standard analyses in many groups but I am not sure which method(s) are yielding good results in practice.

• There was recently a similar question on Biostars that yielded no answers: biostars.org/p/239228 May 24, 2017 at 20:28
• I am surprised. It seems like such an important problem. Especially with scRNA-seq gaining popularity.
– GWW
May 24, 2017 at 20:45
• Since you mentioned scRNA-seq data, you might be interested in Buettner & al.: “Computational analysis of cell-to-cell heterogeneity in single-cell RNA-sequencing data reveals hidden subpopulations of cells”. It doesn’t quite address your problem but it shows some of the issues associated with identifying cell populations in scRNA-seq in particular, which are largely smoothed out in bulk RNA-seq. May 26, 2017 at 10:43

I would consider using gene expression signatures to classify samples (especially cancer subtypes but the same principles apply to other problems of this type) one of the classic problems of bioinformatics. Quite a lot of work has been done on methods to derive gene sets that provide good classification performance. This is slightly different from your problem since you already have a gene signature but it may still prove useful.

These methods will typically fit a model that selects a (small) number of genes from genome-wide expression data that distinguish between the cell types/conditions in question, i.e. they derive a gene signature. The resulting model then allows for the classification of new samples. I've had success using GeneRave for this purpose (but note that this was designed for microarray data, I haven't used it with RNA-seq data and don't know how well it holds up there). A more recent paper relating to this issue can be found here.

So how does that help you? One option would be to fit one of these classifiers to gene expression data for the genes you already know to obtain a model that can then be applied to new samples automatically.

• That's really helpful thank you so much. I will give those a try or at least see how I can adapt their methods.
– GWW
May 25, 2017 at 0:56
• Tacking on to @Peter Humberg's caveat of GeneRave being designed for microarray data, you could voom transform your counts using limma to make them microarray-like. May 25, 2017 at 9:58
• When I need to compare cDNASeq expression with microarray, I use a transcript length normalisation applied to DESeq's VST transformation (which I call 'VSTPk'). More details of that can be found in the methods section of our Th2 RNASeq paper: dx.doi.org/10.1084/jem.20160470
– gringer
May 25, 2017 at 21:48