Question: Differential profile for only one normal - tumor pair
1
gravatar for takumima
12 months ago by
takumima10
takumima10 wrote:

Hi all,

I analysed the list of DEGs in 10 tumour-normal pairs (without replicates), with edgeR. I used the paired design

design = model.matrix(~Patient+Tissue)

Now, I would like to get the list of differentially expressed genes for each tumour-normal pair, individually. The aim is to get the patient-specific DEG list for the drug discovery in the precision medicine.

edger paired design degs • 213 views
ADD COMMENTlink modified 12 months ago by Gordon Smyth37k • written 12 months ago by takumima10
Answer: Differential profile for only one normal - tumor pair
3
gravatar for Gordon Smyth
12 months ago by
Gordon Smyth37k
Walter and Eliza Hall Institute of Medical Research, Melbourne, Australia
Gordon Smyth37k wrote:

If you've already analysed the paired design, then you will have a DGEList object with dispersion estimates stored in it. I will call this object dge.

Step 1: Make a new design with patient-specific effects:

design2 <- model.matrix(~Patient + Patient:Tissue)

Step 2: Fit the new glm using the trended dispersion previously estimated with the original design matrix:

fit <- glmFit(dge, design2, dispersion=dge$trended.dispersion)

Step 3. Now you can extract patient-specific effects. To get DE genes for the first Patient:

lrt <- glmLRT(fit, coef=11)
topTags(lrt)

Note: do not attempt to re-estimate the dispersion using design2. The patient-specific design matrix does not have any replication.

ADD COMMENTlink modified 12 months ago • written 12 months ago by Gordon Smyth37k

Thank you, Gordon, for your suggestions. Your solution seems to work!

However, I'm not sure if my code returns the list of DEGs in the tumour sample. This because by performing the analysis on a publicly available dataset, my gene of interest is up-regulated, exactly the opposite of what is reported in the paper.

gr = as.factor(c("N","T"))
groups <- rep(gr, times=10)

Patient <- factor(c("pat1","pat1","pat2","pat2","pat3","pat3","pat4","pat4","pat5","pat5","pat6","pat6","pat7","pat7","pat8","pat8","pat9","pat9","pat10","pat10"))
Tissue <- factor(groups)

design = model.matrix(~Patient+Tissue) #compare the tissues (tumor-normal) adjusting for any baseline differences between the patients by fitting an additive model

genefit <- glmQLFit(geneList, design)
geneqlf <- glmQLFTest(genefit)

geneqlf

#$comparison
#[1] "TissueT"

 

ADD REPLYlink modified 12 months ago • written 12 months ago by takumima10

Your code is doing a paired test for T vs N.

ADD REPLYlink written 12 months ago by Gordon Smyth37k
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 16.09
Traffic: 231 users visited in the last hour