[Bioc-devel] Modeling (statistic, p-value) pairs in MultiAssayExperiment

Francesco Napolitano franapoli at gmail.com
Wed Oct 25 13:39:50 CEST 2017


That's great help, Levi, I will try your suggestions.

thank you,

francesco

Il 25/10/2017 00:28, Levi Waldron ha scritto:

OK, I think I'm understanding better now. The best immediate solution that
I can think of is a SummarizedExperiment for each signatures database, then
pasting those SummarizedExperiments together with a MultiAssayExperiment.
Something like this:

set.seed(1)
statvals <- matrix(rnorm(100), ncol=5)
rownames(statvals) <- paste0("pathway", 1:nrow(statvals))
colnames(statvals) <- paste0("cell", 1:ncol(statvals))
pvals <- pnorm(statvals)

coldat <- DataFrame(name=letters[1:ncol(statvals)])
rownames(coldat) <- colnames(statvals)

library(SummarizedExperiment)
se1 <- SummarizedExperiment(list(statvals = statvals[1:12, ], pvals =
pvals[1:12, ]))
se2 <- SummarizedExperiment(list(statvals = statvals[13:20, ], pvals =
pvals[13:20, ]))
library(MultiAssayExperiment)
mae <- MultiAssayExperiment(list(database1=se1, database2=se2),
                            colData=coldat)

Then you can extract with assays() or integrate with wideFormat(), examples
below. The wideFormat example currently only extracts the statvals but you
should be able to select between assays for wideFormat too; I've just
opened an issue
<https://github.com/waldronlab/MultiAssayExperiment/issues/221> for this.

> assays(mae, i="statvals")List of length 2
names(2): database1 database2> assays(mae, i="pvals")List of length 2
names(2): database1 database2> head(assays(mae,
i="pvals")[["database2"]])               cell1      cell2     cell3
 cell4     cell5
pathway13 0.26722067 0.65087047 0.6334933 0.7293096 0.8770575
pathway14 0.01339034 0.47854525 0.1293723 0.1751268 0.7581031
pathway15 0.86969085 0.08424692 0.9240745 0.1049876 0.9437248
pathway16 0.48208011 0.33907294 0.9761707 0.6146450 0.7117439
pathway17 0.49354130 0.34668349 0.3567269 0.3287773 0.1008731
pathway18 0.82737332 0.47635125 0.1482116 0.5004410 0.2832325

> (res <- wideFormat(mae[1, , ], colDataCols="name"))DataFrame with 5 rows and 4 columns
   primary        name database1_pathway1 database2_pathway13
  <factor> <character>          <numeric>           <numeric>
1    cell1           a         -0.6264538          -0.6212406
2    cell2           b          0.9189774           0.3876716
3    cell3           c         -0.1645236           0.3411197
4    cell4           d          2.4016178           0.6107264
5    cell5           e         -0.5686687           1.1604026


On Tue, Oct 24, 2017 at 9:43 AM, Francesco Napolitano <franapoli at gmail.com>
wrote:

> Thank you!
>
> Fig 1 shows the pipeline for a single database of pathways, but we
> used 10 different databases (GO, KEGG, Reactome...). Currently we use
> all of MSigDB, which includes 24 subcategories, and we have a matrix
> of ES and a matrix of pvalues for each. You always have the same drugs
> over columns, but different pathways over rows. Keeping them separated
> is necessary (you don't want to rank pathways across unrelated
> databases). On the other hand, if I build one SummarizedExperiment for
> each database, I have to replicate the common metadata across all of
> them, and also lose most of the features that going through the burden
> of modeling my data with SE were all about :-/.
>
> Note I'm considering all this for a package under review to possibly
> improve its interoperability with existing packages.
>
>
> On Tue, Oct 24, 2017 at 2:45 PM, Levi Waldron
> <lwaldron.research at gmail.com> wrote:
> > On Oct 24, 2017 6:14 AM, "Francesco Napolitano" <franapoli at gmail.com>
> wrote:
> >
> > I'm converting gene expression profiles to "pathway expression
> > profiles" (https://doi.org/10.1093/bioinformatics/btv536), so for each
> > pathway I have an enrichment score and a p-value. I guess it would be
> > like modeling gene expression data where limma-like preprocessing was
> > performed, so you have a fold change - p-value pair for each gene.
> > Isn't there a data model for that?
> >
> >
> > Nice paper, thanks for the link! Could you explain the problem a little
> more
> > using the terminology of your paper? I see your enrichment values matrix
> > (fig 1c ESij) of pathways x cell lines, and imagine additional associated
> > matrices of p-values and ranks, but where do assays with different rows
> come
> > in?
> >
>



-- 
Levi Waldron
http://www.waldronlab.org
Assistant Professor of Biostatistics     CUNY School of Public Health
US: +1 646-364-9616 <(646)%20364-9616>
     Skype: levi.waldron

	[[alternative HTML version deleted]]



More information about the Bioc-devel mailing list