dear maintainers of Biobase and lumi, this is a question raised from a different thread a few days ago here: https://stat.ethz.ch/pipermail/bioc-devel/2014-January/005129.html the matrix of genes by samples expression values in an 'ExpressionSet' object can be accessed and replaced with the "exprs<-" method and this changes automatically the dimension of the 'ExpressionSet' object as illustrated in the following example: library(Biobase) data(sample.ExpressionSet) dim(sample.ExpressionSet) Features Samples 500 26 exprs(sample.ExpressionSet) <- matrix(rnorm(2600), nrow=100) dim(sample.ExpressionSet) Features Samples 100 26 however, this does not seem to be happening with 'LumiBatch' objects which are an extension of 'ExpressionSet' objects: library(lumi) data(example.lumi) dim(example.lumi) Features Samples 8000 4 exprs(example.lumi) <- matrix(rnorm(400), nrow=100) dim(example.lumi) ## NOTE NOW THAT DIMENSION DOES NOT CHANGE!! Features Samples 8000 4 a couple of diagnostics are that the expression matrix itself it does seem to have been replaced: dim(exprs(example.lumi)) [1] 100 4 and the "exprs<-" method does not seem to be explicitely defined for 'LumiBatch' objects: showMethods("exprs") Function: exprs (package Biobase) object="AffyBatch" object="ExpressionSet" object="MethyLumiSet" object="SnpSet" so i guess something is not working at the interaction of Biobase::exprs<- and LumiBatch-class, whether this should be fixed at Biobase or lumi, have no idea. thanks! robert. ps: sessionInfo() > sessionInfo() R version 3.0.2 (2013-09-25) Platform: x86_64-unknown-linux-gnu (64-bit) locale: [1] LC_CTYPE=en_US.UTF8 LC_NUMERIC=C LC_TIME=en_US.UTF8 [4] LC_COLLATE=en_US.UTF8 LC_MONETARY=en_US.UTF8 LC_MESSAGES=en_US.UTF8 [7] LC_PAPER=en_US.UTF8 LC_NAME=C LC_ADDRESS=C [10] LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF8 LC_IDENTIFICATION=C attached base packages: [1] parallel stats graphics grDevices utils datasets methods base other attached packages: [1] lumi_2.14.1 Biobase_2.22.0 BiocGenerics_0.8.0 vimcom_0.9-92 [5] setwidth_1.0-3 colorout_1.0-1 loaded via a namespace (and not attached): [1] affy_1.40.0 affyio_1.30.0 annotate_1.40.0 [4] AnnotationDbi_1.24.0 base64_1.1 beanplot_1.1 [7] BiocInstaller_1.12.0 biomaRt_2.18.0 Biostrings_2.30.1 [10] bitops_1.0-6 BSgenome_1.30.0 bumphunter_1.2.0 [13] codetools_0.2-8 colorspace_1.2-4 DBI_0.2-7 [16] digest_0.6.4 doRNG_1.5.5 foreach_1.4.1 [19] genefilter_1.44.0 GenomicFeatures_1.14.2 GenomicRanges_1.14.4 [22] grid_3.0.2 illuminaio_0.4.0 IRanges_1.20.6 [25] iterators_1.0.6 itertools_0.1-1 KernSmooth_2.23-10 [28] lattice_0.20-24 limma_3.18.7 locfit_1.5-9.1 [31] MASS_7.3-29 Matrix_1.1-1.1 matrixStats_0.8.14 [34] mclust_4.2 methylumi_2.8.0 mgcv_1.7-27 [37] minfi_1.8.9 multtest_2.18.0 nleqslv_2.1 [40] nlme_3.1-113 nor1mix_1.1-4 pkgmaker_0.17.4 [43] preprocessCore_1.24.0 RColorBrewer_1.0-5 RCurl_1.95-4.1 [46] registry_0.2 reshape_0.8.4 R.methodsS3_1.6.1 [49] rngtools_1.2.3 Rsamtools_1.14.2 RSQLite_0.11.4 [52] rtracklayer_1.22.0 siggenes_1.36.0 splines_3.0.2 [55] stats4_3.0.2 stringr_0.6.2 survival_2.37-4 [58] tools_3.0.2 XML_3.98-1.1 xtable_1.7-1 [61] XVector_0.2.0 zlibbioc_1.8.0
[Bioc-devel] problem w/ "exprs<-" method and LumiBatch objects
8 messages · Martin Morgan, Robert Castelo, Levi Waldron +1 more
On 01/10/2014 12:07 AM, Maintainer wrote:
dear maintainers of Biobase and lumi, this is a question raised from a different thread a few days ago here: https://stat.ethz.ch/pipermail/bioc-devel/2014-January/005129.html the matrix of genes by samples expression values in an 'ExpressionSet' object can be accessed and replaced with the "exprs<-" method and this changes automatically the dimension of the 'ExpressionSet' object as illustrated in the following example: library(Biobase) data(sample.ExpressionSet) dim(sample.ExpressionSet) Features Samples 500 26 exprs(sample.ExpressionSet) <- matrix(rnorm(2600), nrow=100) dim(sample.ExpressionSet) Features Samples 100 26 however, this does not seem to be happening with 'LumiBatch' objects which are an extension of 'ExpressionSet' objects: library(lumi) data(example.lumi) dim(example.lumi) Features Samples 8000 4 exprs(example.lumi) <- matrix(rnorm(400), nrow=100) dim(example.lumi) ## NOTE NOW THAT DIMENSION DOES NOT CHANGE!! Features Samples 8000 4
actually, the expression values have been replaced > dim(exprs(example.lumi)) [1] 100 4 but the object is no longer valid > validObject(example.lumi) Error in validObject(example.lumi) : invalid class "LumiBatch" object: row numbers differ for assayData members This is also true of the ExpressionSet example (the object is no longer valid), it's just that the dims are taken from a different location so reflect the addition. The user should be providing expression values with the same dimensions (and with the same dimnames) as the original. I think the intended use case was more along the lines of replacing the expression matrix with say a transformed version, exprs(x) = log(exprs(x)). Obviously Biobase shouldn't be allowing the user to see an invalid object, but the design of the package does not make it easy to enforce this; I'll work on providing something more robust, but the end result of trying the above assignment will be an error. Martin
a couple of diagnostics are that the expression matrix itself it does
seem to have been replaced:
dim(exprs(example.lumi))
[1] 100 4
and the "exprs<-" method does not seem to be explicitely defined for
'LumiBatch' objects:
showMethods("exprs")
Function: exprs (package Biobase)
object="AffyBatch"
object="ExpressionSet"
object="MethyLumiSet"
object="SnpSet"
so i guess something is not working at the interaction of
Biobase::exprs<- and LumiBatch-class, whether this should be fixed at
Biobase or lumi, have no idea.
thanks!
robert.
ps: sessionInfo()
> sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: x86_64-unknown-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=en_US.UTF8 LC_NUMERIC=C
LC_TIME=en_US.UTF8
[4] LC_COLLATE=en_US.UTF8 LC_MONETARY=en_US.UTF8
LC_MESSAGES=en_US.UTF8
[7] LC_PAPER=en_US.UTF8 LC_NAME=C LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF8
LC_IDENTIFICATION=C
attached base packages:
[1] parallel stats graphics grDevices utils datasets methods
base
other attached packages:
[1] lumi_2.14.1 Biobase_2.22.0 BiocGenerics_0.8.0
vimcom_0.9-92
[5] setwidth_1.0-3 colorout_1.0-1
loaded via a namespace (and not attached):
[1] affy_1.40.0 affyio_1.30.0 annotate_1.40.0
[4] AnnotationDbi_1.24.0 base64_1.1 beanplot_1.1
[7] BiocInstaller_1.12.0 biomaRt_2.18.0 Biostrings_2.30.1
[10] bitops_1.0-6 BSgenome_1.30.0 bumphunter_1.2.0
[13] codetools_0.2-8 colorspace_1.2-4 DBI_0.2-7
[16] digest_0.6.4 doRNG_1.5.5 foreach_1.4.1
[19] genefilter_1.44.0 GenomicFeatures_1.14.2 GenomicRanges_1.14.4
[22] grid_3.0.2 illuminaio_0.4.0 IRanges_1.20.6
[25] iterators_1.0.6 itertools_0.1-1 KernSmooth_2.23-10
[28] lattice_0.20-24 limma_3.18.7 locfit_1.5-9.1
[31] MASS_7.3-29 Matrix_1.1-1.1 matrixStats_0.8.14
[34] mclust_4.2 methylumi_2.8.0 mgcv_1.7-27
[37] minfi_1.8.9 multtest_2.18.0 nleqslv_2.1
[40] nlme_3.1-113 nor1mix_1.1-4 pkgmaker_0.17.4
[43] preprocessCore_1.24.0 RColorBrewer_1.0-5 RCurl_1.95-4.1
[46] registry_0.2 reshape_0.8.4 R.methodsS3_1.6.1
[49] rngtools_1.2.3 Rsamtools_1.14.2 RSQLite_0.11.4
[52] rtracklayer_1.22.0 siggenes_1.36.0 splines_3.0.2
[55] stats4_3.0.2 stringr_0.6.2 survival_2.37-4
[58] tools_3.0.2 XML_3.98-1.1 xtable_1.7-1
[61] XVector_0.2.0 zlibbioc_1.8.0
________________________________________________________________________ devteam-bioc mailing list To unsubscribe from this mailing list send a blank email to devteam-bioc-leave at lists.fhcrc.org You can also unsubscribe or change your personal options at https://lists.fhcrc.org/mailman/listinfo/devteam-bioc
Computational Biology / Fred Hutchinson Cancer Research Center 1100 Fairview Ave. N. PO Box 19024 Seattle, WA 98109 Location: Arnold Building M1 B861 Phone: (206) 667-2793
An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/bioc-devel/attachments/20140110/9531bbb2/attachment.pl>
hi Martin, along the lines of the situation that Kasper describes, my use case is that GSVA transforms a matrix of expression values of genes-by-samples into a matrix of summary expression values of pathways-by-samples. When the input is an 'ExpressionSet' object, GSVA simply does something like this (sketched): pwysbysamplesmatrix <- gsva(exprs(inputGeneExpressionSet), geneSets) outputPwyEset <- inputGeneExpressionEset exprs(outputPwyEset) <- pwysbysamplesmatrix annotation(outputPwyEset) <- "" so the first dimension of the ExpressionSet object is reduced from tens of thousands of genes to hundreds or thousands of pathways (=gene sets). i thought this was a valid way to do it, let me know what should be the correct route. robert.
On 01/10/2014 03:59 PM, Kasper Daniel Hansen wrote:
Unfortunately, you may want to be careful about making it too robust
(depending on what you mean). For example filtering methods could very
well be seen as replacing one matrix with a smaller one. Not sure if
these methods use exprs<-, but that is probably how I would do it.
What would be better is if in the process of doing the replacement, the
other slots are harmonized in a relevant way. That would require row
names on the replacement matrix.
Kasper
On Fri, Jan 10, 2014 at 9:52 AM, Martin Morgan <mtmorgan at fhcrc.org
<mailto:mtmorgan at fhcrc.org>> wrote:
On 01/10/2014 12:07 AM, Maintainer wrote:
dear maintainers of Biobase and lumi,
this is a question raised from a different thread a few days ago
here:
https://stat.ethz.ch/__pipermail/bioc-devel/2014-__January/005129.html
<https://stat.ethz.ch/pipermail/bioc-devel/2014-January/005129.html>
the matrix of genes by samples expression values in an
'ExpressionSet'
object can be accessed and replaced with the "exprs<-" method
and this
changes automatically the dimension of the 'ExpressionSet' object as
illustrated in the following example:
library(Biobase)
data(sample.ExpressionSet)
dim(sample.ExpressionSet)
Features Samples
500 26
exprs(sample.ExpressionSet) <- matrix(rnorm(2600), nrow=100)
dim(sample.ExpressionSet)
Features Samples
100 26
however, this does not seem to be happening with 'LumiBatch' objects
which are an extension of 'ExpressionSet' objects:
library(lumi)
data(example.lumi)
dim(example.lumi)
Features Samples
8000 4
exprs(example.lumi) <- matrix(rnorm(400), nrow=100)
dim(example.lumi) ## NOTE NOW THAT DIMENSION DOES NOT CHANGE!!
Features Samples
8000 4
actually, the expression values have been replaced
> dim(exprs(example.lumi))
[1] 100 4
but the object is no longer valid
> validObject(example.lumi)
Error in validObject(example.lumi) :
invalid class "LumiBatch" object: row numbers differ for
assayData members
This is also true of the ExpressionSet example (the object is no
longer valid), it's just that the dims are taken from a different
location so reflect the addition.
The user should be providing expression values with the same
dimensions (and with the same dimnames) as the original. I think the
intended use case was more along the lines of replacing the
expression matrix with say a transformed version, exprs(x) =
log(exprs(x)).
Obviously Biobase shouldn't be allowing the user to see an invalid
object, but the design of the package does not make it easy to
enforce this; I'll work on providing something more robust, but the
end result of trying the above assignment will be an error.
Martin
a couple of diagnostics are that the expression matrix itself it
does
seem to have been replaced:
dim(exprs(example.lumi))
[1] 100 4
and the "exprs<-" method does not seem to be explicitely defined for
'LumiBatch' objects:
showMethods("exprs")
Function: exprs (package Biobase)
object="AffyBatch"
object="ExpressionSet"
object="MethyLumiSet"
object="SnpSet"
so i guess something is not working at the interaction of
Biobase::exprs<- and LumiBatch-class, whether this should be
fixed at
Biobase or lumi, have no idea.
thanks!
robert.
ps: sessionInfo()
> sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: x86_64-unknown-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=en_US.UTF8 LC_NUMERIC=C
LC_TIME=en_US.UTF8
[4] LC_COLLATE=en_US.UTF8 LC_MONETARY=en_US.UTF8
LC_MESSAGES=en_US.UTF8
[7] LC_PAPER=en_US.UTF8 LC_NAME=C
LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF8
LC_IDENTIFICATION=C
attached base packages:
[1] parallel stats graphics grDevices utils datasets
methods
base
other attached packages:
[1] lumi_2.14.1 Biobase_2.22.0 BiocGenerics_0.8.0
vimcom_0.9-92
[5] setwidth_1.0-3 colorout_1.0-1
loaded via a namespace (and not attached):
[1] affy_1.40.0 affyio_1.30.0
annotate_1.40.0
[4] AnnotationDbi_1.24.0 base64_1.1 beanplot_1.1
[7] BiocInstaller_1.12.0 biomaRt_2.18.0
Biostrings_2.30.1
[10] bitops_1.0-6 BSgenome_1.30.0 bumphunter_1.2.0
[13] codetools_0.2-8 colorspace_1.2-4 DBI_0.2-7
[16] digest_0.6.4 doRNG_1.5.5 foreach_1.4.1
[19] genefilter_1.44.0 GenomicFeatures_1.14.2
GenomicRanges_1.14.4
[22] grid_3.0.2 illuminaio_0.4.0 IRanges_1.20.6
[25] iterators_1.0.6 itertools_0.1-1
KernSmooth_2.23-10
[28] lattice_0.20-24 limma_3.18.7 locfit_1.5-9.1
[31] MASS_7.3-29 Matrix_1.1-1.1
matrixStats_0.8.14
[34] mclust_4.2 methylumi_2.8.0 mgcv_1.7-27
[37] minfi_1.8.9 multtest_2.18.0 nleqslv_2.1
[40] nlme_3.1-113 nor1mix_1.1-4 pkgmaker_0.17.4
[43] preprocessCore_1.24.0 RColorBrewer_1.0-5 RCurl_1.95-4.1
[46] registry_0.2 reshape_0.8.4 R.methodsS3_1.6.1
[49] rngtools_1.2.3 Rsamtools_1.14.2 RSQLite_0.11.4
[52] rtracklayer_1.22.0 siggenes_1.36.0 splines_3.0.2
[55] stats4_3.0.2 stringr_0.6.2 survival_2.37-4
[58] tools_3.0.2 XML_3.98-1.1 xtable_1.7-1
[61] XVector_0.2.0 zlibbioc_1.8.0
____________________________________________________________________________
devteam-bioc mailing list
To unsubscribe from this mailing list send a blank email to
devteam-bioc-leave at lists.__fhcrc.org
<mailto:devteam-bioc-leave at lists.fhcrc.org>
You can also unsubscribe or change your personal options at
https://lists.fhcrc.org/__mailman/listinfo/devteam-bioc
<https://lists.fhcrc.org/mailman/listinfo/devteam-bioc>
--
Computational Biology / Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N.
PO Box 19024 Seattle, WA 98109
Location: Arnold Building M1 B861
Phone: (206) 667-2793 <tel:%28206%29%20667-2793>
_________________________________________________
Bioc-devel at r-project.org <mailto:Bioc-devel at r-project.org> mailing list
https://stat.ethz.ch/mailman/__listinfo/bioc-devel
<https://stat.ethz.ch/mailman/listinfo/bioc-devel>
Robert Castelo, PhD Associate Professor Dept. of Experimental and Health Sciences Universitat Pompeu Fabra (UPF) Barcelona Biomedical Research Park (PRBB) Dr Aiguader 88 E-08003 Barcelona, Spain telf: +34.933.160.514 fax: +34.933.160.550
An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/bioc-devel/attachments/20140110/dce0bfa7/attachment.pl>
An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/bioc-devel/attachments/20140110/3f6528bf/attachment.pl>
hi Kasper, you're right. i should have done this upfront, this was too much S4 magic to be true :) cheers, robert.
On 1/10/14 5:14 PM, Kasper Daniel Hansen wrote:
Robert: The alternative to using exprs<- is to instantiate a new object, just copying the old phenodata. Kasper On Fri, Jan 10, 2014 at 10:58 AM, Levi Waldron <levi.waldron at hunter.cuny.edu
wrote: On Fri, Jan 10, 2014 at 9:59 AM, Kasper Daniel Hansen < kasperdanielhansen at gmail.com> wrote:
Unfortunately, you may want to be careful about making it too robust (depending on what you mean). For example filtering methods could very well be seen as replacing one matrix with a smaller one. Not sure if these methods use exprs<-, but that is probably how I would do it. What would be better is if in the process of doing the replacement, the other slots are harmonized in a relevant way. That would require row names on the replacement matrix.
I suspect I also have used exprs<- to change the number of rows of an ExpressionSet during analyses, when there were no featureData. Not that I mind changing, but it may not be unusual "out there."
[[alternative HTML version deleted]]
_______________________________________________ Bioc-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel
An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/bioc-devel/attachments/20140110/98a8c3a2/attachment.pl>