Differential profile for only one normal - tumor pair
1
1
Entering edit mode
takumima ▴ 10
@takumima-16365
Last seen 11 weeks ago
Italy

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 degs paired design • 1.1k views
ADD COMMENT
3
Entering edit mode
@gordon-smyth
Last seen 12 hours ago
WEHI, Melbourne, Australia

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 COMMENT
0
Entering edit mode

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 REPLY
0
Entering edit mode

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

ADD REPLY

Login before adding your answer.

Traffic: 642 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6