<p>I have a method for doing this that uses a MCMC algorithm originally designed for population genetics (via the <em>structure</em> program) to generate a statistic between 0 and 1 indicating genetic risk. This needs the use of reference populations for cases and controls that the query individuals are added to for classification. I use T1D as an example. My methods paper is not peer-reviewed, and probably doesn't go into sufficient detail for what you are looking for, but at least indicates one way this can be done:</p>

<p><a href="https://www.biorxiv.org/content/early/2017/01/31/104497" rel="nofollow noreferrer">https://www.biorxiv.org/content/early/2017/01/31/104497</a></p>

<p>Based on the work I've done with this, using 48 cases and 48 controls with a very specifically defined type of cancer should be sufficient to create a generalised signature from human populations. If a generic cancer profile is needed, the populations are not representative of a general human population, or there are some cases in the control group, then things get trickier and require more individuals. On the other hand, 1500 per group is probably overkill.</p>

CC BY-SA 3.0
2017-10-09T18:51:06.700Z
2017-11-11T10:20:44.730Z
2017-11-11T10:20:44.730Z
gringer
<p>There are many different ways of doing it! I would recomend the well established R pacakge <a href="http://topepo.github.io/caret/index.html" rel="nofollow noreferrer">CARET</a> which have a <a href="https://topepo.github.io/caret/feature-selection-overview.html" rel="nofollow noreferrer">whole chapter</a> and many build in functions for it.</p>

<p>In addition you probably want to do some low-level filtering based on variance and fold changes (or the combination - ad DE analysis) to get the number of features down before progressing to the more advanced methods.</p>

CC BY-SA 3.0
2017-10-11T23:14:27.220Z
2017-11-11T10:19:34.903Z
2017-11-11T10:19:34.903Z
Kristoffer Vitting-Seerup
<p>Does anyone have a good method to find a signature where you combine the expression from multiple genes to predict a specific condition. 
Assume you have performed sequencing of 48 cancer samples and 48 normal sample. Then find a combination of genes that predicts the cancer samples, using for instance AUC. </p>

CC BY-SA 3.0
2017-10-09T19:10:25.007Z
One approach is to use Elastic Net regression, I've seen lots of examples in the literature, though the methods a pretty thin in terms of implementation
emilliman5
CC BY-SA 3.0
2017-10-10T08:30:21.050Z
I think that with cancer that is quite diverse and with this low number of samples you reproduce whatever gene signature in a larger cohort of samples. (Calculate the power of your study)
llrs
CC BY-SA 3.0
2017-10-12T02:47:05.307Z
Rather than going with a specific (bioinformatic) package you could turn to more general machine learning approaches. For similar problems of mine (with much fewer samples), default implementations of Random Forests (which will also provide importance of features / genes) often yield perfect or near-perfect classification. Note that Random Forests have many favorable characteristics for working with genes, and also form the mechanistic basis of the best-performing (competition-winning) tools for the prediction of gene regulatory networks.
tsttst
<r><rna-seq>
Gene expression signature (AUC) from gene expression data with 48 +48 samples
# Gene expression signature (AUC) from gene expression data with 48 +48 samples

(Asked by: username_0 on 2017-10-09)

Does anyone have a good method to find a signature where you combine the expression from multiple genes to predict a specific condition.
Assume you have performed sequencing of 48 cancer samples and 48 normal sample. Then find a combination of genes that predicts the cancer samples, using for instance AUC.

**Tags:** r, rna-seq
> **Comments:**
> **username_1**: One approach is to use Elastic Net regression, I've seen lots of examples in the literature, though the methods a pretty thin in terms of implementation  
> **username_2**: I think that with cancer that is quite diverse and with this low number of samples you reproduce whatever gene signature in a larger cohort of samples. (Calculate the power of your study)  
> **username_3**: Rather than going with a specific (bioinformatic) package you could turn to more general machine learning approaches. For similar problems of mine (with much fewer samples), default implementations of Random Forests (which will also provide importance of features / genes) often yield perfect or near-perfect classification. Note that Random Forests have many favorable characteristics for working with genes, and also form the mechanistic basis of the best-performing (competition-winning) tools for the prediction of gene regulatory networks.  

---

## 2 answers

### Answer by username_4 on 2017-10-09. Score: 1

I have a method for doing this that uses a MCMC algorithm originally designed for population genetics (via the *structure* program) to generate a statistic between 0 and 1 indicating genetic risk. This needs the use of reference populations for cases and controls that the query individuals are added to for classification. I use T1D as an example. My methods paper is not peer-reviewed, and probably doesn't go into sufficient detail for what you are looking for, but at least indicates one way this can be done:

<https://www.biorxiv.org/content/early/2017/01/31/104497>

Based on the work I've done with this, using 48 cases and 48 controls with a very specifically defined type of cancer should be sufficient to create a generalised signature from human populations. If a generic cancer profile is needed, the populations are not representative of a general human population, or there are some cases in the control group, then things get trickier and require more individuals. On the other hand, 1500 per group is probably overkill.


---

### Answer by username_5 on 2017-10-11. Score: 1

There are many different ways of doing it! I would recomend the well established R pacakge [CARET](http://topepo.github.io/caret/index.html) which have a [whole chapter](https://topepo.github.io/caret/feature-selection-overview.html) and many build in functions for it.

In addition you probably want to do some low-level filtering based on variance and fold changes (or the combination - ad DE analysis) to get the number of features down before progressing to the more advanced methods.


---

