Question: Differential profile for only one normal - tumor pair
1
gravatar for takumima
14 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 • 242 views
ADD COMMENTlink modified 14 months ago by Gordon Smyth38k • written 14 months ago by takumima10
Answer: Differential profile for only one normal - tumor pair
3
gravatar for Gordon Smyth
14 months ago by
Gordon Smyth38k
Walter and Eliza Hall Institute of Medical Research, Melbourne, Australia
Gordon Smyth38k 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 14 months ago • written 14 months ago by Gordon Smyth38k

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 14 months ago • written 14 months ago by takumima10

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

ADD REPLYlink written 14 months ago by Gordon Smyth38k
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: 230 users visited in the last hour