Nimblegen / Ringo / Preprocess error: inherits(myRG, "RGList") is not TRUE
2
0
Entering edit mode
@jean-yves-sgro-3464
Last seen 11 months ago
United States
Madison, 20 may 2009Hello all, I was wondering if anyone would have an idea about the error I describe below:SessionInfo() at the very end of the mail.Data: Nimblegen arrays for methylation. Chips are new high density chips.Method: use functions in the Ringo package to read-in the data that is then supposed to become an RGList based on the limma package:The read-in method is a bit convoluted but I followed the example in the Ringo package and in the supplement to the paper "Analuzing ChIP-chip data using Bioconductor" - Toedling and Huber - PLOS Nov 2008 vol 4 Issue 11:First the spottypes.txt file describing spots:$cat spottypes.txt SpotType GENE_EXPR_OPTION PROBE_ID Color Probe BLOCK1 * blackThen the text files containing the names of the 2-color data- there are 3 files but here is the first one:$ cat files_hyb1.txt SlideNumber FileNameCy3 FileNameCy5 Species Cy3 Cy5 HYB12um Hyb1_532.pair Hyb1_635.pair Homo sapiens (human) C3 C5Then read-in the data according to the paper:> library(Ringo) > sprintf("files_hyb%d.txt",1:3) [1] "files_hyb1.txt" "files_hyb2.txt" "files_hyb3.txt" > RGs <- lapply(sprintf("files_hyb%d.txt",1:3),readNimblegen, "spottypes.txt", path=".") Reading targets file... Reading raw intensities... Read header information Read ./Hyb1_532.pair Read ./Hyb1_635.pair Determining probe categories... Matching patterns for: GENE_EXPR_OPTION PROBE_ID Found 2170021 Probe Setting attributes: values Color [...etc...] > head(RGs[[1]]$R) Hyb1_635 [1,] 3062.94 [2,] 3881.24 [3,] 3863.27 [4,] 14933.02 [5,] 6925.96 [6,] 8083.06 >> print(RGs) [[1]] An object of class "RGList"$R [1] 3062.94 3881.24 3863.27 14933.02 6925.96 2173621 more rows ...$G [1] 3316.29 4459.45 4492.16 15431.71 7694.10 2173621 more rows ...$Rb [1] 0 0 0 0 0 2173621 more rows ...$Gb [1] 0 0 0 0 0 2173621 more rows ...$genes GENE_EXPR_OPTION PROBE_ID POSITION X Y Status 1 BLOCK1 BD_10X23FS000000445 445 689 1253 Probe> class(RGs) [1] "list" > So it does say that is is an object of class RGList....Reading further in the Ringo vignette I found the following:Among the provided alternative preprocessing options is also the Tukey-biweight scaling procedure that NimbleGen have used to scale ChIP-chip readouts so that the data is centered on zero. > exampleX.NG <- preprocess(exRG, method="nimblegen") > sampleNamesexampleX.NG) <- sampleNames(exampleX)So I tried to apply that to the RG list I just created but have an "inherit" error:> RGs.NG <- preprocess(RGs, method ="nimblegen") Error: inherits(myRG, "RGList") is not TRUEI therefore tried other variation, including a suggestion on the BioConductor listserv but the error persists:> xyz <- preprocess(RGs, method="loess", returnMAList=TRUE) Error: inherits(myRG, "RGList") is not TRUE > xyz <- preprocess(RGs[RGs$genes$Status=="Probe",], method="loess", returnMAList=TRUE) Error in RGs[RGs$genes$Status == "Probe", ] : incorrect number of dimensionsQuestion: where does this "inherit" problem comes from ?The Nimblegen data files (.pair files) are longer because it is a high density array but that should not change the type of the data structure I would think.Thank you for any suggestions ,Jean-Yves Sgro - jsgro@wisc.edu------------------------------------------------ Jean-Yves Sgro, Ph.D., Senior Scientist http://myprofile.cos.com/sgroj65 ------------------------------------------------ University of Wisconsin Biotechnology Center Gene Expression Center 425 Henry Mall Madison Wi 53706 USA http://www.biotech.wisc.edu/ServicesResearch/Gec/ Fax: 608-262-6748 ------------------------------------------------ & Institute for Molecular Virology 1525 Linden Drive Madison WI 53706 tel: 608-262-7464 http://virology.wisc.edu/virusworld ------------------------------------------------> sessionInfo() R version 2.9.0 (2009-04-17) x86_64-redhat-linux-gnulocale: LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=en_US.UTF-8;LC_COLLATE=en_US .UTF-8;LC_MONETARY=C;LC_MESSAGES=en_US.UTF-8;LC_PAPER=en_US.UTF-8;LC_N AME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=en_US.UTF-8;LC_IDENTI FICATION=Cattached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] Ringo_1.8.0 Matrix_0.999375-24 lattice_0.17-22 limma_2.18.0 [5] RColorBrewer_1.0-2 Biobase_2.4.1 loaded via a namespace (and not attached): [1] annotate_1.22.0 AnnotationDbi_1.6.0 DBI_0.2-4 [4] genefilter_1.24.0 grid_2.9.0 RSQLite_0.6-8 [7] splines_2.9.0 survival_2.35-4 xtable_1.5-5 > [[alternative HTML version deleted]]
0
Entering edit mode
@jean-yves-sgro-3464
Last seen 11 months ago
United States
Thank you Joern for the explanation. The arrays I have are all the same, they are simply ducplicates. I will follow your suggestion to use only one file to list all of them and re-run the lapply command. Hopefully that will make the RGList suitable for further use. Thank you again, Sincerely, Jean-Yves ------------------------------------------------ On Thu, 5/21/09, Joern Toedling <joern.toedling at="" curie.fr=""> wrote: From: Joern Toedling <joern.toedling@curie.fr> Subject: Re: [BioC] Nimblegen / Ringo / Preprocess error: inherits(myRG, "RGList") is not TRUE To: jsgro at wisc.edu, bioconductor at stat.math.ethz.ch Date: Thursday, May 21, 2009, 9:37 AM Hello Jean-Yves, I think I can explain the "inherits" confusion. In the PLoS tutorial we analyzed data from a multi-array platform, so probes representing the selected regions of the genome were distributed over four arrays. So we normalized the arrays of each type (with the same set of probes) separately. That is why we used this list called RGs. This is really a "standard" list, but each element of the list is an object of class "RGList". If you look into the tutorial, the normalization there is also done in a lapply loop. Are your arrays also three arrays with different sets of probes? If so, then you could probably use the same approach. If not, you could create only one hybes-file for the three arrays, obtain a single RGList and normalize it (an example of this simpler kind is shown in the vignette of the package Ringo). Hope this helps. Best regards, Joern P.S.: The Ringo package has already seen a bit of development since the last Bioconductor release, and it should be stable and work with the older versions of other packages. Please consider downloading the pre-compiled binary from the bioconductor web page http://www.bioconductor.org/packages/devel/bioc/html/Ringo.html and using it. ---------------------------------------------------------------------- -- On Wed, 20 May 2009 15:12:29 -0500, JEAN-YVES SGRO wrote > Madison, 20 may 2009 > > Hello all, I was wondering if anyone would have > an idea about the error I describe below: > >SessionInfo() at the very end of the mail. > > Data: Nimblegen arrays for methylation. Chips are > new high density chips. > > Method: use functions in the Ringo package to > read-in the data that is then supposed to become an RGList based on > the limma package: The read-in method is a bit convoluted but I > followed the example in the Ringo package and in the supplement to > the paper "Analuzing ChIP-chip data using Bioconductor" - Toedling > and Huber - PLOS Nov 2008 vol 4 Issue 11: > > First the spottypes.txt > file describing spots:$cat spottypes.txt SpotType > GENE_EXPR_OPTION PROBE_ID Color Probe BLOCK1 * black > > Then the text files containing the names of the 2-color data- > there are 3 files but here is the first one: >$ cat files_hyb1.txt > SlideNumber FileNameCy3 FileNameCy5 Species Cy3 Cy5 > HYB12um Hyb1_532.pair Hyb1_635.pair Homo sapiens (human) C3 C5 > > Then read-in the data according to the paper: >> library(Ringo) > >> sprintf("files_hyb%d.txt",1:3) > [1] "files_hyb1.txt" "files_hyb2.txt" "files_hyb3.txt" > > RGs <- lapply(sprintf("files_hyb%d.txt",1:3),readNimblegen, "spottypes.txt", path=".") > Reading targets file... > Reading raw intensities... > Read header information > Read ./Hyb1_532.pair > Read ./Hyb1_635.pair > Determining probe categories... > Matching patterns for: GENE_EXPR_OPTION PROBE_ID > Found 2170021 Probe > Setting attributes: values Color > [...etc...] > > > head(RGs[[1]]$R) > Hyb1_635 > [1,] 3062.94 > [2,] 3881.24 > [3,] 3863.27 > [4,] 14933.02 > [5,] 6925.96 > [6,] 8083.06 > >> print(RGs) > [[1]] > An object of class "RGList" >$R > [1] 3062.94 3881.24 3863.27 14933.02 6925.96 > 2173621 more rows ... > $G > [1] 3316.29 4459.45 4492.16 15431.71 7694.10 > 2173621 more rows ... >$Rb > [1] 0 0 0 0 0 > 2173621 more rows ... > $Gb > [1] 0 0 0 0 0 > 2173621 more rows ... >$genes > GENE_EXPR_OPTION PROBE_ID POSITION X Y Status > 1 BLOCK1 BD_10X23FS000000445 445 689 1253 Probe > > class(RGs) [1] "list" > > So it does say that is is an object of class RGList....Reading further in > the Ringo vignette I found the following: > Among the provided alternative preprocessing options is also the Tukey-biweight scaling > procedure that NimbleGen have used to scale ChIP-chip readouts so that the data is centered > on zero. > > exampleX.NG <- preprocess(exRG, method="nimblegen") > > sampleNamesexampleX.NG) <- sampleNames(exampleX) > > So I tried to apply that to the RG list I just created but have an > "inherit" error: >> RGs.NG <- preprocess(RGs, method ="nimblegen") >> Error: inherits(myRG, "RGList") is not TRUE > > I therefore tried other variation, including a suggestion on the BioConductor listserv but > the error persists: >> xyz <- preprocess(RGs, method="loess", >> returnMAList=TRUE) Error: inherits(myRG, "RGList") is not TRUE > > > xyz <- preprocess(RGs[RGs$genes$Status=="Probe",], method="loess", returnMAList=TRUE) > Error in RGs[RGs$genes$Status == "Probe", ] : > incorrect number of dimensions > > Question: where does this "inherit" problem comes from ? > The Nimblegen data files (.pair files) are > longer because it is a high density array but that should not change > the type of the data structure I would think. > Thank you for any suggestions, Jean-Yves Sgro - jsgro at wisc.edu > ------------------------------------------------ > Jean-Yves Sgro, Ph.D., Senior Scientist > http://myprofile.cos.com/sgroj65 > ------------------------------------------------ > University of Wisconsin > Biotechnology Center Gene Expression Center > 425 Henry Mall Madison Wi 53706 USA > http://www.biotech.wisc.edu/ServicesResearch/Gec/ > Fax: 608-262-6748 > ------------------------------------------------ > & Institute for Molecular Virology > 1525 Linden Drive Madison WI 53706 > tel: 608-262-7464 --- Joern Toedling Institut Curie -- UMR218 26 rue d'Ulm, 75005 Paris, FRANCE Tel. +33 (0)156246942
0
Entering edit mode
@joern-toedling-3465
Last seen 8.1 years ago
Hello Jean-Yves, I think I can explain the "inherits" confusion. In the PLoS tutorial we analyzed data from a multi-array platform, so probes representing the selected regions of the genome were distributed over four arrays. So we normalized the arrays of each type (with the same set of probes) separately. That is why we used this list called RGs. This is really a "standard" list, but each element of the list is an object of class "RGList". If you look into the tutorial, the normalization there is also done in a lapply loop. Are your arrays also three arrays with different sets of probes? If so, then you could probably use the same approach. If not, you could create only one hybes-file for the three arrays, obtain a single RGList and normalize it (an example of this simpler kind is shown in the vignette of the package Ringo). Hope this helps. Best regards, Joern P.S.: The Ringo package has already seen a bit of development since the last Bioconductor release, and it should be stable and work with the older versions of other packages. Please consider downloading the pre-compiled binary from the bioconductor web page http://www.bioconductor.org/packages/devel/bioc/html/Ringo.html and using it. On Wed, 20 May 2009 15:12:29 -0500, JEAN-YVES SGRO wrote > Madison, 20 may 2009Hello all, I was wondering if anyone would have > an idea about the error I describe below:SessionInfo() at the very > end of the mail.Data: Nimblegen arrays for methylation. Chips are > new high density chips.Method: use functions in the Ringo package to > read-in the data that is then supposed to become an RGList based on > the limma package:The read-in method is a bit convoluted but I > followed the example in the Ringo package and in the supplement to > the paper "Analuzing ChIP-chip data using Bioconductor" - Toedling > and Huber - PLOS Nov 2008 vol 4 Issue 11:First the spottypes.txt > file describing spots:$cat spottypes.txt SpotType > GENE_EXPR_OPTION PROBE_ID Color Probe BLOCK1 * > blackThen the text files containing the names of the 2-color data- > there are 3 files but here is the first one:$ cat files_hyb1.txt > SlideNumber FileNameCy3 FileNameCy5 Species Cy3 Cy5 > HYB12um Hyb1_532.pair Hyb1_635.pair Homo sapiens (human) C3 > C5Then read-in the data according to the paper:> library(Ringo) > > sprintf("files_hyb%d.txt",1:3) > [1] "files_hyb1.txt" "files_hyb2.txt" "files_hyb3.txt" > > RGs <- lapply(sprintf("files_hyb%d.txt",1:3),readNimblegen, "spottypes.txt", path=".") > Reading targets file... > Reading raw intensities... > Read header information > Read ./Hyb1_532.pair > Read ./Hyb1_635.pair > Determining probe categories... > Matching patterns for: GENE_EXPR_OPTION PROBE_ID > Found 2170021 Probe > Setting attributes: values Color > [...etc...] > > head(RGs[[1]]$R) > Hyb1_635 > [1,] 3062.94 > [2,] 3881.24 > [3,] 3863.27 > [4,] 14933.02 > [5,] 6925.96 > [6,] 8083.06 > >> print(RGs) > [[1]] > An object of class "RGList" >$R > [1] 3062.94 3881.24 3863.27 14933.02 6925.96 > 2173621 more rows ...$G > [1] 3316.29 4459.45 4492.16 15431.71 7694.10 > 2173621 more rows ...$Rb > [1] 0 0 0 0 0 > 2173621 more rows ...$Gb > [1] 0 0 0 0 0 > 2173621 more rows ...$genes > GENE_EXPR_OPTION PROBE_ID POSITION X Y Status > 1 BLOCK1 BD_10X23FS000000445 445 689 1253 Probe> > class(RGs) [1] "list" > > So it does say that is is an object of class RGList....Reading further in the Ringo vignette I found the following:Among the provided alternative preprocessing options is also the Tukey-biweight scaling procedure that NimbleGen have used to scale ChIP-chip readouts so that the data is centered on zero. > > exampleX.NG <- preprocess(exRG, method="nimblegen") > > sampleNamesexampleX.NG) <- sampleNames(exampleX)So I tried to apply that to the RG list I just created but have an "inherit" error:> RGs.NG <- preprocess(RGs, method ="nimblegen") > Error: inherits(myRG, "RGList") is not TRUEI therefore tried other > variation, including a suggestion on the BioConductor listserv but > the error persists:> xyz <- preprocess(RGs, method="loess", > returnMAList=TRUE) Error: inherits(myRG, "RGList") is not TRUE > > > xyz <- preprocess(RGs[RGs$genes$Status=="Probe",], method="loess", returnMAList=TRUE) > Error in RGs[RGs$genes$Status == "Probe", ] : > incorrect number of dimensionsQuestion: where does this "inherit" > problem comes from ?The Nimblegen data files (.pair files) are > longer because it is a high density array but that should not change > the type of the data structure I would think.Thank you for any > suggestions,Jean-Yves Sgro - jsgro at wisc.edu-------------------------- > ---------------------- Jean-Yves Sgro, Ph.D., Senior Scientist http://myprofile.cos.com/sgroj65 > ------------------------------------------------ > University of Wisconsin > Biotechnology Center Gene Expression Center > 425 Henry Mall Madison Wi 53706 USA > http://www.biotech.wisc.edu/ServicesResearch/Gec/ > Fax: 608-262-6748 > ------------------------------------------------ > & Institute for Molecular Virology > 1525 Linden Drive Madison WI 53706 > tel: 608-262-7464 --- Joern Toedling Institut Curie -- UMR218 26 rue d'Ulm, 75005 Paris, FRANCE Tel. +33 (0)156246942