GSVA - finding consistently enriched pathways between multiple phenotypes?
0
0
Entering edit mode
4.9 years ago
steve.booth ▴ 50

Hi there,

We have 4 quantitative imaging measures and gene expression for the same tissues. So I am working on GSVA to see which pathways change in relation to changes in the pathology - based on the 4 imaging variables.

############# Create the GSVA obj  #############
eDat_es <- gsva(eset, myC5, min.sz=10, max.sz=Inf, method="gsva", mx.diff=TRUE,verbose=FALSE)

adjPvalueCutoff <- 0.05
logFCcutoff <- log2(1.5)

############### Pathways associated with Alveolar surface area (SA) ###########
design <- model.matrix(~ SA + Age + Sex+ packyears +BMI, data = pDat)
fit <- lmFit(eDat_es, design)
fit <- eBayes(fit)
allGeneSets <- topTable(fit, coef=2, number=Inf)
SA_DEgeneSets <- topTable(fit, coef=2, number=Inf,
                          p.value=adjPvalueCutoff, adjust="BH")
resSA <- decideTests(fit, p.value=adjPvalueCutoff)
summary(resSA)

############### Pathways associated with Volume fraction of Alveoli (Alv) ###########
design <- model.matrix(~ Vv.alv.par. + Age + Sex+ packyears +BMI, data = pDat)
fit <- lmFit(eDat_es, design)
fit <- eBayes(fit)
allGeneSets <- topTable(fit, coef=2, number=Inf)
Alv_DEgeneSets <- topTable(fit, coef=2, number=Inf,
                          p.value=adjPvalueCutoff, adjust="BH")
resAlv <- decideTests(fit, p.value=adjPvalueCutoff)
summary(resAlv)

############### Pathways associated with Volume fraction of Septa (Septa) ###########
design <- model.matrix(~ Vv.tissue.par. + Age + Sex+ packyears +BMI, data = pDat)
fit <- lmFit(eDat_es, design)
fit <- eBayes(fit)
allGeneSets <- topTable(fit, coef=2, number=Inf)
Septa_DEgeneSets <- topTable(fit, coef=2, number=Inf,
                           p.value=adjPvalueCutoff, adjust="BH")
resSepta <- decideTests(fit, p.value=adjPvalueCutoff)
summary(resSepta)

############### Pathways associated with Volume fraction of Ducts (Duct) ###########
design <- model.matrix(~ Vv.duct.par. + Age + Sex+ packyears +BMI, data = pDat)
fit <- lmFit(eDat_es, design)
fit <- eBayes(fit)
allGeneSets <- topTable(fit, coef=2, number=Inf)
Duct_DEgeneSets <- topTable(fit, coef=2, number=Inf,
                             p.value=adjPvalueCutoff, adjust="BH")
resDuct <- decideTests(fit, p.value=adjPvalueCutoff)
summary(resDuct)

This results in 4 tables of enriched pathways (1x for each imaging measure): SA_DEgeneSets, Alv_DEgeneSets, Septa_DEgeneSets, Duct_DEgeneSets.

Is there a way that we could statistically test the overlap, or find a core set of enriched pathways? At the moment I just collapse all 4 tables on matching row names to find overlapping pathways....

Thanks in advance for any suggestions! Steve

GSVA R limma • 1.9k views
ADD COMMENT
1
Entering edit mode

Hey Steve, I guess that you could treat these signatures / pathways as 'genes' and just perform a meta-analysis with, e.g., RankProd. I have never seen this done before, so, I am only adding this as a comment. It is no problem to also do a manual overlap and report the findings.

As you are probably gathering, GSVA is a very powerful technique and there is much possibility with the data. One thing that I did recently was to input the signatures/pathways into a regression model and then pick the best pathway predictors of, e.g., response to treatment. The results made a lot of sense.

ADD REPLY
1
Entering edit mode

Hey Kevin, thanks for the reply. Seems that you are the on call guru for my posts on here at the moment.

I like the suggestion of the regression. One thing I have played with is trajectory inference analysis using SCORPIUS, to see if the DE Genes can predict a trajectory of disease severity among the samples. Also includes a random forest method to select the most important predictors. So perhaps I might try that with the pathways.

As you said, lots of possibilities with the data!

ADD REPLY

Login before adding your answer.

Traffic: 2522 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