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

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

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

ADD REPLYlink written 16 months ago by Gordon Smyth39k
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: 328 users visited in the last hour